Erste Erfahrungen mit Arduino Yun          

von Heinz D.                      
Elektronik-Labor   Projekte   AVR    



http://www.elo-web.de/elektronik-lernpakete/bauteile/arduino-y-n

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