Hier soll nun über die Arduino-programmierung und derren einsätze berichtet werden
Grüße
Dominik
Sie sind in Begriff, Heimkinoverein zu verlassen, um auf die folgende Adresse weitergeleitet zu werden:
Bitte beachten Sie, dass wir für den Inhalt der Zielseite nicht verantwortlich sind und unsere Datenschutzbestimmungen dort keine Anwendung finden.
Hier soll nun über die Arduino-programmierung und derren einsätze berichtet werden
Grüße
Dominik
Hallo,
Hier mal ein kleines Intro zum Arduino
Zunächst: Was ist ein Arduino?
Der Arduino ist ein Open Source Projekt aus Italien. Arduino bezeichnet eine voll ausgebaute Mikrokontrollerplatform, mit der auch ein Anfänger oder Laie recht einfach eigene Steuerungsprojekte realisieren kann, ohne sich um die Platinenentwicklung für den eigentlichen Kontroller kümmern zu müssen. Der Controller ist quasi komplett aufgebaut und die Ein- und Ausgänge, sei es digital oder analog, sind auf Pfostenleisten herausgeführt.
Programmiert wird über die USB-Schnittstelle. Es ist also kein spezielles Programmierkabel oder gar ein Flasher nötig!!! Ein Standard USB-Kabel wie beim Drucker oder ein Mini-USB-Kabel , je nach Kontroller, und schon kanns los gehen!
Zudem existiert eine eigene und einfach aufgebaute Entwicklungsumgebung (IDE) die zudem noch kostenlos ist!
Wer es eh schon kann und wem die IDE zu einfach ist, kann die Boards auch mit jeder bekannten Entwicklungssoftware über die ICSP-Schnittstelle programmieren. Soviel für die Pro`s…doch zurück zu den Noobs wie mich …
Ein paar einführende Links:
Die Homepage des Projekt:
http://www.arduino.cc
Direkter Link zur IDE (Entwicklungsumgebung):
http://arduino.cc/en/Main/Software
Zudem findet man für fast jedes Problem auf Google auch entweder fertigen Code oder Tips.
Das Herzstück, der Kontroller:
Den Kontroller gibt es in diversen Ausführungen von klein und kompakt bis groß und viel dran.
Eine Übersicht gibt es hier: http://arduino.cc/en/Main/Products
Ich verwende derzeit einen Arduino Mega 2560. Er bietet viele digitale Ein-und Ausgänge, vier (!) serielle Schnittstellen, diverse analoge Ein- und Ausgänge inkl. PWM-Ausgänge. Also ideal auch für größere Sachen wie eine Heimkinosteuerung.
Zusatz- und Erweiterungskomponenten und Shields:
Ein Shield ist eine Erweiterung der Hauptplatine. Diese werden üblicherweise direkt huckepack auf diese aufgesetzt und müssen nicht gelötet oder mit Kabeln verbunden werden. Es gibt z.B. den Ethernet Shield (http://arduino.cc/en/Main/ArduinoEthernetShield ), um den Arduino ins Netzwerk zu hängen als z.B. Webserver oder um ihn zu steuern usw. oder das Motor Shield (http://arduino.cc/en/Main/ArduinoMotorShieldR3) um kleine Motoren oder Schrittmotoren anzusteuern.
Auch gibt es Erweiterungsmodule, welche auch anderweitig verwendet werden können, die sich aber im Dunstkreis des Arduinos entwickelt haben. Da gibt es z. B. Relaiskarten, LCD Displays, Sensoren, uvm.
Eine sehr interessante Seite stammt von einem Arduino-Clone Entwickler.
http://www.sainsmart.com
Dieser hat sehr viele Teile zur Erweiterung und auch Nachbauten des Original Arduino (benutze ich im Übrigen selber und habe noch keinen Nachteil entdeckt).
Die Entwicklungsumgebung (IDE):
Dem Link oben folgend einfach runterladen und entpacken. Installation ist nicht nötig, einzig der USB-Treiber für die Arduino-Hardware muss installiert werden.
Dazu siehe http://arduino.cc/en/Guide/Windows#toc4
Ein Doppelklick auf die Arduino.exe startet die IDE.
Beispiele, wie man die vielfältigen Möglichkeiten nutzt gibt es unter „Datei“->“Examples“. Hier ist für alles Erdenkliche ein kleines Programm mit Kommentaren in Englisch, was man auch direkt in den Kontroller laden kann.
Bibliotheken:
Wie bei den großen auch, gibt es bei Arduino auch Bibliotheken. Diese dienen dazu, etwas kompliziertere Programmaufgaben, wie z.B. die Ansteuerung des Ethernet-Shields oder des Motorkontrollers zu vereinfachen und zu standardisieren. Dies heißt am Ende nichts anderes, als dass z.B. ich nicht die Ausgänge des Motorkontrollers direkt ansteuere, sondern einen Befehl habe, bei dem ich Geschwindigkeit und Richtung vorgebe und es geht los.
Grüße,
Christian
So, und da fängt unser Projekt an: Arduino als Heimkinosteuerung!
Der Christian hat ja bereits in seinem Bau-Thred etwas über den Arduino als Heimkinosteuerung berichtet! Dadurch "angefixt" wollte ich dies unbedingt auch haben. Für mich als Dipl.-Ing. ist es theoretisch kein Problem, aber durch meine Bettlägerig nicht in der Praxis umsetzbar!
Da kam es das Dominik sein Heimkino automatisieren wollte, aber mittels NetIO-AVR von Pollin... und das war der Moment, wo mir der Arduino einfiel! Schnell sind wir auf das jetzige Konzept gekommen: Über den Arduino werden Relais angesteuert über das Netzwerk! Die Bedienung läuft ganz "klassisch" über SmartPhones/TabletPC (Android, iOS) oder WebConsole,über die zentral laufende Java-Open-Source-Software OpenRemote (lauffähig unter Win/, Mac/Linux bspw. Server/NAS oder Raspberry Pi)!
Dominik übernimmt die Hardware-Entwicklung und ich die Software. Im Gegenzug installiert er das System bei mir!
Über jegliche Anregungen sind wir dankbar!
Fehlt nur noch eines: ein Projekt-Name!
Dann laßt eure Ideen sprudeln und haut mal Vorschläge raus!
Grüße,
André
Hi,
wieso über Open Remote? Der Arduino ließe sich doch direkt vom Tablet per z.B. UDP ansteuern ohne "man in the middle".
Generell würde ich eine Ansteuerung direkt aus der App favorisieren. OK, mach ich ja auch so
Oder wollt ihr euch die Arbeit mit der App nicht machen?
Evtl. gibts ja ne Fertige App, die UDP-Befehle direkt verschickt...vielleicht muss ich meine mal umschreiben...
Grüßle,
Christian
wie gut das ich von UDP,etc keine ahnung habe, noch nicht.....
ich habe heute das Ethernet Shield bekommen, jetzt fehlen nurnoch die Relaiskarten (die werden wohl per ESEL verschickt -.-)
Ich hätte also schon Hardware zum ausprobieren hier die relaiskarten sind ja zum programmieren nicht wichtig
Grüße
Dominik
Hi Christian,
ganz einfach, da man über OpenRemote sehr leicht schöne Oberflächen erstellen kann und auch sehr einfach IR/RS232/Funksignale senden (natürlich entsprechende HW vorausgesetzt)! Man muss ja nicht das Rad bei allem neu erfinden!
Damit ist die Kommunikation mit jeglicher Automatisierungstechnik möglich! Auch die Verküpfung mit anderer SW wie FHEM ist möglich!
Ist im großen und ganzen flexibler...
Dominik: dafür bin ich ja da! ist der Arduino auch schon da?
Wie ich gerade sagte, bis auf die Relaiskarten ist alles da Hab sogar mit Hilfe eines Youtube Videos die LED Blinkzeit umprogrammiert xD Stolz wie Oskar ;)
ich denke bis samstag werde ich dir einen Prototypen schicken! damit du richtig die digital Ausgänge testen kannst, erstmal mit web-server, wo du einfach den entsprechenden Ausgang wählen kannst, um sie zu schalten und damit dann auch die Relais! okay?
habe mir jetzt auch den Arduino + Ethernet Shield geordert (zwei-fache Ausführung, eines für den Einsatz und eines für die Entwicklung ; die Idee habe ich von Christian)
Christian: habe gestern ne geile Verteilung geschossen: 7-reihig mit je 24 Elemente: >> Schiegl AV2/7-210
550mm breit, 1100mm hoch und 210mm TIEF! Neu, OVP für 49,93€!!!
Hi,
habe ein kleines Problem! Meine Anduino IDE läuft unter einer Win7 VM eines ESXi-Srv...
Habe den Arduino Mega 2560 am ESXi - Srv mit USB angeschlossen und an die VM erfolgreich übergeben; taucht also als Arduino 2560 (virtueller COM3) auf! Jetzt aber mein Problem: die IDE stelle ich auf COM3 und Arduino Mega 2560! Kompilieren klappt, aber der Upload nicht! Fehler:
Zitatavrdude: stk500v2recv(): checksum error
avrdude: stk500v2recv(): checksum error
avrdude: verification error, first mismatch at byte 0x0268 0x68 != 0xb1
avrdude: verification error; content mismatch
Hat irgendjemand eine IDEe?
Lg,
André
Hmm
evtl. timingprobleme bei der Übertragung. So nen Programm wird ja kontinuierlich da rein geschoben...so ganz glücklich is da ne VM mit virtuellen Ports und so nicht...
Hat es denn mal geklappt? Was lässt denn rein? Testprogramm oder schon deins?
Grüssle,
Christian
Schon das Blink - Testprogramm!
Naja, der "virtuelle COM3" Anschluss habe ich ja nicht erstellt. Die kommen ja vom USB des Arduino (welchen ich an die VM durchgereicht habe) und die haben somit auch pysikalische Host, an denenen ein Arduino hängt!
Habe gerade was interessantes entdeckt, für leute aus dem Steuerungsbau wie mich ;)
Es gibt ein Tool für den Arduino das nennt sich Ardublock, damit kann man das ding so programmieren wie eine SPS ;)
finde ich SEHR geil, kann ich nur empfelen ;)
Grüße
Das durch reichen könnte das Prob ja schon sein...
Und setzt das ganze dann in C um?
Dann brauchst mich ja garnicht mehr!
Dann werde ich mal gucken, dass ich irgendwie einen Standalone Rechner als DevBox für Arduino ans laufen bekomme ...
je länger ich mich damit beschäftige, so schlimmer wird es....
Mein problem ist die kommunikation zwischen arduino und Open remote....
Open Remote ist in meinen augen nicht so einfach wie das dargestellt wird ....
den Ethernet shield hab ich zum laufen bekommen der sendet , den kann ich nämlich über die IP die ich ihm gegeben habe abrufen
Grüße
Hallo,
was wird immer schlimmer?
Wobei hast du Probleme mit OR?
Ich meine das wichtigste ist, dem Arduino eine Standard-Schittstelle zu verpassen, denn dann kann man jedes Frontend nehmen welches man möchte! Das interessante an OR ist das man sehr viel Protokolle nutzten kann und unter einer Oberfläche, wie z.B. die Steuerung von Unterhaltungselektronik via IR-, RS232- oder auch IP.
Kannst du den Arduino anpingen oder was meinst du mit "abrufen"?
das problem ist, ich weiß nicht was ich gemacht habe.
Wie du schon sagtest, ich muss eine Standard schntittstelle erstellen, was ich nicht kann. Und diese Schnittstelle mit OR verknüpfen, das ist eben das problem
Anpingen habeich nicht ausprobiert, hab das alles wieder abgebaut, da ich die nerven verlohren habe
Dominik
Wie, du weißt nicht was du gemacht hast? Das du drauf zugreifen hast?
Die Standard - Schniistelle kümmere ich mich, dass dann mit OR verknüpfen ist kein Thema!
Okay? Das bekommen wir schon hin!
Wieso die Nerven verlohren?
Hi,
ich habe jetzt die gleichen 16er Relais Platinen wie du, aber mir ist der Anschluss noch nicht ganz klar: 1. das Board wird mit den Pins 1 bis 16, z.b. 1 auf 53, 2 auf 52 bis 16 auf 38, GND auf GND, und 5V auf 5V auf den Arduino gesteckt ! Aber was ist mit den Schraubklemmen GND und 5V auf dem Relais Platinen an die ArduinoKarte?
Und wie werden die Relais angeschlossen? Wieso "drei" Asgänge?
Lg,
André
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!