아두이노 코딩 질문

아두이노 코딩 질문

작성일 2022.04.22댓글 1건
    게시물 수정 , 삭제는 로그인 필요

일단 기본적으로 받은 코딩인대 요기서 24시기준으로 시간과 분을 나타낸 디지털시계 제작해야되는대
도저히 아무리 찾아봐도 모르겟어서 이렇게 남겨봅니다 전문가님들 진짜 도와주십쇼ㅠㅠ 그리고 추가기능인 매 시 정각마다 뻐꾸기 처럼 소리나게 소리센서도 추가할예정인대 요것도 어떻게 넣으면될지 도움부탁드립니다ㅠㅠ
byte patterns[]={0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0X7D, 0X27, 0X7F, 0X67}; 
int pin[]={10,11,12,13,14,15,16,17};
int fnd []={5,6,7,8};
int n=0;
int count=0;
int d=5;
void setup() {
  for(int i=0; i<8; i++){
 pinMode(pin[i],OUTPUT);
  }
  for(int j=0; j<4; j++){
    pinMode(fnd[j],OUTPUT);
  }
for(int i=0; i<0; i++){
   pinMode(pin[i],OUTPUT);
  
}
}

void loop() {
   fnd_num(0,1); //1번째 fnd 선택, 숫자 1을 표시
  delay(d);
    fnd_num(1,2); //2번째 fnd선택, 숫자 2를 표시 
  delay(d);
    fnd_num(2,4);
  delay(d);
    fnd_num(3,5);
  delay(d);
  count=(count+1)%4;
  n=(n+1)%10;
  
  }

  void fnd_num(int fnd_count,int num){
    for(int j=0; j<4; j++){
    if(j==fnd_count){
       digitalWrite(fnd[j],HIGH);
     }
     else{
       digitalWrite(fnd[j],LOW);
     }
    }
    
    for(int i=0; i<8; i++){
    boolean on_off = bitRead(patterns[num],i);
    digitalWrite(pin[i], on_off);
  }
  }


#아두이노 코딩 #아두이노 코딩 프로그램 #아두이노 코딩 언어 #아두이노 코딩 예제 #아두이노 코딩 사이트 #아두이노 코딩 소스 #아두이노 코딩 작품 #아두이노 코딩 기초 #아두이노 코딩 기본 #아두이노 코딩 공부

profile_image 익명 작성일 -

뻐꾸기 소리를 내는 동안 시간이 돌아 가지 않으므로 타이머 인터럽트를 사용해서 세그먼트를 구동하도록 변경합니다.

위 링크의 예제 중 타이머 설정을 참고하세요

10ms 를 1ms로 수정합니다.

https://docs.arduino.cc/built-in-examples/digital/toneMelody

tone() 멜로디는 위 예제를 참고합니다.

#include "pitches.h" int melody[]={NOTE_C4,NOTE_G3,NOTE_G3,NOTE_A3,NOTE_G3,0,NOTE_B3,NOTE_C4}; int noteDurations[]={4,8,8,4,4,4,4,4}; // int pin[]={10,11,12,13,14,15,16,17}; int fnd[]={5,6,7,8}; // volatile byte SEG[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0X7D,0X27,0X7F,0X67}; volatile byte beep_flag=0; volatile int sec=0,min=0,hour=0; // void setup(){ for(int i=0;i<8;i++)pinMode(pin[i],OUTPUT); for(int j=0;j<4;j++)pinMode(fnd[j],OUTPUT); MsTimer2::set(1,myTimer); // 1ms 주기 MsTimer2::start(); } // void loop(){ if(beep_flag){ beep_flag=0; for(int thisNote=0;thisNote<8;thisNote++){ int noteDuration=1000/noteDurations[thisNote]; tone(9,melody[thisNote],noteDuration); int pauseBetweenNotes=noteDuration*1.30; delay(pauseBetweenNotes); noTone(9); } } } // void fnd_num(int fnd_count,int num){ for(int j=0;j<4;j++){ if(j==fnd_count)digitalWrite(fnd[j],HIGH); else digitalWrite(fnd[j],LOW); } for(int i=0;i<8;i++){ int on_off=bitRead(SEG[num],i); digitalWrite(pin[i],on_off); } } //---------------- 1ms 간격 타이머 인터럽트 void myTimer(){ static int ms=0; if(++ms>999){ ms=0; if(++sec>59){ sec=0; if(++min>59){ min=0; if(++hour>23)hour=0; beep_flag=1; } } } // switch(c){ case 0: fnd_num(0,hour/10); break; //1번째 fnd 선택,숫자 1을 표시 case 1: fnd_num(1,hour%10); break; //2번째 fnd선택,숫자 2를 표시 case 2: fnd_num(2,min/10); break; case 3: fnd_num(3,min%10); break; } if(++c>3)c=0; }

뻐꾸기 소리대신 멜로디를 코드를 넣었습니다.

제대로 동작하는지 돌려보세요

추가문의는 https://cafe.naver.com/circuitsmanual

아두이노 코딩 질문

아두이노 코딩 질문입니다. 아두이노 R3 (1개)에 여러 센서 달아서 한번에 출력 할 수 있나요?(미세 먼지 센서, 온습도 센서, 고도 센서 등) 대부분은 가능하지만 그래도...

아두이노 코딩질문

스마트팜 실험중인데 저런오류코드가뜨는데 어떻게 해결해야할까요? 해당 라이브러리 설치하시면 됩니다. 왼쪽에 책모양 누르고 dht 검색해서 설치할 수 있습니다.

아두이노 코딩 질문..

FND 에 온도값을 표시하고싶은데 숫자 0이 한칸씩 옮겨서 나타나고 온도는 안나와요ㅗ.. 코드 전문 첨부합니다. const int digitPins[4]...

아두이노 코딩 질문

이 문제를 코딩하려고 하는데 감이 안 잡힙니다 .. 도움 주실 분 계신가요 ㅠㅠ 팅커캐드 테스트 완료. 해석은 직접 하시기 바랍니다. < < > < < < >> & <

아두이노 코딩

아두이노 릴레이 코딩을 할려고 하는데 어떴게 해야 할까요?. 붙일... 만들어보세요 질문 예제는 2ms 주기로 릴레이를 제어하고 있는데요 짧은...

아두이노 코딩 질문

L298N 모터 드라이버를 사용해서, 선형 모터랑 서브 모터를 동시에 사용할 수 있나요? 네. 서보모터는 모터드라이버를 사용하지 않습니다. 따라서 전혀 문제가 없습니다.

스텝모터 아두이노 코딩 질문이요

스위치 2개가 있습니다 1번 누르면 정회전 다른 스위치 1번 누르면 역회전 이런걸 원하는데 버튼 2개다 정회전 합니다 아래 코딩한거 수정좀 해주세요...