Gebruik de Module van de FM van de TEA5767 maken een Arduino gebaseerd FM-Radio (3 / 3 stap)

Stap 3: Code

De Arduino-code is als hieronder:

Origineel van Arduino FM-ontvanger met TEA5767 http://www.electronicsblog.net
Aangepast door Jingfeng Liu
LinkSprite.com
//
#include < Wire.h >
#include < LiquidCrystal.h >

unsigned char search_mode = 0;

int b = 0;
int c = 0;

#define Button_next 6
#define Button_prev 7

unsigned char frequencyH = 0;
unsigned char frequencyL = 0;

unsigned int frequencyB;
dubbele frequentie = 0;

dubbele freq_available = 0;

LiquidCrystal lcd (12, 11, 5, 4, 3, 2);

VOID Setup {}

Wire.begin();
LCD.begin (16, 2);

knoppen

pinMode (Button_next, INPUT);
digitalWrite (Button_next, hoge); optrekken van weerstand

pinMode (Button_prev, INPUT);
digitalWrite (Button_prev, hoge); optrekken van weerstand

frequentie = 87,5; beginnend frequentie

frequencyB = 4 *(frequency*1000000+225000)/32768; berekening van PLL woord

frequencyH = frequencyB >> 8;

frequencyL = frequencyB & 0XFF;

delay(100);

Wire.beginTransmission(0x60);   TEA5767 schrijven

Wire.write(frequencyH);
Wire.write(frequencyL);
Wire.write(0xB0);
Wire.write(0x10);
Wire.write(0x00);
Wire.endTransmission();

delay(100);

}

void loop
{

unsigned char buffer [5];

lcd.setCursor (0, 0);

Wire.requestFrom(0x60,5); lezing TEA5767

Als (Wire.available())

{
for (int i = 0; ik < 5; i ++) {}

buffer [i] = Wire.read();
}

freq_available = ((([0] buffer & 0x3F) << 8) + buffer [1]) * 32768/4-225000;

LCD.Print ("FM");

LCD.Print((freq_available/1000000));

frequencyH = ((buffer [0] & 0x3F));

frequencyL = buffer [1];

Als (search_mode) {}

Als (buffer [0] & 0x80) search_mode = 0;

}

Als (search_mode == 1) lcd.print ("SCAN");
else {}
LCD.Print("");
}

lcd.setCursor (0, 1);

LCD.Print ("niveau:");
LCD.Print ((buffer [3] >> 4));
LCD.Print ("/ 16");

Als (buffer [2] & 0x80) lcd.print ("STEREO");
anders lcd.print ("MONO");

}

knoppen lezen

Button_Next / / /
Als (! digitalRead(Button_next) & &! b) {}

frequentie =(freq_available/1000000) + 0,05;

frequencyB = 4 * (frequentie * 1000000 + 225000) / 32768 + 1;

frequencyH = frequencyB >> 8;
frequencyL = frequencyB & 0XFF;

Wire.beginTransmission(0x60);

Wire.write(frequencyH);
Wire.write(frequencyL);
Wire.write(0xB0);
Wire.write(0x1F);
Wire.write(0x00);

Wire.endTransmission();

//////////////////////

b = 100;

};

Als (! digitalRead(Button_next) & & b == 1) {}

scannnn omhoog

search_mode = 1;

Wire.beginTransmission(0x60);

Wire.write(frequencyH+0x40);
Wire.write(frequencyL);
Wire.write(0xD0);
Wire.write(0x1F);
Wire.write(0x00);

Wire.endTransmission();

/////////////////

b = 100;

};

Als (! b == 0) b--;

Button_Prev / / /
Als (! digitalRead(Button_prev) & &! c) {}

frequentie =(freq_available/1000000)-0,05;

frequencyB = 4 * (frequentie * 1000000 + 225000) / 32768 + 1;

frequencyH = frequencyB >> 8;
frequencyL = frequencyB & 0XFF;

Wire.beginTransmission(0x60);

Wire.write(frequencyH);
Wire.write(frequencyL);
Wire.write(0xB0);
Wire.write(0x1F);
Wire.write(0x00);

Wire.endTransmission();

c = 100;

};

Als (! digitalRead(Button_prev) & & c == 1) {}

scannnn omlaag

search_mode = 1;

Wire.beginTransmission(0x60);

Wire.write(frequencyH+0x40);
Wire.write(frequencyL);

Wire.write(0x50);
Wire.write(0x1F);
Wire.write(0x00);
Wire.endTransmission();

c = 100;

};

Als (! c == 0) c--;

////////////////////

}

Nadat we de code naar de Arduino hebt gedownload, kunnen we druk op de twee knoppen voor scannen omhoog en scannen naar beneden de kanalen om te zoeken naar stations.

Gerelateerde Artikelen

Bijhouden van uw auto met een Arduino gebaseerde Lojack

Bijhouden van uw auto met een Arduino gebaseerde Lojack

De autodiefstal van de is een echte slepen! Verhoog uw kansen van het herstellen van uw auto door het installeren van deze eenvoudige Arduino gebaseerde tracker in uw auto.Dit project is vrij eenvoudig, en zou een goed project voor een nieuwe Arduino
InPace - een Arduino gebaseerde GPS gegevens vastleggen van fitness armband met bluetooth en een iOS-app

