Erste Erfahrungen mit Arduino Yun
von Heinz D.
Nachdem wir vom YUN hörten, war die Idee, den YUN für unsere LeoBots
einzusetzen naheligend. Damit können Daten während des Betriebs
gesendet und empfangen werden. Die Anschlüsse für die beiden ersten
Tasten können nicht mehr benutzt werden, weil die WLAN-Kommunikation
darüber läuft.
Schritt 1
Zunächst
sollten Sie die Arduino-IDE 1.5.x installieren. Dann sollten Sie den
YUN über den USB-mikro-Anschluss anschliessen und speisen (5V). Lassen
Sie den Gerätemanager im Ordner '..\arduino 1.5.x\drivers' den
Universaltreiber finden, der automatisch das Board richtig installiert.
Die Netzwerksuche zeigt einen neuen Zugang 'Arduino Yun-xxxxxxxxxxxx'.
In die Konfiguration kommt man mit '198.168.240.1' und Passwort 'arduino'.
Nun starten Sie die Arduino-IDE 1.5.x und laden das Beispiel 'blink'.
Dann wählen Sie unter 'Werkzeuge' das Board 'YUN'. Nun wählen Sie unter 'Werkzeuge' den Netzwerk-Port! nicht den com-Port aus.
Klicken Sie auf Hochladen. Geben Sie das Passwort (arduino) ein und nach einem Augenblick sehen Sie LED13 blinken.
Damit
steht einem 'Fern-Update' nichts mehr im Weg, der YUN muss nur gespeist
werden! ..Mess-Stellen an unzugänglichen Stellen, und und und..
Schritt 2
Senden
und empfangen von Daten mit einem Sketch: Laden Sie den Sketch
hoch. Öffnen Sie den Seriellen Monitor. Senden Sie ein 'H' oder 'L' um
die Led13 ein- und auszuschalten.
#include <Console.h>
int incomingByte; // variable für serial data in
void setup() { // initialize serial communication
Bridge.begin(); // WLAN -> YUN
Console.begin();
while (!Console){ ; } // wait for connect.
Console.println("Verbindung hergestellt!");
pinMode(13, OUTPUT); // LED13 as an output
}
void loop() {
if (Console.available() > 0) { // wenn im serial-Puffer ein Zeichen
incomingByte = Console.read();
if (incomingByte == 'H') { digitalWrite(13, HIGH); } // wenn ein grosses H -> Led13 on
if (incomingByte == 'L') { digitalWrite(13, LOW); } // wenn ein grosses L -> Led13 off
}
delay(100);
}
sketch_feb16b.ino
Senden
Sie mal 'HLHLHL' (am Stück) und sehen was passiert. Während der
Beispiele genügt die Speisung mit 5V (z.B. mit einem Handy-, Raspberry
Pi-Netzteil o.ä.). Zum Schluss noch ein Beispiel, um Werte vom AD0-Port
zu holen und anzuzeigen.
#include <Console.h>
int sensorValue = 0; // AD0-Wert
void setup() {
Bridge.begin(); // WLAN -> YUN
Console.begin();
while (!Console){ ; } // wait for Console port to connect.
Console.println("Verbindung hergestellt!");
}
void loop() {
sensorValue = analogRead(A0); // hole AD0-Wert
Console.println(sensorValue); // sende zum ser-Monitor
delay(100);
}
sketch_feb16b.ino
Download: sketch_feb16.zip
Die
Möglichkeiten sind nur angerissen und bei weitem nicht ausgeschöpft.
(Eine Anpassung des TPR ist in Arbeit.) Bei unseren Beispielen sind PC
und YUN bewusst ohne Netzanbindung! direkt verbunden.
Elektronik-Labor
Projekte
AVR