BASIC für PICs Einführung in PICAXE
←
→
Transkription von Seiteninhalten
Wenn Ihr Browser die Seite nicht korrekt rendert, bitte, lesen Sie den Inhalt der Seite unten
Elektor•Post Projekt Nr. 8 BASIC für PICs Einführung in PICAXE Von Wouter Spruit (NL) Standard-Mikrocontroller eignen sich häufig auch für Spezialanwendun- gen. Wenn man die entsprechende Firmware programmiert, kann man eigene Projekte mit besonderen Fä- higkeiten ausstatten. Mit dem PICA- XE-System kann jeder Elektroniker einen Mikrocontroller samt Periphe- rie mit wenig Aufwand und Kosten programmieren. Bild 1. PICAXE-Chip-Größen. Wer? Wie? Was? mierung los zu legen. Es gibt sogar Bausätze Bei den PICAXE-Mikrocontrollern handelt es für Spielzeug wie PICAXE-basierte Roboter. sich um PICs von Microchip, die mit einer spe- Die angebotene Peripherie ist mit umfang- ziellen Firmware von Revolution Education [1] reichen Beschreibungen zum Interfacing mit programmiert sind. Das Konzept des PICA- Mikrocontrollern versehen. Selbst wenn man XE-Systems ermöglicht das Programmieren keine PICAXE-Mikrocontroller einsetzt, ist das und Implementieren von Mikrocontrollern in Angebot auch für andere Controller-Familien Projekte durch ein preiswertes System, das interessant. nicht viel Erfahrung voraussetzt, aber dennoch Wie schon erwähnt ist die spezielle Firm- ein komplexes Interfacing erlaubt, wodurch ware das, was PICAXE ausmacht. Ein PICA- Mikrocontroller auch in größeren Projekten XE-Chip ist ein „normaler“ PIC, der schon mit einsetzbar sind. In der PICAXE-Serie findet der PICAXE-Firmware programmiert wurde man Mikrocontroller unterschiedlicher Grö- und daher einen BASIC-Interpreter und ßen und Formen, vom einfachen Typ mit nur etliche vorgefertigte Funktionen mitbringt. acht Pins bis hin zum komplexeren, 40-poli- Dank PICAXE kann man jederzeit ein PICA- gen Modell 40X2 (Bild 1). In der Zeit seit der XE-BASIC-Programm über eine serielle Ver- Einführung von PICAXE vor über 15 Jahren bindung auf den Controller laden, solange wurden die PIC-Mikrocontrollertypen durch diese Schnittstelle nicht vom Programm selbst neue Modelle ersetzt, was nicht nur zu mehr verwendet wird. Die Ausführung des neuen Speicher und mehr Rechenleistung führte, Codes beginnt sofort. Da der Code hier inter- sondern in vielen Fällen sogar die parallele pretiert wird, ist die Ausführungsgeschwindig- Ausführung von Tasks [2] ermöglicht. keit begrenzt, was code-getriebene Kommu- Der Webstore von Revolution Education [3] nikation mit Peripherie erschwert. Für diese bietet nicht nur PICAXE-Mikrocontroller, son- Zwecke gibt es allerdings fertige und schnelle dern auch Zubehör wie Bauteile, Platinen, Ein-/Ausgangs-Funktionen, sodass man pro- Kabel, I2C-Peripherie, LCDs und Starter-Kits blemlos via I2C mit Peripherie kommunizie- an. Über diese Webseite kann man also alles ren oder beispielsweise IR-Signale generieren beziehen, um direkt mit der PICAXE-Program- kann. Ein großer Vorteil der Verwendung eines elektor post | Projekt Nr. 8 | 1
Elektor•Post Projekt Nr. 8 Interpreters liegt in der Art, wie Code auf die Pin-Belegung diverser PICAXE-Produkte den Controller übertragen werden kann. Für sowie um Inbetriebnahme und Anschluss plus die Programmierung eines „normalen“ PICs einige Tutorials zum Einstieg. Im zweiten Teil benötigt man nämlich ein umfangreiches Ent- werden die BASIC-Befehle beschrieben und wicklungssystem, das im Vergleich zum PICA- aufgeführt, gefolgt von einigen Program- XE-Konzept deutlich mehr Schwierigkeiten bei mier-Beispielen. Der dritte Teil besteht aus Handling und Einsatz macht. PICAXE-Projekte einer Sammlung von Peripherie-Demos. sind üblicherweise mit einer Steckverbindung Im Handbuch sind nicht nur einfache Dinge ausgestattet, die mit den Pins einer seriel- beschreiben wie der Anschluss von Schaltern, len Schnittstelle des Controllers verbunden LEDs oder eines Motors mit Hilfe von Darling- ist. Auf diese Weise kann das Projekt jeder- ton-Transistoren - es geht auch um das Inter- zeit leicht mit neuem Code bestückt werden. facing von PICAXE-Chips mit kommerziellen Sobald die Elektronik eingeschaltet und ein PC Modulen und Chips, wie etwa die Ansteuerung angeschlossen ist, kann ein neues Programm eines LCDs via I2C oder die serielle Kommuni- auf den PICAXE-Chip übertragen werden. kation PICAXEPC. Das Besondere ist, dass Auch wenn das Schreiben und Hochladen sich die Beispiele sogar auf das Interfacing von PICAXE-BASIC-Programmen sehr schnell von Peripherie und Modulen mit Nicht-PICA- von der Hand geht, gibt es doch aufgrund XE-Chips beziehen. Hierbei sollten allerdings des interpretierten Codes Probleme, wenn zulässige Spannungen und Steuerströme der eine Anwendung das Ausführen komple- verwendeten Hardware überprüft werden. xerer mathematischer Funktionen in hoher Auch wenn PICAXE ursprünglich für Lern- und Geschwindigkeit erfordert. Die Ausführungs- Ausbildungszwecke gedacht war, so ist das geschwindigkeit ist für Echtzeit-Anwendungen System doch sehr gut in richtigen kleinen Pro- einfach zu gering. jekten einsetzbar. PICAXE-User stellen ihre Projekte gerne auf der PICAXE-Webseite der Alternativen zu PICAXE Allgemeinheit zur Verfügung. Anwender-Pro- Ein „normaler“ PIC benötigt einen PIC-Pro- jekte haben sich daher zu einem großen grammer, um neuen Code in den Chip zu Schaufenster für die Fähigkeiten dieser Platt- bekommen. Auch wenn Projekte wie „el che- form entwickelt. Die dort gehosteten Foren apo“ [4] die Programmer-Kosten in Grenzen stellen eine gute Quelle für Hilfe und Unter- halten, können die Kosten für den Einstieg mit stützung dar, und man bekommt hier gute einem simplen Beispiel wie einer blinkenden Antworten zu Fragen der Integration von LED doch davon abschrecken, so etwas ein- PICAXE-Chips und ihrer Peripherie in eigene fach mal auszuprobieren. Ähnliches gilt für die Projekte. AVR-Controller von Atmel. Auch wenn durch Arduino [5], das aus einem definierten Board Software & Tools mit AVR-Mikrocontroller samt IDE und Doku- Wie schon erwähnt kann man mit dem PICA- mentation besteht, der Einstieg in die Welt der XE-System BASIC-Programme vom PC per Mikrocontroller erleichtert wird, so ist dieses serieller Verbindung auf einen PICAXE-Chip Konzept doch teurer und komplexer als das laden. Für Windows gibt es eine umfangrei- PICAXE-System. che Software namens „Programming Editor“, mit dem man PICAXE-Chips ganz einfach Support und Dokumentation mit Software bestücken und diese debuggen Aufgrund des Lern- und Ausbildungscharak- kann. AXEpad ist die Cross-Plattform-Alter- ters von PICAXE überrascht es nicht, dass native dazu und für OS X und Linux erhält- hier umfangreiche Dokumentation zur Ver- lich. Sie bietet die wichtigsten Fähigkeiten fügung steht. Das PICAXE-Manual ist beim der Windows-Lösung: einen Editor und das „Programming Editor“ (Windows) und beim Hochladen des Codes auf den Controller AXEpad (OS X oder Linux) dabei und zusätz- sowie ein Terminal und etliche Wizards zur lich auf der PICAXE-Website [6] als PDF ver- Code-Erzeugung. Im Vergleich zum Program- fügbar. Das Handbuch ist dreigeteilt in „Get- ming Editor vermisst man aber einige Fähig- ting Started“, „BASIC Commands“ und „Mik- keiten. Das wichtigste Manko ist sicherlich rocontroller Interfacing Circuits“. Im ersten das Fehlen eines On-screen-Tools zum Test Teil geht es um technische Eigenschaften und eines PICAXE-Programms über eine schritt- elektor post | Projekt Nr. 8 | 2
Elektor•Post Projekt Nr. 8 Bild 2. USB/Seriell-Kabel. weise Simulation. Will man den Editor einsetzen, muss man einen PICAXE-Chip direkt seriell oder über einen USB/Seriell-Konverter an einen PC anschließen (siehe Bild 2) und den verwen- deten seriellen Port beim Programming Editor bzw. bei AXEpad angeben. Außerdem muss man noch festlegen, welche Art von Chip ver- Bild 3. wendet wird. Die Software enthält sogar eine XE-Chip via Steckbrett anschließt. Die hier Pin-Belegung des PICAXE Funktion, mit der man überprüfen kann, wel- relevanten Pins sind +V (1), 0V (8), „serial 08M2. cher PICAXE-Chip-Typ angeschlossen ist. Sie in“ (2), „serial out“ (7) und der Ausgangs-Pin kann sogar die Firmware-Version des ange- für die LED (3). schlossenen Chips auslesen. Ein Programm Bild 4 zeigt die Schaltung für die blinkende kann nach dem Schreiben direkt aus dem LED. Die Anschlüsse für die Stromversorgung Editor in den Chip übertragen werden. Das +V und 0V werden mit einem Netzteil ver- neue Programm startet dann sofort. bunden, das eine Spannung zwischen 3 V und 5 V liefert. Man kann die Schaltung auch per Blinkende LED Batterien in einem Halter (gibt es auch im Die Hello-World-Variante für Mikrocontroller Shop von Revolution Education) versorgen, besteht bekanntlich darin, eine angeschlos- sollte aber im Auge behalten, dass nicht mehr sene LED blinken zu lassen. Bei diesem Bei- als drei Zellen zu 1,5 V oder vier Akkus mit je spiel wird ein Controller des Typs PICAXE 08M verwendet, was aber problemlos auf jeden anderen PICAXE-Chip übertragbar ist. Anhand der Pin-Belegung [7] kann man schauen, an welchen Pin sich die LED anschließen lässt. Beim PICAXE 08M haben wir hierzu Pin 3 (C.4) ausgewählt – die zugehörige Pin-Be- legung des PICAXE 08M2 ist in Bild 3 zu sehen. Obwohl von Revolution Education Star- ter-Packs angeboten werden, die alle nötige Interface-Elektronik umfassen, wird in diesem Bild 4. Beispiel demonstriert, wie man einen PICA- Blinkende LED. elektor post | Projekt Nr. 8 | 3
Elektor•Post Projekt Nr. 8 1,2 V in Serie geschaltet werden. Wie in Bild 5 Listing 1: Ein erstes PICAXE-Programm gezeigt, wird der Code-Upload über die PICA- XE-Pins „serial in“, „serial out“ und „0V“ vor- do ;repeat forever genommen. Wenn die Upload-Schaltung nicht high 4 ;set output 4 high an den PICAXE angeschlossen ist, sollte „serial pause 1000 ;wait 1 second in“ Pin (2) über einen 33-kΩ-Pull-down-Wi- low 4 ;set output 4 low derstand auf Masse gezogen werden. pause 1000 ;wait 1 second Die LED wird über einen Vorwiderstand von loop 330 Ω an Pin 3 und Masse angeschlossen. PICAXE-Programmierung Listing 2: LED und Taster Zunächst installiert man AXEpad (bei GNU/ Linux sowie OS X) oder aber den Program- do ;repeat forever ming Editor unter Windows [8]. Bei Verwen- if pin3=0 then ;if the button is pressed dung eines USB/Seriell-Konverters benötigen high 4 ;light LED Betriebssysteme in der Regel passende Trei- else ;if the button is NOT pressed ber, bevor man den Konverter nutzen kann low 4 ;turn off LED [9]. Im Beispiel wird AXEpad unter Linux ein- endif ;closes if statement gesetzt und ein PICAXE 08M auf einem Steck- loop brett mit einem seriellen RS232-Kabel über eine 3,5-mm-Buchse an den PC angeschlos- sen. Einige Sekunden nachdem die Verbindung zum Chip hergestellt und die Stromversorgung eingeschaltet ist, startet man die Software. Bevor man ein Programm hochladen kann, müssen die richtige PICAXE-Chip-Version und der verwendete serielle Port spezifiziert sein. Bei AXEpad selektiert man den seriellen Port unter View -> Options -> Tab:Port. Auch der Port eines USB/Seriell-Konverters wird hier aufgelistet. Um die Verbindung zu prüfen, transferiert, indem der Upload-Knopf betä- Bild 5. klickt man den Knopf mit der Firmware im tigt, die Option PICAXE -> Programm gewählt Anschluss an den PC. Tab des Dialogs View -> Options. oder F5 gedrückt wird. Der Fortschritt des Nachdem alles richtig eingestellt ist, wird auf Uploads wird angezeigt und der verfügbare die Betätigung des Firmware-Knopfs hin der Speicher des Chips angegeben. Nach dem Typ des gerade angeschlossenen Chips ausge- Upload erscheint „programming successful“. lesen. Wenn ein anderer als der ausgelesene Das neue Programm startet sofort, und die Typ eingestellt ist, sollte man dies korrigie- LED sollte jetzt blinken. ren. Ist alles in Ordnung, kann man jetzt sein erstes PICAXE-Programm schreiben. Hierzu Noch ein Taster gibt man den Code von Listing 1 im Editor Das nächste Beispiel demonstriert, wie man ein. Noch ein Wort zu den Pin-Bezeichnun- eine LED dann leuchten lassen kann, wenn gen: Die internen Namen der Pins sind etwas verwirrend. Einige Chips kann haben meh- rere interne IO-Blöcke, bei denen ein Präfix anzeigt, welcher Block gemeint ist. In diesem Beispiel wird der ältere Chip 08M verwendet, bei dem keine Präfixe notwendig sind. Wenn beim Code von Listing 1 Probleme mit Ihrer Version des PICAXE-Chips auftauchen, ver- suchen Sie einfach mal, das passende Präfix zu verwenden. Beispielsweise für Pin 3, der Ausgang 4 des Blocks „C“ entspricht: „high Bild 6. C.4“. Nun wird das Programm auf den Chip LED und Taster. elektor post | Projekt Nr. 8 | 4
Elektor•Post Projekt Nr. 8 ein Taster betätigt wird. Hierzu schließt man den Taster wie in Bild 6 gezeigt an Pin 4 an. Anschließend wird das Programm von Lis- ting 2 auf den PICAXE-Chip geladen. Nach dem Upload sollte die LED nur noch leuchten, wenn der Taster gedrückt ist. Die Bedingung „if“ im Code prüft, ob der Pegel von Pin 4 durch den Taster auf „low“ gezogen wird. Wenn ja, dann leuchtet die LED – andern- falls nicht. Bild 7 zeigt die Steckbrett-Ver- sion der Schaltung, bei der ein PICAXE 08M mit dem Code von Listing 2 bestückt ist. Die gezeigte Schaltung ist hier nicht mit dem PC verbunden. Die beiden Beispiele demonstrieren, wie ein- fach solche Sachen mit PICAXE sein können. Die benötigten Bauteile findet man leicht im Shop von Revolution Education und die zuge- hörige Dokumentation ebenfalls. Gerade Ein- steiger können so sehr leicht PICAXE-Mikro- controller für eigene Projekte nutzen. (130137) Bild 7. So sieht die Schaltung mit LED und Taster samt Chip auf einem Steckbrett aus. Weblinks [1] www.picaxe.com PICAXE-Manuals [2] www.picaxe.com/What-is-PICAXE/ [7] www.picaxe.com/What-is-PICAXE/ PICAXE-Chip-Sizes PICAXE-Pinouts [3] www.techsupplies.co.uk/PICAXE [8] www.picaxe.com/Software [4] www.rentron.com/myke4.htm [9] www.picaxe.com/Getting-Started/ Driver-Installation [5] www.arduino.cc [6] www.picaxe.com/Getting-Started/ elektor post | Projekt Nr. 8 | 5
Sie können auch lesen