Start
Experimente
Grundlagen
Produkte
- SI4735
- - 4 MHz
- - Software
- - Antennen
- - Hilfeseite
- - RDS
- - ES-M32
- - Heimradio
- - PCradio2
Neues
Impressum
|
SI4735
Autonomes UKW-Radio mit ES-M32
Bei der Entwicklung des ES-M32
war eine mögliche Anwendung als Radiocontroller bereits im
Blick. Was braucht man, um ein Radio zu bedienen? Vier Tasten und ein
Display sollten reichen. Hier soll un ein erstes autonomes
Radio-Projekt vorgestellt werden. Der Mikrocontroller wird in Bascom
programmiert. Die Controllerplatine liefert zugleich auch den
Referenztakt und die Betriebsspannung. Da der ATmega32 mit 5 V arbeitet
ist ein zusätzlicher 3,3-V-Spannungsregler erforderlich. Der
I2C-Bus des Mega32 arbeitet problemlos mit 3,3 V. Auch der Rest-Pin
kann direkt angeschlossen werden. Der jeweilige Port ist im Ruhezustand
hochohmig und hat 3,3 V über den externen Pullup-Widerstand. Ein
Lowpegel wird erzeugt, indem man den Port in Ausgangsrichtung
umschaltet.
|
Download BascomSI4735 ( BascomSI4735.zip, 3 KB incl. Quelltext)
Wichtiger Hinweis zum Schaltplan: Pin 6 (SEN) muss an GND liegen, da der Chip sonst unzuverlässig arbeitet.
Auch die Referenzfrequenz liefert der
Mikrocontroller. In diesem Fall wird der Quarztakt mithilfe des Timers
2 durch vier geteilt. Der SI4735 ist in Bezug auf deinen Takt sehr
flexibel, weil ein interner Teiler so eingestellt werden kann, dass
eine Referenzfrequenz im Bereich 32 kHz entsteht. Der folgende
Programmauszug zeigt die Initialisierung des Empfängers, die
Einstellung der Referenzfrequenz und die Abstimmung auf die
Startfrequenz 88,8 MHz. Hier kann jeder seine wichtigste Station
eingeben.
|
Config Timer1 = Counter , Prescale = 1 , Compare A = Toggle , Clear Timer = 1 Start Timer1 Pwm1a = 1 ' Xtal/2/(1+1) = 2.764.800 Hz
F = 8880 'Startfrequenz Vol = 63 'Lautstärke
Ddra.3 = 1 Waitms 100 Ddra.3 = 0 Waitms 100
Config Scl = Porta.1 Config Sda = Porta.2 I2cinit
I2cstart I2cwbyte 34 I2cwbyte &H01 I2cwbyte &H00 '00 FM I2cwbyte &H05 I2cstop
Waitms 200
I2cstart 'property I2cwbyte 34 I2cwbyte &H12 I2cwbyte &H00 'prescaler I2cwbyte &H02 I2cwbyte &H02 D = 84 '/84 H = High(d) L = Low(d) I2cwbyte H I2cwbyte L I2cstop
Waitms 2
I2cstart I2cwbyte 34 I2cwbyte &H12 'property I2cwbyte &H00 I2cwbyte &H02 I2cwbyte &H01 D = 32914 'Ref = 32914 Hz H = High(d) L = Low(d) I2cwbyte H I2cwbyte L I2cstop
Waitms 200
I2cstart I2cwbyte 34 I2cwbyte &H20 I2cwbyte &H00 H = High(f) L = Low(f) I2cwbyte H I2cwbyte L '88,80 MHz I2cwbyte &H00 I2cstop
Das
erste Bascom-Projekt arbeitet noch ganz ohne das LC-Display und besitzt
eine sehr einfache und übersichtliche Bedienung über die vier
Tasten S1 bis S4. Die ersten beiden Tasten werden für den Suchlauf
(Aufwärts und abwärts) verwendet. Die Suche setzt sich
jeweils am Bandende wieder vom Bandanfang an fort, läuft also
immer wieder über den ganzen UKW-Bereich. T3 und T4 dienen der
Lautstärkeeinstellung.
|
Do If S1 = 0 Then 'Suchen - I2cstart I2cwbyte 34 I2cwbyte &H21 I2cwbyte &H04 I2cstop Waitms 500 End If Do Loop Until S1 = 1
If S2 = 0 Then 'Suchen + I2cstart I2cwbyte 34 I2cwbyte &H21 I2cwbyte &H0C I2cstop Waitms 500 End If Do Loop Until S2 = 1
If S3 = 0 Then 'leiser Vol = Vol - 1 If Vol < 10 Then Vol = 10 Waitms 50 I2cstart I2cwbyte 34 I2cwbyte &H12 I2cwbyte &H00 I2cwbyte &H40 I2cwbyte &H00 I2cwbyte &H00 I2cwbyte Vol I2cstop End If
If S4 = 0 Then 'lauter Vol = Vol + 1 If Vol > 63 Then Vol = 63 Waitms 50 I2cstart I2cwbyte 34 I2cwbyte &H12 I2cwbyte &H00 I2cwbyte &H40 I2cwbyte &H00 I2cwbyte &H00 I2cwbyte Vol I2cstop End If Loop
Testaufbau mit Einzelplatine aus dem Labor von Modul-Bus
Erweiterung mit Kurzwelle und UKW/RDS
Software AM/FM:
BascomSI4735_3 ( BascomSI4735_3.zip, 20 KB incl. Quelltext)
Software mit RDS:
BascomSI4735_4 ( BascomSI4735_4.zip, 25 KB incl. Quelltext)
|