반응형

【 아두이노 기초 】 #13 멜로디 출력 실습 II



 지난시간 스피커를 통해 멜로디를(Melody)를(도.레.미...)를 출력 출력해보았다. 이번 시간에는 국민 멜로디인 '학교종이 땡땡땡~'을 연주해보도록 하겠다.

동작이 잘 된다면 다른 멜로디도 작성해보면 재미 있을 것이다.



▶ 실물 회로도면 :



▶ 실제 회로 구성 모습 



▶ 부대품 목록 : 아두이노 보드, 브레드 보드


▶ 부품 목록    : 스피커, 저항 (100Ω) 


▶ 회로 도면   : 


※ 스피커는 일단 타입의 소형 스피커 혹은 피에조 스피커 등 사용해보고 소리가 비교적 잘 들리는 것을 선택한다. 


▶ 실습 절차  : 



▶ 프로그램 (코드& 설명) : 


 


▶ 실행 영상 : 

  


제대로 동작 하려면, Pitches.h 라이브러리가 설치 되어 있어야 한다. 

라이브러리가 등록이 되어 있지 않으면 아래와 같은 에러가 나타난다. 


"exit status 1 보드 Arduino/Genuino Uno 컴파일 에러" 와 같은 에러가 나는 경우 아래 첨부파일에 있는 헤더파일(.h)을 아두이노 스케치의 라이브러리에 추가 해주어야 한다. 


만약 이와 같은 에러가 발생할 경우,  

아래 에러 해결 글을 참조 할 것




▶ 아두이노 코드 다운로드 : 


pitches.h

sketch_Melody2schoolbell.ino





반응형
반응형

【 아두이노 기초 】 #12 멜로디 출력 실습 I




 스피커를 통해 멜로디를(Melody) 출력해본다. 

단순한 멜로디출력이지만 음이 만들어지는 원리와 음의 주파수에 대해 이해할 수 있게 된다. 



▶ 실물 회로도면 :



▶ 실제 회로 구성 모습 



▶ 부대품 목록 : 아두이노 보드, 브레드 보드


▶ 부품 목록    : 스피커, 저항 (100Ω) 


▶ 회로 도면   : 


※ 스피커는 일단 타입의 소형 스피커 혹은 피에조 스피커 등 사용해보고 소리가 비교적 잘 들리는 것을 선택한다. 


▶ 실습 절차  : 



▶ 프로그램 (코드& 설명) : 


  


▶ 실행 영상 : 

  




※ 다음 글에서는 간단한 음악을 플레이 해보도록 하겠다


제대로 동작 하려면, Pitches.h 라이브러리가 설치 되어 있어야 한다. 

라이브러리가 등록이 되어 있지 않으면 아래와 같은 에러가 나타난다. 


"exit status 1 보드 Arduino/Genuino Uno 컴파일 에러" 와 같은 에러가 나는 경우 아래 첨부파일에 있는 헤더파일(.h)을 아두이노 스케치의 라이브러리에 추가 해주어야 한다. 

만약 이와 같은 에러가 발생할 경우,  

아래 에러 해결 글을 참조 할 것

클릭! 컴파일 에러 잡기 



▶ 아두이노 코드 다운로드 : 


sketch_Melody.ino

pitches.h



 

[ 회로 설명 ]


위  LM386은 IC 는  OPAMP  IC 의 한 종류이고, 

저전압 오디오 신호를 증폭해 주는 IC 입니다.


3번 핀에 가변저항을 이용하여 입력 Audio(음성) 신호가 입력이 되고 5번 핀 출력에 증폭이 되어 나오는 회로가 됩니다. 

 ( 참고 : 1번 8번 핀에 콘덴서나 저항 등의 특별한 연결이 없을 경우 위 이미지에 표시 된 것 처럼 게인이 20 인 회로가 됩니다. 

증폭도 구하는 식 : 20log(x) = 26 db (데시벨) ,    x = 19.9...   즉, 약20배 정도의 전압 증폭을 보여줍니다. 그리고 1, 번 8번 핀에 콘덴서를 달거나 콘덴서와 저항의 조합을 달게 되면 더 올라가게 됩니다.    (26db는 IC를 제조한 회사에서 회로 데이터 시트를 다운받아 참고,  Vs에 6v, 1kHz 전압의 경우)  )


