Out Of Stock
Description
- I2C interface 5V TTL compatible
- Plug and play
- Onboard MIC
- VCC Input: 3.0V ~ 5.0V
This module contains a stereo input jack for audio input from an external device, as well as an inbuilt microphone to pick up our speech. The audio signal from the microphone is amplified and applied to the tx IC through a 9013 NPN transistor. This module's clock is a 32.768 K Crystal. This FM module is controlled by two-wire standard I2C-Microcontrollers, and the KT0803K does not require external tuning. Connect the Arduino board to the FM transmitter module. The module's Vcc pin is linked to the 3.3V power supply pin on the Arduino board, and the ground pin is connected to the Arduino board's GND pin. Because these two are I2C pins on the Uno board, I2C pins SDA and SCL are linked to A4 and A5 of the Arduino UNO board. It varies depending on the type of Arduino board and microcontroller used; if another board is used, verify the pin information.
Arduino FM transmitter Connections:
Arduino
|
FM Module
|
---|---|
GND
|
GND
|
5V
|
VCC
|
SDA
|
A4
|
SCL
|
A5
|
Arduino Code – FM transmitter
First, you need to download the Library by Clicking Here
add the Library to the Arduino IDE then upload the next sample code
#includefloat fm_freq = 90; // Here set the default FM frequency void setup(void) { Serial.begin(9600); Serial.print("FM-TX Demo\r\n"); /** Initial, set FM channel and select your area: USA EUROPE JAPAN AUSTRALIA CHINA */ fmtx_init(fm_freq, USA); Serial.print("Channel:"); Serial.print(fm_freq, 1); Serial.println("MHz"); } void loop(void) { /** check for data setting new frequency. Users could input data from Serial monitor. Data must start with '&' and followed by 4 numbers, such as &8000. The first two is the integer part of new frequency (Unit: MHz), and the last one is the decimal part. And the channel must between 70MHz and 108Mhz. For example, &756 is 75.6MHz, and &666 is out of range. */ if(Serial.available()){ switch(Serial.read()){ case '&': u8 i,buf[4]; float ch; i=0; delay(30); while(Serial.available()&&i<4){ buf[i]=Serial.read(); if (buf[i]<= '9' && buf[i]>= '0') { i++;} else{ i=0; break; } } if (i==4){ ch = (buf[0]-'0')*100+(buf[1]-'0')*10+(buf[2]-'0')*1+0.1*(buf[3]-'0'); if(ch>=70&&ch<=108){ Serial.print("New Channel:"); Serial.print(ch, 1); Serial.println("MHz"); fmtx_set_freq(ch); }else{ Serial.println("ERROR:Channel must be range from 70Mhz to 108Mhz."); } }else{ Serial.println("ERROR:Input Format Error."); } while(Serial.available()){ Serial.read(); } break; } } }