Hier sind die Kurs-Inhalte und Programmtexte des Workshops zu finden.
Startup und Thema I2C-Bus
Der SPI-Bus (Serial Peripherial Interface)
LCD-Grafikdisplays (TFT) mit paralleler Schnittstelle
LCD-Grafikdisplays (TFT) mit serieller Schnittstelle
Zeichenbasierte Displays
Lesen und Schreiben von SD-Karten
Serielle Schnittstellen, Hardware-/Software-Realisierung und über USB
Drahlose Verbindung über Bluetooth
Arduino in Space !
Hallo,
irgendwelche Ideen über ein Weltraum-Experiment ? Hier die Anfrage zu eigenen Arduino-Experimenten, die in einem Satelliten im Weltraum stattfinden sollen !
Noch irgendwelche Fragen ?
73,
Axel, DK4AQ
Neuer Einsteiger-Kurs zu Arduino 2013
23.02.2013
Leider steht unsere bisherige Kurs-Location nicht zur Verfügung. Wie Ihr aus der Zeitung entnehmen könnt, soll die Freiherr-vom-Stein-Schule in Gifhorn geschlossen und das Gebäude verkauft werden ! Der im Umbau befindliche Rechnerraum ist noch nicht fertig. In dieser unklaren Lage können wir leider nicht starten. Vielleicht tut sich noch etwas anderes auf, wir werden hier informieren.
Wer einen Tip hat zu einem neuen Lehrgangsort ( mit PC-Ausstattung) kann sich gerne bei mir melden.
Ansonsten bitte unter "Workshop Mikrorechner" nachschauen !
Beste Grüße,
Axel, DK4AQ
Modulare Programmierung mit Arduino
04.02.2013
Ab der Version 1.0.3 hat die Arduino Entwicklungsumtgebung die Möglichkeit für jede Funktion (Unterprogramm) ein eigenes File anzulegen. Dieses Feature hat sich (von mir unbemerkt) ab Version 1.0 eingeschlichen ! In unserem Kurs haben wir immer alle Programmteile (Hauptprogramm und Unterprogramme) in einem File untergebracht. Das führte, wie man am Beispiel des Roboters sehen konnte, zu langen Blättereien im Code. Bis man die richtige Funktion ganz hinten gefunden hatte, dauerte es schon sehr lange. Nun kann man jede Funktion in ein eigenes File legen und diese Funktionen durch Knopfdruck in die Entwicklungsumgeung holen.
In Bild 1 sieht man den Pfeil nach unten in der rechten oben Bildschirmgegend. Betätigt man den Pfeil, dann erscheint ein Menü (Bild 2), in dem man Tabs neu erstellen oder verwalten kann. tab sind weitere Files die im verzeichnis des Hauptprogramms (Sketch) erstellt werden. Wird kein Anhang an den Namen des Files angehängt, so wird das File als Programmfile betrachtet Bild 3) Wird ein .h angehängt, so wird das File als Header-File betrachtet und kann für allgemeine Konstanten und Deklarationen genutzt werden. Die Angelegten Files sind mit ihren Namen oben in einer Leiste zu finden und können auf Knopfdruck angezeigt werden.
3 Beipielfiles sind unten angehängt. Sie müssen in ein neues Verzeichnis ModulareEntw gespeichert werden und können dann mit der Arduino-IDE gelesen werden.
Es macht Sinn diese Möglichkeiten dazu zu nutzen, dass Programmteile, insbesondere solche, die häufig genutzt werden oder die unübersichtlich sind, in Funktionen (Unterprogramme) ausgelagert werden und im Hauptprogramm nur noch ein AUfruf der Funktion erscheint (Bild 4).
ergebnis = addit(hopsassa,trallala);
Dem Funktionsaufruf werden in den Klammer Werte übergeben (Übergabe-Parameter), mit denen die Funktion arbeiten soll. Das Ergebnis kann als Rückgabewert der Funktion in eine Variable gefüllt werden. Datentypen und Reihenfolge der Übergabe müssen natürlich der Funktionsdeklaration in der ersten Zeile der jeweiligen Tabs entsprechen.
Die Funktionen in den Tabs sind in der gleichen Form, wie setup() oder loop() aufgebaut (Bild 5). Die erste Zeile im Tab enthält die Deklaration der Funktion:
int addit(int operator1, int operator2)
Das erste int ist der Datentyp der Rückgabewertes. Was dort zurückgegeben wird, ist in der letzten Zeile im return-Befehl zu finden. Die beiden Variablen in der Klammer sind Variablen in die die Übertgabewerte nach Datentyp und in genau der Reihenfolge übergeben werden. Mit diesen (lokalen) Variablen arbeitet die Funktion.
Bei der Übergabe grosser Datenmengen (z.B. Arrays) ist ein Blick in ein C-Lehrbuch bzw. entsprechende Internet-Seiten sinnvoll.
An diesem Punkt muss über die Sichtbarkeit von Variablen (Scope) gesprochen werden:
- Lokale Variablen, sind solche, die innerhalb einer Funktion deklariert werden. Sie sind nur innerhalb der Funkltion bekannt und ihr Speicherraum im RAM wird nach Verlassen der Funktion während des Ablaufs durch andere Inhalte überschrieben. Dadurch wird knapper RAM-Speicherplatz eingespart.
- Globale Variablen sind im obersten Teil des Hauptprogramms (über setup()) deklariert. Alle Programmteile (auch Funktionen) können auf globale Variablen zugreifen. Dort sollten also Werte liegen, die unabhängig vom Programmablauf erhalten bleiben müssen.
Abschliessend sie Anmerkung von mir: die Vorgehensweise ist an die professionelle Entwicklungsweie angelehnt, ist jedoch bei Arduino von erfrischender Einfachheit...
Axel, DK4AQ
Das war´s für 2012 !
12.12.2012
Hallo, liebe Teilnehmer und Interessierte,
das war es für dieses Jahr. Wir hatten eine Kaffee-Runde letzten Donnerstag in einem Klassenraum der Freiherr-vom-Stein-Schule und haben ein wenig diskutiert wie man so einen Kurs es besser machen und wie es weiter gehen könnte.
Klar ist, das es weiter gehen soll nächstes Jahr. Es wird wieder einen Kurs auf dem gleichen Level geben, wir werden versuchen die Werbung noch mehr auf Kinder und Jugendliche zu konzentrieren.
Dem Wunsch eine Fortgeschrittenen-Kurs weiterzuführen kann ich nicht entsprechen, da meine persönlichen Zeit-Ressourcen das nicht hergeben.
Eine andere Lösung wäre, ca. alle 4-6 Wochen einen Samstag-Nachmittag als Themenschwerpunkt zu organisieren. Ein spezielles Thema (wie z.B. I2C-Bus) wird über unsere Page abgestimmt. Mehrere Leute beteiligen sich an der Vorbereitung:
- Theoretische Darstellung (z.B. Erläuterung des Bus-Protokolls und Timings)
- Fertiges Beispiel ( Mikrocontroller kommuniziert mit einem Baustein mit I2C-Schnittstelle)
- Messtechnik (Vorstellung Tool zur Analyse des Bus-Protokolls, praktische Messungen)
- Eigene Umsetzung (Aufbau und Programmierung einer I2C-Anwendung mit Arduino auf dem Steckbrett)
Es gibt jede Menge Verfahren und Techniken, für die solche Veranstaltungen durchgeführt werden können. Es kommen auch Fertigungstechniken für eigene Geräte in Frage: Lötaufbau mit Rasterplatinen, Leiterplattenentwurf und Herstellung, SMD-Technik und Hobby-Fertigung etc. Auch Anwendungen für den Amateurfunk werden Themen sein. Ich denke dieses Treffen werden offen sein für alle mit einer entsprechenden Vorbildung, z.B. durch den gerade beendeten Kurs.
Wenn wir soweit sind, werden wir uns per Mail, auf dieser Internet-Page , per Zeitung und Aushängen melden und hoffen auf rege Beteiligung. diese seiten werden weiter aktualisiert. Arduino-Freaks sollten immer mal wieder reinschauen ! Stay tuned !
Ich möchte mich für die Begleitung und Unterstützung durch die OMs aus dem Ortsverein H08 bedanken. Hans DF3AL, Heinz DG1ACJ, Wolfgang DL2AAX und Christoph DH2AHK, Ihr wart eine wichtige Unterstützung für den Kurs.
Ich wünsche Euch eine schöne Weihnachtszeit und einen guten Jahreswechsel !
DK4AQ, Axel
Aktueller Softwarestand Roboter
07.12.2012
Hallo,
der aktuelle Stand der Roboter-Software ist ROBO9b1. Es wurde noch ein Problem bei der Servoansteuerung behoben und die Batteriespannungs-Überwachung ist durch Auskommentieren der zeile #define BATT_UEBERW abschaltbar und generiert demzufolge keinen Alarm bei Entladung.
Der aktuelle Stand der Diagnose-Software ist Diagnose4_1. Auch hier wurde die Servonasteuerung verbessert.
Beide Softwareverzeichnisse sind als Zip-File unter Arduino-Files zu finden.
vy 73,
Axel, DK4AQ
Änderung bei Spannungsmessung !
18.11.2012
Hallo,
bei der Spannungsmessung hat sich der Fehlerteufel eingeschlichen. Die Spannungsteiler sind falsch. Sie müssen folgendermassen aussehen:
U_antrieb (6V): unterer Widerstand 27k, oberer Widerstand 43k
U_elektronik (9,6V): unterer Widerstand 47k, oberer Widerstand 27k
Damit sieht auch die Umsetzungstabelle aus KE14 nun anders aus, die Tabelle spannungsuebrwachung.pdf lege ich unter Arduino-Files mit ab.
73,
Axel, DK4AQ
P.S. Ein korrekter Schaltplan Robo8k.pdf liegt in der File-Ablage.
Neues Diagnoseprogramm für den Roboter
18.11.2012
Hallo,
nach Problemen mit der ROBO_Diagnose1 habe ich das Prgramm nochmal überarbeitet und jetzt als ROBO_Diagnose2.zip abgelegt. Bei Entpacken des Files entstehen 2 Dateien, die genau unter dem Namen in einem Verzeichnis ROBO_Diagnose2 abgelegt werde müssen. Wird die Datei mit der Enduing .ino gestartet, dann lässt sich das Programm wie gewohnt übersetzen und in den Prozessor laden.
Konstanten sind im File ROBO7.h untergebracht. Dieses File erscheint beim öffnen des .ino-Files bereits als Reiter oben im Editorfenster und kann beim Anklicken editiert werden. Diese Vorgehensweise ist in der normale C-Entwicklung üblich und erlaubt z.B. ein Umlegen der Pins auf eigene Strukturen ohne das eigentliche Programm anzufassen.
Das Programm hat bei mir bei mehrfachem Upload stundenlang mit allen Funktionen gelaufen. Ich hoffe, es tut das auch auf Eurem Roboter.
73,
Axel, DK4AQ
Geschafft, Robo läuft mit Ultraschallsensor!
11.11.2012
Hallo,
so nach hartem Kampf läuft der Roboter jetzt mit Ultraschall. Es ergaben sich mit dem Diagnoseprogramm sehr schnell funktionierende Programmstrukturen. Allerdings tauchten im Fahrprogramm bei mir immer wieder einzeln Nullwerte im Abstand auf, teilweise auch mehrere hintereinander. Es erschien mir als ob nach Richtungswechsel der Motoren häufig Nullwerte auftraten.
Ich habe jetzt ein RC-Filter vor dem Sensor angebracht (10Ohm in Reihe mit dem Vcc-Pin, 10µF Tantalelko parallel von Vcc zu Gnd). Außerdem habe ich die 4 Leitungen zum Sensor stark verdrillt. In der Software ist ein Filter eingebaut, dass immer die letzten 2 empfangenen Werte addiert und durch 2 teilt (arithmetischer Mittelwert). Eine einzelne Null wird außerdem ignoriert und der alte Messwert weiter verwendet. Weiterhin habe ich immer wenn auf Vorwärtsfahrt geradeaus geschaltete wird, den Sensor für 0,5s unterdrückt. Außerdem habe ich die getrennte 9V-Batterie gegen eine Aufstockung der Fahrbatterie mit 3 Zellen getauscht. ich kann nun 6V für den Motor entnehmen und 9,6V für den Vin-Eingang des Prozessors.
Ob das alles wirklich nötig ist, kann man erst bei schrittweiser Entfernung sagen...
Der Sensor scheint mit seinen 10µs-Steuerpulsen doch sehr empfindlich zu sein. Vielleicht macht es Sinn die beiden Signalleitungen abgeschirmt an den Prozessor zu führen. Unsere recht brachialen Motoren (Qualität der Kollektoren mit Funkenerzeugung) könnte sich da auswirken.
Unter Arduino-Files findet sich ROBO7usA.ino, falls Ihr probieren wollt.
Mein Roboter hat sich gerade erfolgreich 1/2h durch unseren Flur gekämpft und mit herumstehenden weichen Taschen, abgehenden Türen, Wänden, Schuhen gekämpft. Die Bodenhaftung ist natürlich auf Fliesenboden ein Problem.
Grüße
73,
Axel, DK4AQ
Ardu-Buck(et) vom Stamme der DARC Rider läuft!
4.11.2012
Gestern war es soweit. Die doch nicht unerhebliche mechanische Fummelarbeit und die wegen Platzproblemen nicht weniger schwierige Verdrahtung waren fertig. Es gab noch ein paar Probleme mit Motorrichtung und Sensorvertauschung und dann gings los ! Hurtig spurtete das Gerät durch den Flur und alle Elastizitäten der Sensorhebel wurden beim Aufprall ausgenutzt. Einmal verfing sich der vordere Sensorhebel beim Rüchwärtsfahren vom Hindernis weg. Das verbog den Hebel des Mikroschalters erheblich. Lerneffekt: Anschläge einbauen, die die mechanische Überlastung der Mikroschalter verhindern...
Nach etwas Tuning an Zeiten und PWM-Werten für den Motor ergab sich ein brauchbares Verhalten. Allerdings das Entkommen aus einem Stuhlbeingewirr hat nicht geklappt...
Also ich bin gespannt auf Donnerstag ! Das gibt Futter für Video-Kameras. Ich hoffe, ich vergesse meine nicht...
Das letzte erfolgreiche Steuerprogramm ROBO4 ist unter Arduino-Files zu finden. Es arbeitet mit der letzten Schaltung, die ich in der letzten Kurseinheit gezeigt hatte.
Ich vermute, wir werden viel Zeit benötigen, bis alle Robots laufen. Ob die sehr nützlich Ultraschall-Sensorik (frühe Erkennung von Hindernissen!) noch fertig wird, kann ich nicht sagen
Beste Grüße, 73
Axel, DK4AQ
Mr.Arduino
Noch `ne Lochrasterkarte ! (getestet und läuft)
Hallo,
mein Entwurf für die Doppel-H-Endstufe passt leider nach Anbau aller Sensor-Schalter, der Stromversorgung und der Befestigungsklötze für die Aussenhülle bei mir (!) nicht mehr rein. Daher habe ich eine andere Form der Lochrasterkarte gewählt und außerdem die zwei Sensor-Schaltverstärker draufgebracht. Die Karte findet nun auf dem Podest für das Stützrad Platz. Die Schaltung lässt sich sicher auch direkt vom Steckbrett realisieren, man muss nicht zwingend die Lochrasterkarte bauen. Mir dient es nur zur Verbesserung der Zuverlässigkeit und zur Platzgewinnung für weitere Versuche auf dem Steckbrett.
Übrigens sind die Aussparungen und Schrägen für meine Befestigungstechnik passend, das muss jeder selbst anpassen.
DIE KARTE WURDE AUFGEBAUT UIND GETESTET. SIE LÄUFT EINWANDFREI !
Grüße
Axel. DK4AQ
Lochrasterkarte für Leistungsendstufe
14.10.2012
Hier noch eine Arbeit des letzten Wochenendes: ich habe mir überlegt, die Doppel-H-Brücke auf eine eigene Lockkarte zu bringen. Grund ist der Platzbedarf für weitere Sensorik auf dem Steckbrett und die Motorströme voln ca. 1A in der Summe. (mehr)
Der gestörte Interrupt...
14.10.2012
Letzten Donnerstag gab es ein Problem mit dem Interrupt, der durch die Reflexlichtschranke ausgelöst werden sollte. Es wurde pro Signalflanke nicht nur ein Interrupt ausgelöst, sondern gleich einige Dutzend. Ausserdem war bei Handbetrieb des Sensorrades manchmal keine Interrupt zu sehen. (mehr)
Hallo,Hallo....Arduino am Smartphone ?
Angeregt durch verschiedenen Berichte im Internet über die Möglichkeit Arduino mit einem Bluetooth-Zusatzplatinchen an Smartphones zu koppeln habe ich mal recherchiert. (mehr)
Ergebnisse der Ferienaufgaben
Die gestellten Ferienaufgaben wurden von den Teilnehmern vorgestellt.
David Wöckener hatte die Aufgabe bekommen mit Hilfe eines Ultraschall-Distanzmessers und einem Servo die Ergebnisse eines Scans über den Drehbereich des Servos ein Array mit den Ergebnisse der Messungen zu füllen. Leider funktionierte das ausgeliehene Servo nicht... (Sorry, DK4AQ). Er hat eine andere Aufgabe erfunden, die auch ganz cool ist: Aufbau einer Alarmanlage für Diamanten, Gemälde und andere wertvolle Dinge. Die Lage eines wertvollen Objektes wird ständig über den Abstand zum Ultraschall-Distanzmessers bestimmt. Wird das Objekt nun aus der Lage entfernt oder verschoben, so wird unter Beachtung einer geringen Toleranzzone ein Alarm ausgelöst !
Thorsten Wolf brachte die Ergebnisse einer Gemeinschaftsarbeit aus dem Urlaub mit. Sein Team hatte mit Hilfe des Roboterarms aus dem Schnuppernachmittag einen Himmelsscanner zur Auffindung der hellsten Stelle auf der Himmelskuppel entwickelt. Der Scanner tastet mit Hilfe des Roboterarms mit 2 Servos und einem lichtempfindlichen Widerstand (LDR) einen Teil seiner Umgebung 3-dimensional ab und speichert die Ergebnisse in einem Array. Danach fährt der Arm auf den hellsten gefundenen Punkt. Das geschah mit verblüffender Präzision. Nicht genug damit wurde im Team eine Anbindung mit Hilfe der zum Arduino-Projekt gehörigen Processing-Entwicklungsumgebung auf dem PC (Basis Java) eine Daten-Kopplung zwischen dem PC und dem Arduino erstellt. Processing hilft bei solchen Problemstellungen z.B. eine grafische Online-Darstellung der Rechenergebnisse auf dem PC zu entwickeln. Da Java sehr ähnlich zur Sprache C ist und die Entwicklungsumgebung ähnlich der Arduino-Umgebung, kann man vom Gelernten profitieren. Processing war bisher nicht Teil des Kurses ! Das führte dazu, dass man die Verteilung der Flurlampen von Thorsten deutlich auf der Darstellung sieht !
Eine weitere Aufgabe wurde von dem Team vorgestellt, ein programmierbarer Timer mit 7-Segmentanzeigen. Der Timer lässt sicvh über zwei Tasten (+/-) auf enen Wert einstellen. Dann kann man den Timer starten un er zählt von dem eingestellten Wert im Sekundentakt herunter. Wenn er bei Null ankommt wird ein akustisches Signal über einen Piezo-Geber ausgelöst. Funktionierte einwandfrei !
Insgesamt sind das beeindruckende Ergebnisse, die zeigen, dass man mit etwas Geduld und mit Unterstützung durch die Informationsquellen aus dem Internet gut auch eigene Umsetzungen hinbekommen kann.
Mitgelieferte Schaltpläne, Aufbauläne und Programme sind als ZIP-File auf der Seite Arduino-Files zu finden.
Axel, DK4AQ
Nachwuchs in der Arduino Familie
Nachdem sich Arduino bei den Prozessorherstellen als Synonym für „schnell anwendbare Prototypen“ eingebürgert hat, sind viele Prozessorhersteller auf der Jagd nach den „Arduino-Vätern“. Die Firma Intel z.B. hat ihr Board „Galileo“ zusammen mit der Arduino-Crew bearbeitet und eine Anpassung der Entwicklungsumgebung beauftragt. Es gibt noch mehr große Firmen, die mit solchen Aktionen hoffen, daß Entwickler unter Zeitdruck oder begabter Nachwuchs mit ihren Produkten arbeiten. Neuestes Ergebnis ist der „Arduino TRE“.
Der Sitara AM335x Prozessor stammt von Texas Instruments. Er arbeitet mit 1 Ghz Taktfrequenz und erlaubt ca. 100mal höhere Rechenleistung als die Arduinos mit dem Atmega (Uno, Nano, Leonardo...). Der Prozessor wurde intern mit dem Kern ARM Cortex-A8 ausgestattet. Diese Kerne werden derzeit von vielen Herstellen in Lizenz verwendet. Das Board ist also auf Seiten des Prozessors durchaus verwandt mit dem Rasberry-Pi, allerdings ist die A8-Version wesentlich leistungsstärker. Einerseits kann das Board mit Betriebssystemen wie Linux, Windows-CE etc. arbeiten oder (für sehr schnelle Anwendungen) auch ohne Betriebssystem wie die kleinen Arduinos.
Der Arduino TRE hat als zweiten Prozessor einen ATmega32u4 an Bord. Er bedient kompatibel die Schnittstellen der Arduino-Shields. Und auch die Verwendung der Arduino-Bibliotheken zum Anschluss vieler Peripherie-Bausteine bleibt so möglich.
Im Gegensatz zum Raspberry-Pi hat der Arduino TRE durch den ARM-Cortex-A8-Kern hardwaremässig DSP-Funktionen verfügbar. Damit kommen auch SDR-Anwendungen in den Anwendungsbereich.
Technical Specifications (preliminary)
Microcontroller | Atmel ATmega32u4 |
Clock Speed | 16 MHz |
Flash Memory | 32 KB (ATmega32u4) |
SRAM | 2.5 KB (ATmega32u4) |
EEPROM | 1 KB (ATmega32u4) |
Digital I/O Pins (5V logic) | 14 |
PWM Channels (5V logic) | 7 |
Analog Input Channels | 6 (plus 6 multiplexed on 6 digital pins) |
Processor | Texas Instrument Sitara AM3359AZCZ100 (ARM Cortex-A8) |
Clock Speed | 1 GHz |
SRAM | DDR3L 512 MB RAM |
Networking | Ethernet 10/100 |
USB port | 1 USB 2.0 device port, 4 USB 2.0 host ports |
Video | HDMI (1920x1080) |
Audio | HDMI, stereo analog audio input and output |
Digital I/O Pins (3.3V logic) | 12 |
PWM Channels (3.3V logic) | 4 |
MicroSD card | |
Support LCD expansion connector |
Axel, DK4AQ
Quellen:
http://arduino.cc/en/Main/ArduinoBoardTre#.UxNvAeNdWSo
http://www.ti.com/product/am3359
Neue Version des "Simulator for Arduino"
Gifhorn 23.06.2013
Hallo,
ich habe mir gerade die Verson 0.98 heruntergeladen und getestet. Ich habe Files aus unserem letzten Workshop geladen (IDE 1.0.5) und versucht sie zu simulieren.
Obwohl die Idee zu diesem Tool faszinierend und die bisher funktionierenden Teile prima arbeiten, traten wieder mehrere Fehler auf. Der Simulator erkennt C-Konstrukte nicht und kann mit den TABs (Unterprogrammen im gleichen Verzeichnis) nichts anfangen auch Arduinos SPI.lib ergab Fehler beim Aufruf. Ich ( und andere) haben bei den letzten Versionen schon einige Fehler gemeldet und diese wurden auch innerhalb weniger Monate behoben. Leider scheinen sich die Entwickler mehr an den in der Referenzseite von Arduino.cc bechriebene Konstrukte zu orientieren als an einen C-Umfang, der deutlich darüber hinaus geht. Prozessor und IDE haben da keine Probleme ! Für beide ist der gesamte physikalisch machbare C-Umfang des GNU-Compilers für die ATmega-Prozessoren nutzbar.
Da ich einen Simulator als Tool sehe, um Programmfehler zu finden, halte ich den jetzigen Stand leider für unbefriedigend. Derzeit kann man die Version 0.98 für ca. 12€ herunterladen. Zum Jahresende soll die Version 1.0 erscheinen und der Preis deutlich erhöht werden. Ich hoffe, das dieser sehr schöne Ansatz bis dahin in enem deutlich grösseren C-Umfang funktioniert.
Axel, DK4AQ
Arduino: nach oben offen !
05.02.2013
Gerade ist über meine Firmen-Mailadresse vom Distributor mouser.com ein Link zur den neusten Prozessorboards eingetroffen, die sich mit einer Arsuino-kompatibelen Entwicklungsumgebung programmieren lassen. Komischerweise haben die Produkte häufig die Endung ...duino oder den Begriff Uno im Namen. Die Entwicklungsumgebung ist so einfach zu bedienen, daß man sie Profis als Spielsoftware zum Ausprobieren neuer Prozessoren anbietet. Folgende Prozessoren sind im Angebot:
Beagleboard mit dem Texas Instrument AM335x Sitara™ MPUs, ARM® Cortex™ A8 Core läuft bei 720MHz
Cerbuino Bee Mainboards STMicroelectronics STM32 F4 Series MCUs mit ARM® Cortex™-M4 core running at up to 168 MHz
Olimex OLinuXino-MAXI, Microchip PIC32 MCUs, 32-Bit MIPS M4K Core läuft bei 80MHz
Microchip ChipKIT™Uno32, Microchip PIC32 MCUs, 32-Bit MIPS M4K Core, läuft bei 80MHz
Das sind nun definiv nicht mehr Prozessoren vom Typ "Waschmaschinen-Prozessor", wie der tapfere ATmega328 mit seinen 12MHz. Falls man als Bastler mal das obere Leistungsende erreicht, dann gibt es Möglichkeiten...
Hier der Link.
Axel, DK4AQ
Minibloq: Grafische Programmierung für Arduino
Parallel zu Bemühungen verschiedener Institutionen wurde eine grafische Programmiersprache zur Programmierung von Arduinos entwickwelt. Diese Sprachen versuchen einerseits die etwas sperrige Welt der Programme durch eine grafische Symbolstruktur zu ersetzen. Ziel ist im wesentlichen der einfache Einstieg von Kindern und anderen Neulingen in das algorithmische Denken. Bekannt sind hier Educational-Projekte des MIT (Massachusetts Institute of Technology) wie z.B. die Sprache "scratch". Aber auch Andere versuchen sich auf dem Feld (Elektor mit Flowcode ©, LEGO Mindstorm © etc.) Alle diese visuellen oder grafischen Sprachen genrieren im Verborgenen C- oder Java-Texte, die später über den bekannten Weg übersetzt werden.
Für die Arduino-Welt haben zwei Entwickler die Sprache Minibloq als Open-Source-Projektentwickelt. Julián Da Silva Gillig ist Lehrer und Software-Entwickler in Argentinien und startet gerade eine Roboter-Gruppe. German Picasso macht gerade seinen PhD in Biomedical Engineering an der Northwestern University in Chicago.
Unter http://blog.minibloq.org lässt sich die Entwicklungsumgebung herunterladen und sofort (wie gewohnt) mit einem Arduino-Board betreiben. Ob einem die grafische Darstellung gefällt oder nicht muss jeder für sich entscheiden. Zu einem Versuch mit Kindern unter 11 Jahren (!) lädt das Projekt auf jeden Fall ein. Da auf Wunsch der generierte C-Code in einem Fenster angezeigt werden kann ist es vielleicht sogar ein guter Einstieg.
vy 73,
Axel, DK4AQ