출력에 연결된 0.05uF과 10옴의 저항 회로는 출력 스피커에 의한 발진(진동)을 제거해 주는 역할 을 하게 됩니다(bypass) , 

 그리고 오디오신호(음성등의 신호)와 함께 5V 직류전압이 같이 바이어스 되어 입출력이 되는데요, 신호를 증폭하고 난 후의 5V 전압은 출력에서 제거를 하고 오디오 신호만 출력해야 합니다. 그렇지 않을 경우 스피커가 과열되거나 해서 탈 수 있습니다. 그래서 콘덴서(여기서는 250uF)를 달아서 직류 전압성분을 제거 하는 역할 을 하게 됩니다.  250uF의 콘덴서는 f=1/2πRC, 8옴의 스피커일 경우 80Hz 까지의 저음을 들을 수가 있고 더 낮은 저역통과를 원하면 콘덴서 용량을 키워 주면 됩니다.




아래는 디바이스 마트 등에서 판매하는 모노 디지털 증폭모듈(lm386) 입니다.



반응형
반응형

【 아두이노 기초 】 #11 FND 구동 실습 II



 앞서 FND에 '0'이라는 숫자를 표시해 보았다.  이제 FND에 숫자 0부터 9까지 카운트를 해보도록 하자.


참조 링크 : FND 구동실습 I 



▶ 실물 회로도면 :




▶ 부대품 목록 : 아두이노 보드, 브레드 보드


▶ 부품 목록    : FND (507, Common Anode 타입, 공통단자 +전압 연결),  220Ω 


▶ 회로 도면   : 


