Die Umsetzung eines elektronischen Würfels mit fischertechnik.
Die Software funktioniert auch ohne eine angeschlossen Hardware wie dem ROBO TX Controller oder dem ROBO Interface. Bei vorhandener Hardware den Schalter auf Eingang 1 und die Lampen an die Ausgänge O1 bis O7 schalten.
Hier der verwendete fischertechnik ROBO TX Controller
fischertechnik ROBO TX Controller
Zur Funktion:
Die ODER-Funktion (1) gestattet den Würfel sowohl per Tastendruck, als auch per Schalter an Eingang I1 des Controller zu starten.
Die Zählschleife (2) inklusive Wartezeit wäre eigentlich entbehrlich. Sie sorgt quasi für ein langsames Ausrollen unseres Ergebnisses.
Die Zufallsfunktion wird unter (3) mit dem Programm RanUni realisiert.
Das Programm Null setzt alle Ausgänge auf Low.
Unter (4) erfolgt dann das Setzen der entsprechenden Ausgänge und Anzeigefelder.
Dies ist ein schönes Beispiel wie man auch ohne angeschlossen Hardware arbeiten kann. ROBO Pro bitte dafür in den Simulationsmodus schalten.
Theoretisch reicht für die Simulation auch schon die kostenlose ROBO Pro Demo Version von der fischertechnik Homepage.
Dem ROBO TX Controller mehr Ein-/Ausgänge verpassen
Gerät
Fischertechnik Robo TX Controller
Thema
Port Erweiterung per I2C Bus
Ziel
Mehr Eingänge /Ausgänge für LED´s, Schalter etc.
Bauteile
Port Expander PCF8574, LED, Widerstände, Lochrasterplatine oder Laborsteckbrett, Verbindungsdrähte
Kosten
5€
Schwierigkeitsgrad
mittel
Ein häufiges Problem in der Robotik ist die unzureichende Anzahl der Ein- und Ausgänge. Verfügt die Steuerung oder der Mikrocontroller über einen I2C Bus geht, dies mit entsprechenden Schaltkreisen recht einfach zu lösen.
Der ROBO TX Controller kann seit 2012 I2C ansteuern. Der Arduino, Lego NXT Baustein und diverse Mikrocontroller welche deren Basis sind, können dies ebenfalls. Ein geeigneter günstiger Baustein dafür ist der Schaltkreis PCF8574.
Der I2C Port Expander PCF8574
Der PCF8574 ist ein sogenannter I/O Port-Expander. Man bekommt in ca. für 1 €. An weiteren Bauteilen braucht man eigentlich nur ein paar Widerstände. Der PCF8574 hat 8 Pins welche man als Ein- oder Ausgänge nutzen kann. Die Kommunikation mit den Controller erfolgt über den I2C Bus.
Der PCF8574 ist eine einfache und günstige Möglichkeit mal den I2C Bus auszuprobieren. Egal ob mit fischertechnik, Lego NXT oder Arduino.
Einsatz des PCF8574 beim ROBO TX Controller
Der PCF8574 wird über die beiden SDA und SDL Ports für die Kommunikation mit dem TX verbunden. Obwohl es eigentlich ein Zweidrahtbus ist, benötigen wir noch eine Masseverbindung. Sollten wir nur ein paar LEDs ansteuern, können wir auch die 5V Betriebsspannung vom TX bekommen.
Adressierung PCF8574
Der PCF8574 hat drei Adresspins (A0..A2). Damit lassen sich maximal 8 Schaltkreise an einem gemeinsamen Bus betreiben. Da jeder über 8 Eingänge /Ausgänge verfügt könnte man damit zum Beispiel 64 LED´s steuern. Im einfachsten Fall setzt man alle Adresspins auf Masse und der Schaltkreis hat die Adresse 20Hex.
A2
A1
A0
PCA8574
PCA8574A
0
0
0
20h
38h
0
0
1
21h
39h
0
1
0
22h
3Ah
0
1
1
23h
3Bh
1
0
0
24h
3Ch
1
0
1
25h
3Dh
1
1
0
26h
3Eh
1
1
1
27h
3Fh
Vom PCF8574 existieren verschiedene Ausführungen, erkennbar am Buchstaben nach “PCF8574”. Somit könnte man theoretisch auch mehr als 8 IC pro Bus ansteuern.
Der PCF8574 als Ausgangstreiber
Der PCF8574 hat sogenannte Open Collektor Ausgänge. Diese schaltet im aktiven Zustand den Ausgang nach Masse durch. Im einfachsten Fall kommt an den Ausgang eine LED mit Vorwiderstand gegen die Betriebspannung. Maximal verkraften die Ausgänge 25mA pro Port bzw. 200 mA in Summe. Ein kleines Leiterplattenrelais könnte man damit schon ansteuern. Für größere Lasten braucht man eine Transistorstufe. Durch den Open Collektor Ausgang könnte man aber auch die Ausgängen an ein einen anderen Spannungspegel legen. Zum Beispiel an die 9Volt der fischertechnik. Die Widerstände müssen dann etwas höher ausfallen.
Bei höherem Strombedarf der I2C Komponenten ist es sowieso notwendig diese aus einer separaten Spannungsquelle mit den benötigten 5 Volt zu betreiben. In diesem Beispiel ist aber die Spannungsversorgung des EXT2 Anschlusses beim TX Controller ausreichend.
Hier noch mal die Anschlussbelegung des TX Controllers:
fischertechnik Robo TX connections
Portexpander PCF8574 LED Ausgänge auf Breadboard
Die Ansteuerung des PCF8574 in ROBO Pro
Bei der aktuellen ROBO Pro Version gibt es diverse I2C Bibliotheken.
Ich verwende hier die” IOPort-PCF8574″. Speziell für die Ausgabe reicht die Funktion “I2C-Port Set”. Als erstes prüft man am besten ob die Funktion immer über den Error Zweig verlassen wird. Dann gibt es entweder ein Verkabelungsproblem mit dem Bus oder die Adresse des PCF8574 ist nicht richtig eingestellt. Bitte auch die Pins 1 bis 3 auf entsprechenden Spannungspegel setzen.
ROBO Pro und Portexpander PCF8574 als Ausgangserweiterung bei fischertechnik
Das Programmbeispiel zählt einfach von 0 bis 255 hoch und setzt dem entsprechend die 8 LEDs im Binärcode.
Nach dem ich schon einige Lösungen beim Arduino gesehen hatte, beschloss ich mal einen Morcecodeübersetzer für fischertechnik zu schreiben.
Leider beherrscht die Programmierumgebung ROBO Pro keine Tonerzeugung. Ansonsten brauchte man noch nicht einmal Hardware. Als Hardware kann man das ROBO Interface oder den ROBO TX Controller einsetzen. Wer auf Ton verzichten kann, dem reicht auch schon die ROBO Pro Demo von der fischertechnik Homepage.
Mit Hardware schließt man an den Ausgang1 eine Lampe oder/und einen Buzzer an.
Die Idee zu diesem Morsegenerator kam mir durch ein ähnliches Projekt für den Arduino in dem Buch “30 Arduino Selbstbau-Projekte”. Den Quellcode der Programm kann man hier herunterladen. Für das Verständnis der Programm ist aber schon das Buch notwendig.
Beschreibung fischertechnik Morsecode Generator:
In das Textelement (1) kommt der Text welcher als Morsecode ausgegeben werden soll.
Die nächste Befehlsbox (2) gibt den Text Zeichenweise als ASCII Code aus.
Der ASCII Code dient als Index für die Liste (3). Diese enthält den Morsecode. Da die Liste nur Zahlenwerte aufnehmen kann, habe ich den Punkt mit “1” und den Strich mit “2” übersetzt. Dies wäre schon der schwierigste Teil wenn ROBO Pro Textstrings verarbeiten könnte.
So zerlege ich erstmal den maximal 5 stelligen Morscecode in Einzelziffern um diese nacheinander abzuarbeiten (4).
Die Ausgabe besteht aus einem Unterprogramm welches die Ziffern aus der Liste nach 0, 1, 2 unterscheidet und der eigentliche Ausgabe, welche je nach Zeichenlänge Ausgang 1 aktiv schaltet.
Damit alle Programmteile synchron laufen und die Morsezeichen die korrekte Längen und Pausen haben, gibt es diverse Ja/Nein-Blöcke. Die Variablen zwischen Liste und Ausgabe sind eigentlich überflüssig, zeigen aber schön die Funktionsweise.
Die Zeichen- und Pausendauer kann mit dem Schieberegler angepaßt werden.
Mit dem fischertechnik Robo Interface läßt sich auch eine LED RGB-Leiste ansteuern. Da nur 8 Spannungstufen zur Verfügung stehen, sind die Farbübergänge nicht fließend. Aber das Prinzip kann man damit gut nachvollziehen. Mit dem TX Controller geht leider wegen anderer Ausgangstreiber ein Dimmen gar nicht.
Die 12 Volt LED Leiste hat eine gemeinsame Anode (+). An die Lampenanschlüsse O1, O3, O5 kommen die jeweiligen negativen Pole der LED-Leiste. Das Programmbeispiel fährt alle Farbkombinationen durch.
ROBO Pro RGB LED Zufall
Die Farben lassen sich auch per Zufallsfunktion mischen.
Zum Einsatz kam die RanUni Funktion aus der ROBO Pro Bibliothek (neuere ROBO Pro Version!).
Neues Flaggschiff der fischertechnik Computing Reihe ist der Baukasten ElectroPneumatic.
Er beinhaltet die 4 folgende Modelle:
Druckluftmotor
Farbsortierroboter
Kugelparcours mit Vakuumgreifer
Flipper
Zwei Magnetventile übernehmen die Steuerung der Druckzylinder. Ein optischer Farbsensor ermöglich die Unterscheidung farbiger Bausteine.
Der Flipperautomat ist sicher das beeindruckendste Modell. Bei diesem Baukasten kommt erstmalig ein kompakter Druckluftkompressor zum Einsatz. Dieser ersetzt in Zukunft den bisher aus Einzelteilen (Minimotor, Ventil, Zylinder) zu bauenenden Kompressor. Bisher mußte man oft auf andere Kompressoren ausweichen.
Diese Website verwendet Cookies von Google, um ihre Dienste bereitzustellen, Anzeigen zu personalisieren und Zugriffe zu analysieren. Informationen darüber, wie Sie die Website verwenden, werden an Google weitergegeben. Durch die Nutzung dieser Website erklären Sie sich damit einverstanden, dass sie Cookies verwendet. OK
Privacy & Cookies Policy
Privacy Overview
This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.
Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.