InPace - een Arduino gebaseerde GPS gegevens vastleggen van fitness armband met bluetooth en een iOS-app

InPace is een Arduino gebaseerde fitness armband, met een begeleidende iOS applicatie, die live kan feedback over hoe de gebruiker pacing zelf tijdens een run, lopen of fietsen route. Zij sporen GPS-locaties en huidige tijden de huidige prestaties va
Monteren van een Arduino gebaseerd rook / hitte Alarm

Monteren van een Arduino gebaseerd rook / hitte Alarm

Zoals je uit deze blog entry zien kunt ik ontwikkelde de basis voor dit project twee jaar geleden als een alarm / uitschakeling schakelaar voor de RepRap 3D Printer kit die ik had net samengesteld... en dat had gerookt!Het eerste ProjectIk heb sindsd
Lage hoogte milieubewaking met een Arduino gebaseerd weer Instrument en Remote Sensing Platform van Aeropod

Lage hoogte milieubewaking met een Arduino gebaseerd weer Instrument en Remote Sensing Platform van Aeropod

ProjectoverzichtStudenten op New Lothrop High School in Michigan hebben samengewerkt om te bouwen van een lage hoogte remote sensing platform genaamd een "Aeropod" en het uitgerust met een "Arduino" gebaseerd weer instrument om sfeervo
Controle van EL draad met een Arduino

Controle van EL draad met een Arduino

In dit instructable ik zal u tonen hoe u kunt besturen van EL draad met een Arduino.Wat u zult moeten:EL Wire en omvormer - adviseer ik http://ez-el.com/ez-el-wire/10ft-ez-el-wire-3v-inverter-kit/Arduino of een micro-controller die een relay kunt bep
Bouwen van een Arduino gebaseerd thermische scanner

Bouwen van een Arduino gebaseerd thermische scanner

Welkom bij mijn eerste instructable!Hier vindt u alle informatie over het bouwen van een automatische thermische imager gebruik van off-the-shelf delen. Dit project kan u helpen identificeren van statische gebieden die nodig isolatie tegen koude weer
Hoe te (met behulp van technieken-ish) maken een kaartenhuis

Hoe te (met behulp van technieken-ish) maken een kaartenhuis

hoe maak je een kaartenhuis. Ik heb gemerkt dat de meeste sites op het net geven een zeer vage omschrijving van hun constructie en bieden geen echte advies, dus na die leerde de harde manier, ik ga om te laten zien hoe je een toren of kaartenhuis, va
Beheersing van meerdere LEDs met een Arduino Uno.

Beheersing van meerdere LEDs met een Arduino Uno.

Dit instructable coversssets voor instructies voor het gebruik van een microcontroller, genaamd de Arduino Uno diverse verlichting om reeksen te maken op lichtemitterende diodes, meer de volksmond bekend als LEDs. De onderstaande instructies hebben b
Het laden van programma's op een Arduino UNO van Atmel Studio 7

Het laden van programma's op een Arduino UNO van Atmel Studio 7

In deze korte Instructable gaan we om te leren hoe om een programma aan de Raad van een Arduino UNO met behulp van Atmel Studio in plaats van de Arduino IDE te laden. Dit is handig wanneer u wilt ontwikkelen een programma met meer vooruitgangseigensc
Verzoek van Uber rijdt met een Arduino knop

Verzoek van Uber rijdt met een Arduino knop

HalloAls u uber alot mij gebruikt maakt dus dit instructable uw leven beter. Ik heb slechts drie pick-up locaties: thuis, werk en het adres van de lokale fablab: D.Dat is waarom ik deze knop gemaakt. Ik heb thuis en op het werk, voor vertrek ik druk
Herstellen van mijn garagedeur met een Arduino UNO

Herstellen van mijn garagedeur met een Arduino UNO

Zie mijn github:https://github.com/glscantlen/instructions/tree/ma...Deze map bevat instructies ontwikkeld op basis van de tijdens de reparatie van mijn garage deuropener gemaakte notities. Ik heb een Geni 1/2HP schroef station garagedeur die niet va
Met behulp van 3d printen maken een nauwkeurige Orca speelgoed

Met behulp van 3d printen maken een nauwkeurige Orca speelgoed

Opmerking: als u mijn werk Gelieve te tekenen aan instructables (gratis) en gelieve stemming voor mij in deze wedstrijd van de technologie zodat ik blijven werk doen kan als dit... BedanktIk woon in Orlando Florida... Ik zie vaak de mascottes en orca
Gebruik de module van de potentiometer op Arduino

Gebruik de module van de potentiometer op Arduino

Potentiometer module met behulp van een roterende potentiometer, potentiometer knop die kan worden gewijzigd om aan te passen de potentiometer weerstand.Stap 1: Hardwarelijst en bekabeling voor Ddiagram HardwarelijstArduino UNO * 1Roterende potentiom
Gebruik een PS3-Controller te controleren van een Arduino NXT Bot

Gebruik een PS3-Controller te controleren van een Arduino NXT Bot

UPDATE:Ik heb een paar insecten met het gegevenspakket vast, en ik heb bewerkt de NXTI2CDevice bibliotheek zodat ze compatibel zijn met Arduino 1.0.Het bijgevoegde zip-bestand heeft1. een nieuwe schets van de Arduino2. een nieuwe Processing Schets3.