Bygga din FM-överföring Station med Arduino (6 / 7 steg)
Steg 6: arduino kod
Observera att du kan ändra det FM-bandet beroende av ditt land, i den här raden:
fmtx_init (fm_freq, USA); Du kan ändra den för din countery.
/*
USA
EUROPA
Japan
Australien
KINA
*/
För mitt land, Jordanien, använder jag USA "Verk från 88-107MHz"
Kod ://
/********************************************************************
Detta program är distribuerat i hopp om att det kommer att vara användbar,
men utan garantier; utan att ens underförstådd garanti om
SÄLJBARHET eller lämplighet för ett visst ändamål. Se den
GNU General Public License för mer detaljer.
Du bör ha fått en kopia av GNU General Public License
tillsammans med detta program. Om inte, se http://www.gnu.org/licenses/
Namn: Björn Rawashdeh.
Datum "13/5/2013 3:00 pm
Beskrivning: Denna kod för en FM-överföring station
för mer information http://www.genotronex.com/
Skrivet av: Mohannad Rawashdeh, Genotronex
#include "U8glib.h"
#include < FMTX.h >
Rita cirkel
www.Genotronex.com
Björn Rawashdeh
U8GLIB_ST7920_128X64 u8g (13, 11, 12, U8G_PIN_NONE) ;// SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17
U8GLIB_PCD8544 u8g (13, 11, 10, 9, 8); SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, återställa = 8
int kanal = 0;
flyta fm_freq = 90. Här ställa in standard FM-frekvens
int läsa = 0;
int last_reading = 0;
int Current_reading = 0;
int mapping_reading = 000;
void setup(void) {
pinMode(A0,INPUT);
Serial.BEGIN(9600);
fmtx_init (fm_freq, USA); / / kan du ändra den för din countery.
/*
USA
EUROPA
Japan
Australien
KINA
*/
Jordan verk som USA frekvens spänner 87,5-110MHz
U8G.setRot180();
U8G.setColorIndex(1); pixel på!
//..........................................
U8G.firstPage();
göra {
set_screen(1);
}
While(U8G.nextPage());
Delay(1000);
//....................
U8G.firstPage();
göra {
set_screen(0);
}
While(U8G.nextPage());
Delay(1000);
Förloppsindikatorförekomstens;
//..........
U8G.firstPage();
göra {
Intro();
}
While(U8G.nextPage());
Delay(2500);
U8G.firstPage();
göra {
intro2();
}
While(U8G.nextPage());
Delay(2500);
Förloppsindikatorförekomstens;
//..........................................
}
Läsa alla Tunning ändra här.
void Analog_pin_read() {
kanal = mapping_reading;
Current_reading = kanal;
fmtx_set_freq(Channel);
}
void set_screen(int i) {
U8G.setColorIndex(i); pixel på!
för (int x_axis = 0; x_axis < 84; x_axis ++) {
för (int y_axis = 0; y_axis < 44; y_axis ++) {
U8G.drawPixel(x_axis,y_axis);
}
}
}
void Clear(void) {
U8G .setFont(u8g_font_04b_03);
U8G.setFontRefHeightExtendedText();
U8G.setDefaultForegroundColor();
U8G.setFontPosTop();
}
void intro(void) {
U8G.setColorIndex(1);
U8G.drawFrame(0,0,83,47);
U8G .setFont(u8g_font_osr18);
U8G.drawStr (5, 25, "FM Tx");
U8G .setFont(u8g_font_tpss);
U8G.drawStr (5, 40, "System");
}
void intro2(void) {
U8G.setColorIndex(1);
U8G.drawFrame(0,0,83,47);
U8G .setFont(u8g_font_04b_03);
U8G.drawStr (2, 7, "Bygga din FM station!");
U8G.drawStr (2, 15, "Change the Freq");
U8G.drawStr (2, 26, "Från potentiellt");
U8G.drawStr (2, 38, "www.genotronex.com");
}
ändra frekvensvärde på lcd här
Annullera rad (int value) {
U8G.setColorIndex(1);
U8G.drawFrame(0,0,83,47);
U8G .setFont(u8g_font_unifont);
U8G.drawStr (5, 15, "Frekvens");
U8G .setFont(u8g_font_osr18);
U8G.setPrintPos(10,45);
U8G.println(Value,dec);
U8G .setFont(u8g_font_unifont);
U8G.drawStr (45, 38, "MHz");
}
void loop() {
Reading=analogRead(a0);
mapping_reading=map(Reading,0,1023,87,108);
mapping_reading=constrain(mapping_reading,87,108);
om (mapping_reading! = Current_reading) {
Förloppsindikatorförekomstens;
Analog_pin_read();
U8G.firstPage();
göra {
Number(Channel);
}
While(U8G.nextPage());
Delay(100);
}
}
/*******************************