블로그 이미지
조이키트 블로그
아두이노, 라즈베리파이, 반도체 센서/모듈 활용

calendar

1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

Notice

250x250
728x90
반응형

TEA5767

 

TEA5767 라디오 모듈은 라디오 수신을 위한 인기 있는 모듈 중 하나이다.

이 모듈은 다양한 라디오 수신기에 사용되며, 아날로그 FM 라디오 수신을 가능하게 한다.

주로 아두이노와 같은 마이크로컨트롤러와 함께 사용되어 프로젝트에 라디오 수신 기능을 추가할 때 편리하게 활용된다.

TEA5767 모듈은 I2C 인터페이스를 통해 제어되며, 사용자는 주파수, 볼륨 및 기타 설정을 조정할 수 있다.

이 모듈은 낮은 전력 소비와 높은 성능을 제공하여 휴대용 라디오에 이상적이다.

 

"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."

https://link.coupang.com/a/b13Sh8

 

TEA5767 라디오 모듈 - 라디오 | 쿠팡

쿠팡에서 0.0 구매하고 더 많은 혜택을 받으세요! 지금 할인중인 다른 0 제품도 바로 쿠팡에서 확인할 수 있습니다.

www.coupang.com

https://link.coupang.com/a/b2vSOT

 

ATmega328P 마이크로 컨트롤러가 있는 아두이노 우노 R3 개발 보드 - 액세서리 | 쿠팡

쿠팡에서 0.0 구매하고 더 많은 혜택을 받으세요! 지금 할인중인 다른 0 제품도 바로 쿠팡에서 확인할 수 있습니다.

www.coupang.com

https://link.coupang.com/a/b2vTO0

 

아두이노 LCD1602 16x2 4핀 디스플레이 모듈/ Arduino LCD1602 Module - 액세서리 | 쿠팡

쿠팡에서 0.0 구매하고 더 많은 혜택을 받으세요! 지금 할인중인 다른 0 제품도 바로 쿠팡에서 확인할 수 있습니다.

www.coupang.com

 

TEA5767 아두이노 우노 R3 LCD 1602

 

이예제는 TEA5767 라디오 모듈을 사용하여 시리얼 모니터의 주파수 값을 키보드 "+" 와 "-"으로 조정하는 예제이다.

주파수 현시는 LCD 1602 디스플레이 모듈을 사용하였다.

 

회로 연결:

TEA5767  VCC  아두이노 5V
TEA5767  GND
아두이노 GND
TEA5767  SDA 아두이노 SDA
TEA5767  SCL 아두이노 SCL
LCD1602 VCC 아두이노 5V
LCD1602 GND 아두이노 GND
LCD1602 SDA 아두이노 A4
LCD1602 SCL
아두이노 A5

 

아두이노 라디오 회로도

 

전체 코딩:

#include <Wire.h>
#include <TEA5767Radio.h>
#include <LiquidCrystal_I2C.h>  // LCE패널 함수 선언

unsigned char frequencyH = 0;
unsigned char frequencyL = 0;
unsigned int frequencyB;

double frequency = 0;
LiquidCrystal_I2C lcd (0x27,16,2);   

void setup()
{
  lcd.init();           // LCD 초기화
  lcd.backlight();      // LCD 뒷 전등 켬
  Wire.begin();
  frequency = 88.7; //starting frequency
  setFrequency();
  Serial.begin(9600);
  Serial.println(frequency);
}

void loop()
{
  if(Serial.available()) {
    int rc = Serial.read();
    if(rc == '+' && frequency <= 108.0) {
      frequency += 0.1;
      setFrequency();
      Serial.println(frequency);
    } else if(rc == '-' && frequency >= 88.0) {
      frequency -= 0.1;
      setFrequency();
      Serial.println(frequency);
    } 
  }

  // LCD의 커서를 첫번째 열에 첫번째행으로 설정     
  lcd.setCursor(0, 0);

  // 측정된 주파수 값을 LCD에현시
  lcd.print("RADIO FM:");
  lcd.print(frequency);     //주파수
  lcd.print("Hz");
}

void setFrequency()
{
  frequencyB = 4 * (frequency * 1000000 + 225000) / 32768;
  frequencyH = frequencyB >> 8;
  frequencyL = frequencyB & 0XFF;
  delay(100);
  Wire.beginTransmission(0x60);
  Wire.write(frequencyH);
  Wire.write(frequencyL);
  Wire.write(0xB0);
  Wire.write(0x10);
  Wire.write((byte)0x00);
  Wire.endTransmission();
  delay(100);  
}

 

위와 같이 회로 연결을 한다음 코딩을 하고 파일을 업로드 한다.

다음 아두이노 IDE의 Tools 메뉴에서 Serial Monitor를 선택한다.

그리고 키보드의 "+"를 누르면 주파수가 하나씩 증가하고, "-"를 누르면 주파수가 하나씩 감소하는 것을 볼 수 있다.

다음은 주파수가 증가하는 모습니다. 

시리얼 모니터 출력결과

 

시리얼 모니터 출력과 LCD1602  출력 결과

 

https://www.youtube.com/watch?v=O7S4utZjfj4

 

728x90
반응형
posted by 조이키트 블로그