6. FUNK.TAG in Kassel am 27.04.2024

Hier sind die Kurs-Inhalte und Programmtexte des Workshops zu finden.

Startup und Thema I2C-Bus

WasIstArduino 03.pdf
InstallIDE1.pdfInstallation der Entwicklungsumgebung
BedienungIDE1.pdfBedienung der Entwicklungsumgebung
StecktechnikETC 03.pdfSteckbrett und Stromversorgung
I2CTheorie1.pdfI2C Theorie
MesstechnikI2C 02.pdfMesstechnik I2C
Wire Lib 02.pdfWire.h, Arduinos i2C Library
I2CPortExt Exp1 01.pdfExperiment 1: Port Erweiterung über I2C
I2C DA Wandl Exp2.pdfExperiment 2: D/A-Wandlung über I2C
I2C AD Wandl Exp3 01.pdfExperiment 3: A/D-Wandlung über I2C
I2CRealtClockExp4.pdfExperiment 4: Realtime Clock über I2C
I2C ArduinoMasterSlave Exp5.pdfExperiment 5: Arduino I2C Master/Slave
I2C DA Wandl Exp2Review.pdfProgrammreview I2C_DA_Wandl_Exp2

Der SPI-Bus (Serial Peripherial Interface)

SPI Theorie 01.pdfTheorie zum SPI-Bus
Spi Lib 01.pdfDie Arduino - SPI-Library
SPI EEPROMtest 01.pdfEEPROM Test Schreiben lesen
SPI EEPROMtest.inoProgramm SPI_EEPROMtest
SPI EEPROMstruct7 01.pdfEEPROM Test Strukturen schreiben/lesen
SPI EEPROMstruct.zipProgrammfiles SPI_EEPROMstring (gepackt mit ZIP)
SPI POT Exp8.pdfElektronisches Potentiometer via SPI
SPI POT Exp8.zipProgrammfiles SPI_POT_Exp8 (gepackt mit ZIP)
SPI SD Exp9 04.pdfSD-Karten über SPI
SPI SD Exp9.inoDie SP-Library

LCD-Grafikdisplays (TFT) mit paralleler Schnittstelle

Grafik-Display UTFT 01.pdfTFT-Displays mit der UTFT-Library betreiben
UTFTfkt 01.pdfFunktionen der UTFT-Library
GRAFtextUTFTdk4aq.inoTestprogramm Textanzeige
GrafFlaechenUTFTdk4aq.inoTestprogramm Grafische Symbole

LCD-Grafikdisplays (TFT) mit serieller Schnittstelle

Grafik-Display GFX.pdfAnwendung des 1,8" Grafikdisplays mit SPI-Interface
GFX Lib 01.pdfFunktionen der GFX-Library
GRAF2 SPI18Test1.zipProgrammbeispiel, Demo alle Grafik-Funktionen
GRAF2 SPI18Test2.zipProgrammbeispiel, Demo schnelle Schriftanzeige

Zeichenbasierte Displays

Displ3Char1.inoAnwendung von Zeichenorientierten Display (kompatibel zu HD44780)
Displ3Char2.inoDemoprogramm zur Zeichenpositionierung
DISPL16x2.pdfDemoprogram zur Nutzng anwenderspezif. Character

Lesen und Schreiben von SD-Karten

SPI SD Exp9.pdfSD-Karten über die SPI-Schnittstelle absteuern
SD Lib.pdfArduino´s SD-Library
SD ReadWriteExp10.inoSD-Schreib-Lese-Test

Serielle Schnittstellen, Hardware-/Software-Realisierung und über USB

Serial.pdfSerielle Schnittstelle in Hard- und Software, Anschluss über USB
TestSoftSerial.inoTestprogramm mit Hardware-UART und Software-UART

Drahlose Verbindung über Bluetooth

BTtheorie.pdf 570 KKonfiguration eines Bluetooth-Modems und Betrieb an einer seriellen Arduino-Schnittstelle
BluetoothArduino.pdf 1.04 MTestprogramm zur Übertragung einer laufenden Zeitübertragung und eines Helligkeitswertes an einen Bluetooth-Empfänger
bluetooth arduino3.ino 1.05 K

Aktuelles

To top

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 !

Space Experiments...

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

Bild 1 Bedienelement für Tabs
Bild 2 Menü Tabs Erstellung / Verwaltung
Bild 3 Anlegen eine C-Files in neuem Tab
Bild 4 Hauptprogramm mit Funktionsaufrufen
Bild 5 Aufbau einer Funktion

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

ModulareEntw 01.ino
addit 01.ino
subtr 01.ino

Das war´s für 2012 !

Frisch getauft: "Red Rudy" aus der Serie DARC-Rider
Multimedialer drehbarer Sensorkopf (Ultraschall, Helligkeit, Infrarot, Schall)

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

Design-Studie... Mr.Arduino mit Ausgenklappe ?
oder DARC Rider H08 mit Klappdeckel und beweglichen Sensorkopf ??
Oder lieber The Short Red ?
Oder "An extremely well put-together little droid." ―Panaka (http://starwars.wikia.com)
Kollege von www.makershed.com ?

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 !

(mehr)

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 ?

Bluetooth Frame von Seeedstudios inkl. Antenne (ca.2x3cm)

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



 

Arduino Aktuell

To top

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

Bedienoberfläche des Simulators

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 ChipKITUno32, 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

 

Minibloq Entwicklungsumgebung, Quelle: http://www.i-programmer.info/news
Anwendung auch auf einfachen Notebooks
Diese Website nutzt ausschließlich technisch erforderliche Cookies. Wir benutzen keine Cookies, die eine Einwilligung erfordern würden. Weitere Informationen finden Sie in unserer Datenschutzerklärung. X