Frank (Diskussion | Beiträge) K (→Inbetriebnahme der Digitalanzeige) |
BMS (Diskussion | Beiträge) K (Tippfehler) |
||
(9 dazwischenliegende Versionen von 5 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
− | + | [[Bild:rndigi.gif|thumb|RN-Digi I2C Digitalanzeige]]Dieses Board wurde als Erweiterung zu den Roboternetz-Controllerboards (RNBFRA,RN-Control,MinControl usw.) entworfen, eignet sich aber für alle Controllerboards mit I2C-Bus Anschluss. | |
− | + | ||
− | [[Bild:rndigi.gif|thumb|RN-Digi I2C | + | |
Es dient zum Anzeigen von 4 stelligen Zahlen. Dabei werden optisch ansprechende und extra große 7-Segmentanzeigen bereitgestellt (ca. 25mm Ziffernhöhe, Anzeige rot, wahlweise auch kleinere). Die Ansteuerung erfolgt sehr einfach per I2C-Bus mit einfachen Kommandos. | Es dient zum Anzeigen von 4 stelligen Zahlen. Dabei werden optisch ansprechende und extra große 7-Segmentanzeigen bereitgestellt (ca. 25mm Ziffernhöhe, Anzeige rot, wahlweise auch kleinere). Die Ansteuerung erfolgt sehr einfach per I2C-Bus mit einfachen Kommandos. | ||
− | Die Anwendungsmöglichkeiten sind dem Programmierer vorbehalten. Denkbar wäre das Board für den Aufbau von Uhren, Funkuhren, Zählern, | + | Die Anwendungsmöglichkeiten sind dem Programmierer vorbehalten. Denkbar wäre das Board für den Aufbau von Uhren, Funkuhren, Zählern, Lottozahlgeneratoren, Würfeln, Temperaturanzeigen, Kompass usw., welche von weitem erkennbar sein müssen. In Kombination mit RN-Speak und RN-Control wäre zum Beispiel ein sprechender Wecker denkbar. |
− | == | + | ==Leistungsmerkmale auf einen Blick== |
− | * Sehr einfache Ansteuerung per I2C Bus | + | * Sehr einfache Ansteuerung per [[I2C]] Bus |
− | * Keine extra Spannungszuführung notwendig da Board über das I2C-Bus Kabel mit Strom verorgt wird | + | * Keine extra Spannungszuführung notwendig da Board über das [[I2C]]-Bus Kabel mit Strom verorgt wird |
* Programmierbare Helligkeit | * Programmierbare Helligkeit | ||
* Jedes einzelne Segment der 7-Segmentanzeige kann angesteuert werden | * Jedes einzelne Segment der 7-Segmentanzeige kann angesteuert werden | ||
Zeile 18: | Zeile 16: | ||
* Kleines Lochraster Experimentierfeld für Erweiterungen Taster, I2C-Baustein (Funkuhr etc.) etc. | * Kleines Lochraster Experimentierfeld für Erweiterungen Taster, I2C-Baustein (Funkuhr etc.) etc. | ||
* Kompakt, Roboternetz-Standard-Format 100x78 (halbes Euroformat), Huckepack mit anderen Boards kombinierbar | * Kompakt, Roboternetz-Standard-Format 100x78 (halbes Euroformat), Huckepack mit anderen Boards kombinierbar | ||
− | * Wahlweise mit großen oder kleineren Segmenten bestückbar (Bausatz inkl. | + | * Wahlweise mit großen oder kleineren Segmenten bestückbar (Bausatz inkl. große) |
− | * Platinen und | + | * Platinen und Bausatzservice |
− | * Deutsche Doku mit Programmbeispielen für RN-Control und RNBFRA-Board | + | * Deutsche Doku mit Programmbeispielen für [[RN-Control]] und [[RNBFRA-Board]] |
==Aufbau und Anwendung== | ==Aufbau und Anwendung== | ||
− | Der Aufbau der Schaltung ist durch die vorgefertigte Platine bzw. den Bausatz eigentlich völlig problemlos auch von Elektronik-Einsteigern zu bewerkstelligen. Durch den Bestückungsdruck und die Bestückungsliste, etwas weiter hinten in dieser Dokumentation, ist der Aufbau unkritisch. Aufgrund moderner Bauteile (7 | + | Der Aufbau der Schaltung ist durch die vorgefertigte Platine bzw. den Bausatz eigentlich völlig problemlos auch von Elektronik-Einsteigern zu bewerkstelligen. Durch den Bestückungsdruck und die Bestückungsliste, etwas weiter hinten in dieser Dokumentation, ist der Aufbau unkritisch. Aufgrund moderner Bauteile (7-Segment Controller) ist es gelungen, das dieses Board nur sehr wenig Bauteile benötigt. Auf Logikbausteine konnte verzichtet werden, da das Board über ein Spezial-IC für die Ansteuerung von 7 Segmentanzeigen verfügt. |
− | Die Schaltung | + | Die Schaltung benötigt in der Regel eine Aufbauzeit von ca. 30 – 60 Minuten. |
Dennoch einige Anmerkungen zu kleinen Hürden: | Dennoch einige Anmerkungen zu kleinen Hürden: | ||
− | # Beim Einlöten der Segmentanzeigen darauf achten das diese richtig | + | # Beim Einlöten der Segmentanzeigen darauf achten das diese richtig herum eingesetzt werden. Der Dezimalpunkt muss nach unten zum IC zeigen. |
# Auf dem I2C-Bus muss die Batteriespannung liegen (entsprechend der [[RN-Definitionen|Roboternetz-Definition]]). Bei einigen Controllerboards muss dazu ein Jumper auf dem jeweiligen Controllerboard eingesteckt werden. Näheres dazu steht bei der Beschreibung der I2C-Buchse ihres Controllerboards. | # Auf dem I2C-Bus muss die Batteriespannung liegen (entsprechend der [[RN-Definitionen|Roboternetz-Definition]]). Bei einigen Controllerboards muss dazu ein Jumper auf dem jeweiligen Controllerboard eingesteckt werden. Näheres dazu steht bei der Beschreibung der I2C-Buchse ihres Controllerboards. | ||
− | + | Die Batteriespannung darf 7V nicht unterschreiten, falls die großen Segmentanzeigen eingesetzt werden. Ist die Batteriespannung höher als 10V, so muss der im Bestückungsplan eingezeichnete Spannungsregler auch eingelötet werden. Bei 7 bis 10 V Batteriespannung kann dieser wahlweise weggelassen werden. Bei den kleineren Segmentanzeigen reicht bereits 5V aus. | |
Das waren eigentlich schon die besonderen Punkte die zu beachten sind. Ansonsten natürlich sauber mit einem 15–25 W [[löten|Lötkolben]] alles auf der Unterseite verlöten. Grundkenntnisse beim Löten werden empfohlen. | Das waren eigentlich schon die besonderen Punkte die zu beachten sind. Ansonsten natürlich sauber mit einem 15–25 W [[löten|Lötkolben]] alles auf der Unterseite verlöten. Grundkenntnisse beim Löten werden empfohlen. | ||
Nach dem Aufbau sollten Sie nochmals alle Lötpunkte kontrollieren. | Nach dem Aufbau sollten Sie nochmals alle Lötpunkte kontrollieren. | ||
− | + | ||
Nach dem Aufbau können Sie das Baord übe rein 10 poliges Kabel mit ihrem Controllerboard verbinden. Eine Funktion ist jedoch erst dann zu ersehen, wenn Sie das Testprogramm auf Ihrem Controller starten. | Nach dem Aufbau können Sie das Baord übe rein 10 poliges Kabel mit ihrem Controllerboard verbinden. Eine Funktion ist jedoch erst dann zu ersehen, wenn Sie das Testprogramm auf Ihrem Controller starten. | ||
Zeile 131: | Zeile 129: | ||
[[Bild:rndigischaltplan.gif|thumb|center|Zum vergrößern anklicken]] | [[Bild:rndigischaltplan.gif|thumb|center|Zum vergrößern anklicken]] | ||
− | ==Inbetriebnahme | + | ==Inbetriebnahme der Digitalanzeige== |
− | Nachdem Board aufgebaut bzw. ein Fertigboard erworben haben, wird hier kurz erläutert wie Sie das Board in Betrieb nehmen. | + | Nachdem Sie das Board aufgebaut bzw. ein Fertigboard erworben haben, wird hier kurz erläutert wie Sie das Board in Betrieb nehmen. |
− | # | + | # Bitte vergewissern Sie sich zunächst, ob alle Jumper korrekt entsprechend der vorhergehenden Beschreibung gesteckt sind. Beachten Sie bei der Slave Adresse, das sich diese nicht mit anderen Boards überscheidet. Insbesondere RNBFRA-Besitzer sollten darauf achten das die PCF-Bausteine auf dem [[RNBFRA-Board]] eine andere Slave Adresse besitzen. |
− | # Verbinden Sie das Board über ein 10 poliges I2C-Kabel mit ihrem Controllerboard (passende Kabel gibt es bei | + | # Verbinden Sie das Board über ein 10 poliges I2C-Kabel mit ihrem Controllerboard (passende Kabel gibt es bei robotikhardware.de bzw. lassen sich sehr schnell selbst anfertigen). Achten Sie auch darauf dass ihr Controllerboard die Batteriespannung auf den I2C-Bus legt. Bei [[RN-Control]] erfolgt dies über einen Jumper, welcher standardmäßig bereits richtig eingesteckt ist. |
# Laden Sie das nachfolgende Testprogramm in Ihren Controller und betätigen Sie Taster 2 | # Laden Sie das nachfolgende Testprogramm in Ihren Controller und betätigen Sie Taster 2 | ||
Zeile 142: | Zeile 140: | ||
==Beispielprogramm für RN-Control== | ==Beispielprogramm für RN-Control== | ||
− | [[Bild:rndigicontrol.jpg|thumb]] | + | [[Bild:rndigicontrol.jpg|thumb|Digitalanzeige an RN-Control]] |
− | Wie einfach das Board angesteuert wird, kann dem Beispielprogramm entnommen werden. Es ist empfehlenswert die Unterfunktionen einfach in ein eigenes Programm zu übernehmen. Einfacher geht’s nicht mehr! | + | Wie einfach das Board angesteuert wird, kann dem Beispielprogramm entnommen werden. Es ist empfehlenswert, die Unterfunktionen einfach in ein eigenes Programm zu übernehmen. Einfacher geht’s nicht mehr! |
Wer noch mehr Infos zu der Ansteuerung benötigt kann auch in das Datenblatt des IC´s SAA1064 schaun, dieses ist auf der CD (die dem Bausatz beiliegt) enthalten. | Wer noch mehr Infos zu der Ansteuerung benötigt kann auch in das Datenblatt des IC´s SAA1064 schaun, dieses ist auf der CD (die dem Bausatz beiliegt) enthalten. | ||
Tastenbelegung im Demo | Tastenbelegung im Demo | ||
+ | |||
'''Taste 1''' Zeigt auf allen 4 Ziffern eine 0 | '''Taste 1''' Zeigt auf allen 4 Ziffern eine 0 | ||
+ | |||
'''Taste 2''' Zählt nacheinander alle 4 Ziffern von 0 auf 9 hoch | '''Taste 2''' Zählt nacheinander alle 4 Ziffern von 0 auf 9 hoch | ||
+ | |||
'''Taste 3''' In dem Demo nicht verwendet | '''Taste 3''' In dem Demo nicht verwendet | ||
+ | |||
'''Taste 4''' In dem Demo nicht verwendet | '''Taste 4''' In dem Demo nicht verwendet | ||
+ | |||
'''Taste 5''' In dem Demo nicht verwendet | '''Taste 5''' In dem Demo nicht verwendet | ||
+ | |||
Zeile 342: | Zeile 346: | ||
Damit haben Sie den ersten Einstieg erfolgreich abgeschlossen. | Damit haben Sie den ersten Einstieg erfolgreich abgeschlossen. | ||
− | Wenn Sie das | + | Wenn Sie das Demoprogramm gründlich studieren, werden Sie viele Sachen davon ableiten und in eigenen Programmen verwenden können. |
==Autor== | ==Autor== | ||
Zeile 352: | Zeile 356: | ||
* [[RN-Definitionen]] | * [[RN-Definitionen]] | ||
* [[RN-Board FAQ-Seite]] | * [[RN-Board FAQ-Seite]] | ||
+ | * [[RN-Control]] | ||
+ | * [[RNBFRA-Board]] | ||
+ | * [[Siebensegmentanzeige]] | ||
==Weblinks== | ==Weblinks== |
Aktuelle Version vom 17. September 2011, 11:11 Uhr
Dieses Board wurde als Erweiterung zu den Roboternetz-Controllerboards (RNBFRA,RN-Control,MinControl usw.) entworfen, eignet sich aber für alle Controllerboards mit I2C-Bus Anschluss.Es dient zum Anzeigen von 4 stelligen Zahlen. Dabei werden optisch ansprechende und extra große 7-Segmentanzeigen bereitgestellt (ca. 25mm Ziffernhöhe, Anzeige rot, wahlweise auch kleinere). Die Ansteuerung erfolgt sehr einfach per I2C-Bus mit einfachen Kommandos. Die Anwendungsmöglichkeiten sind dem Programmierer vorbehalten. Denkbar wäre das Board für den Aufbau von Uhren, Funkuhren, Zählern, Lottozahlgeneratoren, Würfeln, Temperaturanzeigen, Kompass usw., welche von weitem erkennbar sein müssen. In Kombination mit RN-Speak und RN-Control wäre zum Beispiel ein sprechender Wecker denkbar.
Inhaltsverzeichnis
Leistungsmerkmale auf einen Blick
- Sehr einfache Ansteuerung per I2C Bus
- Keine extra Spannungszuführung notwendig da Board über das I2C-Bus Kabel mit Strom verorgt wird
- Programmierbare Helligkeit
- Jedes einzelne Segment der 7-Segmentanzeige kann angesteuert werden
- 4 Dezimalpunkte möglich
- Controller wird nicht belastet. Die Ziffern werden solange angezeigt, bis neue Ziffer gesendet wird. Keine Interrupts oder Bus-Belastung!
- Preisgünstig und schneller Aufbau in wenigen Minuten möglich
- 4 verschiedene Slave Adressen per Jumper wählbar
- Kleines Lochraster Experimentierfeld für Erweiterungen Taster, I2C-Baustein (Funkuhr etc.) etc.
- Kompakt, Roboternetz-Standard-Format 100x78 (halbes Euroformat), Huckepack mit anderen Boards kombinierbar
- Wahlweise mit großen oder kleineren Segmenten bestückbar (Bausatz inkl. große)
- Platinen und Bausatzservice
- Deutsche Doku mit Programmbeispielen für RN-Control und RNBFRA-Board
Aufbau und Anwendung
Der Aufbau der Schaltung ist durch die vorgefertigte Platine bzw. den Bausatz eigentlich völlig problemlos auch von Elektronik-Einsteigern zu bewerkstelligen. Durch den Bestückungsdruck und die Bestückungsliste, etwas weiter hinten in dieser Dokumentation, ist der Aufbau unkritisch. Aufgrund moderner Bauteile (7-Segment Controller) ist es gelungen, das dieses Board nur sehr wenig Bauteile benötigt. Auf Logikbausteine konnte verzichtet werden, da das Board über ein Spezial-IC für die Ansteuerung von 7 Segmentanzeigen verfügt.
Die Schaltung benötigt in der Regel eine Aufbauzeit von ca. 30 – 60 Minuten.
Dennoch einige Anmerkungen zu kleinen Hürden:
- Beim Einlöten der Segmentanzeigen darauf achten das diese richtig herum eingesetzt werden. Der Dezimalpunkt muss nach unten zum IC zeigen.
- Auf dem I2C-Bus muss die Batteriespannung liegen (entsprechend der Roboternetz-Definition). Bei einigen Controllerboards muss dazu ein Jumper auf dem jeweiligen Controllerboard eingesteckt werden. Näheres dazu steht bei der Beschreibung der I2C-Buchse ihres Controllerboards.
Die Batteriespannung darf 7V nicht unterschreiten, falls die großen Segmentanzeigen eingesetzt werden. Ist die Batteriespannung höher als 10V, so muss der im Bestückungsplan eingezeichnete Spannungsregler auch eingelötet werden. Bei 7 bis 10 V Batteriespannung kann dieser wahlweise weggelassen werden. Bei den kleineren Segmentanzeigen reicht bereits 5V aus.
Das waren eigentlich schon die besonderen Punkte die zu beachten sind. Ansonsten natürlich sauber mit einem 15–25 W Lötkolben alles auf der Unterseite verlöten. Grundkenntnisse beim Löten werden empfohlen. Nach dem Aufbau sollten Sie nochmals alle Lötpunkte kontrollieren.
Nach dem Aufbau können Sie das Baord übe rein 10 poliges Kabel mit ihrem Controllerboard verbinden. Eine Funktion ist jedoch erst dann zu ersehen, wenn Sie das Testprogramm auf Ihrem Controller starten.
Erläuterung der Anschlüsse, Regler und Kurzschlussbrücken
Anschlussbezeichnung | Erläuterung |
ADR1 | Slave Adresse einstellen
Über diesen Jumper wird die Slave Adresse eingestellt. Über diese Adresse wird das Board später vom Controller angewählt. In dieser Stellung ist die Slave Adresse auf Hex 70 gesetzt In dieser Stellung ist die Slave Adresse auf Hex 76 gesetzt Durch diese Stellung wird bestimmt, das die Slave Adresse über den Jumper ADR2 gewählt wird (siehe ADR2) |
ADR2 | Slave Adresse einstellen
Dieser Jumper hat nur dann eine Bedeutung, wenn ADR1 entsprechend eingestellt ist (siehe ADR1) In dieser Stellung ist die Slave Adresse auf Hex 72 gesetzt In dieser Stellung ist die Slave Adresse auf Hex 74 gesetzt |
JP1 | Spannungsregler aktiv
Das Board verfügt über einen 8 bzw. 9 V Spannungsregler welcher über das I2C-Buskabel mit der Eingangsspannung (Batteriespannung) versorgt wird. Ist die Batteriespannung unter 10V, so kann der Spannungsregler hiermit überbrückt und weggelassen werden. Der Kurzschlusstecker muss jedoch entfernt werden, wenn die Spannung über 10V liegt. I2C-Bus |
I2C-Bus | Wenn Sie die I2C-version des Boards gebaut haben, also den entsprechenden Controller eingesteckt haben, dann ist diese I2C-Buchse für die Steuerung zuständig.
Der I2C-Bus benötig nur 2 Leitungen für alle Funktionen. Entsprechend der Roboternetz-Norm wird hier ein 2x5 poliger Stecker angeschlossen. Die Belegung entspricht exakt der von allen Roboternetz-Boards: Pin 1 SCL (Taktleitung) Pin 3 SDA (Datenleitung) Pin 5 +5V (Wird nur ab Version 1.1 der Platine für Experimentierfeld benutzt) Pin 7 +5V (Wird nur ab Version 1.1 der Platine für Experimentierfeld benutzt) Pin 9 Batteriespannung Diese Leitung wird zur Spannungsversorgung benutzt Pin 2,4,6,8 GND Pin 10 INT Diese Leitung wird bei RN-Digi nicht benutzt |
Bestückungsplan
Bauteile Bestückungsliste
Bauteil Wert Beschreibung ---------------------------------------------------------------------------- ADR1 Stiftleiste 3 polig LU 2,5 MS3 ADR2 Stiftleiste LU 2,5 MS2 C1 100n Keramik Kondensator KERKO100N C2 100n Keramik Kondensator KERKO100N C3 2,7n Keramik Kondensator KERKO 2,7N C4 220uF Elko RAD 220/35 I2C-BUS Wannebuchse Gewinkelt WSL 10W IC1 SAA1064 IC SAA1064 LED Ansteuerung SAA 1064 IC2 7808T Spannungsregler 8V 7808 JP1 Stiftleiste 2polig LU 2,5 MS2 LEDSA10-1 SIEBENSEGMENTSC10 Siebensegmentanzeige 21mm hoch Conrad 160032-U0 LEDSA10-2 SIEBENSEGMENTSC10 Siebensegmentanzeige 21mm hoch Conrad 160032-U0 LEDSA10-3 SIEBENSEGMENTSC10 Siebensegmentanzeige 21mm hoch Conrad 160032-U0 LEDSA10-4 SIEBENSEGMENTSC10 Siebensegmentanzeige 21mm hoch Conrad 160032-U0 R1 22k Metallschichtwiderstand 22k METALL 22K R3 10k Metallschichtwiderstand 10k Metall 10,0k R2 18k Metallschichtwiderstand 18k METALL 18,0K T1 BC338-40 Transistor BC 338-40 BC 338-40 T2 BC338-40 Transistor BC 338-40 BC 338-40 3 Stück Befestigungsbolzen 1 Stück Bedruckte Platine Robotikhardware.de 2 Stück Jumper
Schaltplan
Inbetriebnahme der Digitalanzeige
Nachdem Sie das Board aufgebaut bzw. ein Fertigboard erworben haben, wird hier kurz erläutert wie Sie das Board in Betrieb nehmen.
- Bitte vergewissern Sie sich zunächst, ob alle Jumper korrekt entsprechend der vorhergehenden Beschreibung gesteckt sind. Beachten Sie bei der Slave Adresse, das sich diese nicht mit anderen Boards überscheidet. Insbesondere RNBFRA-Besitzer sollten darauf achten das die PCF-Bausteine auf dem RNBFRA-Board eine andere Slave Adresse besitzen.
- Verbinden Sie das Board über ein 10 poliges I2C-Kabel mit ihrem Controllerboard (passende Kabel gibt es bei robotikhardware.de bzw. lassen sich sehr schnell selbst anfertigen). Achten Sie auch darauf dass ihr Controllerboard die Batteriespannung auf den I2C-Bus legt. Bei RN-Control erfolgt dies über einen Jumper, welcher standardmäßig bereits richtig eingesteckt ist.
- Laden Sie das nachfolgende Testprogramm in Ihren Controller und betätigen Sie Taster 2
Das war´s!
Beispielprogramm für RN-Control
Wie einfach das Board angesteuert wird, kann dem Beispielprogramm entnommen werden. Es ist empfehlenswert, die Unterfunktionen einfach in ein eigenes Programm zu übernehmen. Einfacher geht’s nicht mehr! Wer noch mehr Infos zu der Ansteuerung benötigt kann auch in das Datenblatt des IC´s SAA1064 schaun, dieses ist auf der CD (die dem Bausatz beiliegt) enthalten.
Tastenbelegung im Demo
Taste 1 Zeigt auf allen 4 Ziffern eine 0
Taste 2 Zählt nacheinander alle 4 Ziffern von 0 auf 9 hoch
Taste 3 In dem Demo nicht verwendet
Taste 4 In dem Demo nicht verwendet
Taste 5 In dem Demo nicht verwendet
'################################################### 'rncontrol_digitest.BAS Demo zu RN-Digi 'für 'RoboterNetz Board RN-CONTROL ab Version 1.1 und 'Zusatzboard RN-DIGI (vierstellig großes LED-Display per I2C) ' 'Aufgabe: ' Dieses Testprogramm demonstriert die Ansteuerung von RN-Digi ' Den verschiedenen Tasten sind bestimmte Funktionen zugeordnet ' Taste 1: Alle Ziffern auf 0 stellen (genau wie bei Reset) ' Taste 2: Nacheinander alle Ziffern von 0 bis 9 zählen 'Autor: Frank 'Weitere Beispiele und Beschreibung der Hardware 'unter http://www.Roboternetz.de oder robotikhardware.de 'Eigene Programmbeispiele sind im Roboternetz gerne willkommen! '############################################################## Declare Function Tastenabfrage() As Byte Declare Sub Led_display_init() Declare Sub Led_display(byval Ziffer As Byte , Byval Zahl As Byte) $regfile = "m16def.dat" Const Rn_digi_slave_write = &H70 Const Rn_digi_slave_read = &H71 Const Dezimalpunktziffer = 2 'Segment wo Dezimalpunkt leuchten soll (0=keinen) Dim Segmente As Byte Dim Z As Byte Dim I As Byte Dim N As Integer Dim Ton As Integer $crystal = 16000000 'Quarzfrequenz $baud = 9600 Config Adc = Single , Prescaler = Auto 'Für Tastenabfrage und Spannungsmessung Config Pina.7 = Input 'Für Tastenabfrage Porta.7 = 1 'Pullup Widerstand ein Dim Taste As Byte I2cinit Led_display_init I = 0 Sound Portd.7 , 400 , 450 'BEEP Sound Portd.7 , 400 , 250 'BEEP Sound Portd.7 , 400 , 450 'BEEP Print Print "**** RN-CONTROL V1.4 *****" Print "Das neue Experimentier- und Roboterboard" Print Do Taste = Tastenabfrage() If Taste <> 0 Then Select Case Taste Case 1 For Z = 1 To 4 Led_display Z , 0 Next Z Case 2 For Z = 1 To 4 For I = 0 To 9 Led_display Z , I Waitms 300 Next I Next Z Case 3 Case 4 Case 5 End Select Sound Portd.7 , 400 , 500 'BEEP End If Waitms 100 Loop End 'Diese Unterfunktion fragt die Tastatur am analogen Port ab Function Tastenabfrage() As Byte Local Ws As Word Tastenabfrage = 0 Ton = 600 Start Adc Ws = Getadc(7) If Ws < 1010 Then Select Case Ws Case 410 To 450 Tastenabfrage = 1 Ton = 550 Case 340 To 380 Tastenabfrage = 2 Ton = 500 Case 265 To 305 Tastenabfrage = 3 Ton = 450 Case 180 To 220 Tastenabfrage = 4 Ton = 400 Case 100 To 130 Tastenabfrage = 5 Ton = 350 End Select Sound Portd.7 , 400 , Ton 'BEEP End If End Function Sub Led_display_init() I2cstart I2cwbyte Rn_digi_slave_write I2cwbyte 0 'Control Byte 'Dynamic Alternative Mode und Helligkeit 'Die oberen 3 Bits bestimmen die Helligkeit 'Wenn es dunkler sein soll dann z.b. &B0110111 I2cwbyte &B1110111 I2cstop 'Alle Ziffern auf 0 For Z = 1 To 4 Led_display Z , 0 Next Z End Sub Sub Led_display(ziffer An Byte , Zahl As Byte) I2cstart I2cwbyte Rn_digi_slave_write I2cwbyte Ziffer Select Case Zahl Case 0: Segmente = &H3F Case 1: Segmente = &H06 Case 2: Segmente = &H5B Case 3: Segmente = &H4F Case 4: Segmente = &H66 Case 5: Segmente = &H6D Case 6: Segmente = &H7D Case 7: Segmente = &H07 Case 8: Segmente = &H7F Case 9: Segmente = &H67 Case Else : Segmente = &H80 'Ansonsten Dezimalpunkt End Select If Dezimalpunktziffer = Ziffer Then Segmente = Segmente Or &H80 I2cwbyte Segmente I2cstop End Sub
Damit haben Sie den ersten Einstieg erfolgreich abgeschlossen. Wenn Sie das Demoprogramm gründlich studieren, werden Sie viele Sachen davon ableiten und in eigenen Programmen verwenden können.