※ FND 는 크게 Anode(# 507) 타입과 cathode (#500) 타입 두 가지로 나뉜다. cathode(음극) 타입은 공통단자가 GND(그라운드, : 흔히 말하는 -마이너스 단자 )로 연결시켜 사용하는 타입이다. 위 도면에서 FND 내부의 LED 방향을 유심히 살펴보자. 


▶ FND 세그먼트와 핀 배치  : 

▽ #507


▽ #500





▶ 프로그램 (코드& 설명) : 


// 공통단자가 +VCC 연결인 507 Anode 타입을

// 사용할 경우 위 코드처럼 LOW를 출력해야 

// 해당 세그먼트가 켜진다  



▶ 실행 영상 : 

  



 


※ 추가로 알파벳 대문자 혹은 소문자 출력도 코딩을 해보면 좋다.


▶ 아두이노 코드 다운로드 : 

sketch_FND0to9.ino




반응형
반응형

【 아두이노 기초 】 #10 FND 구동 실습 I


 아두이노 I/O 포트 제어를 통해 FND(7 segment display)를 제어 해보자.


▶ 실물 회로도면 :




▶ 부대품 목록 : 아두이노 보드, 브레드 보드


▶ 부품 목록    : FND (507, Common Anode 타입, 공통단자 +전압 연결),  220Ω 


▶ 회로 도면   : 


※ FND 는 크게 Anode(# 507) 타입과 cathode (#500) 타입 두 가지로 나뉜다. cathode(음극) 타입은 공통단자가 GND(그라운드, : 흔히 말하는 -마이너스 단자 )로 연결시켜 사용하는 타입이다. 위 도면에서 FND 내부의 LED 방향을 유심히 살펴보자. 


▶ FND 세그먼트와 핀 배치  : 

▽ #507


▽ #500





▶ 프로그램 (코드& 설명) : 


// 공통단자가 +VCC 연결인 507 Anode 타입을

// 사용할 경우 위 코드처럼 LOW를 출력해야 

// 해당 세그먼트가 켜진다  



▶ 실행 영상 : 


  FND에 숫자 '0'을 표시해보도록 하자.  기타 원하는 숫자 혹은 위치에 LED segment를 켜보도록 연습해본다.


 



※ 다음 글에서 이번 과제에 이은 FND 구동을 위한 응용 예제를 다루어 보도록 하겠다. 


▶ 아두이노 코드 다운로드 : 

sketch_FND.ino




반응형
반응형

【 아두이노 기초 】 #09 시리얼 통신을 통한 I/O 구동 실습

 시리얼(Serial) 통신을 이용하여 아두이노의 포트 제어를 실습해 볼 수 있다.  



▶ 실물 회로도면 :




▶ 부대품 목록 : 아두이노 보드, 브레드 보드


▶ 부품 목록    : LED X 5 (보유수량 만큼),  220Ω(LED 수량 만큼) 


▶ 회로 도면   : 


※ LED 극성에 주의 한다. 


▶ 실제 연결 모습  : 


아두이노의 0, 1 번 포트는 하드웨어 시리얼 통신을 위한 TX, RX 포트 임으로 아두이노의 2번 포트 부터 사용하도록 한다.




▶ 프로그램 (코드& 설명) : 



2~5번 LED 코드 내용도 위와 같은 형태로 해서 작성한다. 



▶ 실행 영상 : 


 (전체화면으로 보세요)



※ 다음 시간에는 이런 입출력 기능을 이용하여 FND (7segment Display) 를 제어 해도도록 하겠다. 


▶ 아두이노 코드 다운로드 : 

sketch_SerialLEDon_off.ino


반응형
반응형

【 아두이노 기초 】 #08  포토레지스터( CDS ) 제어

 

 빛에 따라 저항 값이 변하는 포토레지스터, 일명 CDS를 이용하여 LED를 켜고 끄는 실습을 해보자.  빛을 차단하면 LED가 켜지고 빛에 노출되면 LED가 꺼지도록 해보자. 또는 그 반대도 가능하다.

 

 

 

 

▶ 실물 회로도면 :

 

 

 

 

▶ 부대품 목록 : 아두이노 보드, 브레드 보드

 

▶ 부품 목록    : LED, 220Ω , 10㏀, CDS

 

▶ 회로 도면   : 

 

▶ 실제 연결 모습  : 

 

 

 

▶ 프로그램 (코드& 설명) : 

 

int LED=6;         //우노에서는 디지털 포트는 숫자만 입력int LIGHT=A0;  //아날로그 포트는 A0 형태로 입력int val=0;int fix=0;
void setup() { pinMode(LED,OUTPUT); Serial.begin(9600);}
void loop() { val=analogRead(LIGHT); fix = constrain (val,0,255); analogWrite(LED, fix); Serial.println( fix ); delay(100);

 

}

 

 

▶ 프로그램 (코드 다운로드) : 

LED_CDS-6.zip
다운로드

 

 

▶ 실행 영상 : 

 

 (전체화면으로 보세요)

반응형
반응형

【 아두이노 기초 】 #07  아날로그 입력과 출력

 아두이노 보드에서 아날로그 신호를 입력하고 출력하는 기능에 대해 다루어 보고자 한다. 신호 데이터 값은 시리얼 모니터 기능을 통해 쉽게 확인이 가능하다.

 

 

 

 

▶ 실물 회로도면 :

 

 

▶ 부대품 목록 : 아두이노 보드, 브레드 보드

 

▶ 부품 목록    : 가변저항 (용량값은 무관)

 

▶ 회로 도면   : 

 

 

▶ 프로그램 (코드& 설명) : 

 

 

 

▶ 실행 영상 : 

 

 (전체화면으로 보세요)

반응형
반응형

【 아두이노 기초 】 #05 LED ON / OFF 제어 실험하기

 

 아두이노에 LED와 버튼 스위치(PB SW)를 연결하여 스위치를 통해 LED On / Off 제어하는 실험이다.

 

▶ 실물 도면 :

 

 

 

 

▶ 부대품 목록 : 아두이노 보드, 브레드 보드

▶ 부품 목록 : LED 1 개,  PB SW 1개 ,  저항 10KΩ

 

▶ 실제 연결 이미지 :

 

 

▶ 실행(동작) 영상 :

 

Button.ino
다운로드

반응형