Schadl, Lukas
Arduino Grundbefehle:
delay(x): Legt eine Pause für Millisekunden (x) fest
digitalWrite: Digitalen Zustand von Pins festlegen
digitalRead: Digitalen Zustand von Pins lesen
loop: Wiederholung aller Ausführungen
continue: Überspringt ausführbare Quelltexte in Schleifen
break: Schleife vorzeitig verlassen
input: Legt den Pin als Eingang fest
output: Legt Pin als Ausgang fest
pinMode: Legt fest, ob ein Pin In- oder Output ist
Arduino Display Grundbefehle:
#include :
LiquidCrystal-Objekt mit dem Namen lcd wird angelegt.
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
Verwendete digitale Output-Pins werden als Parameter angegeben.
lcd.begin(12, 1);
Im Setup wird die Displaykonfiguration übergeben. Die beiden Parameter stehen für die Zeichenanzahl einer Zeile und die Zeilenanzahl. In diesem Beispiel 12 Zeichen und 1 Zeilen:
lcd.print("hello there!");
Mit „print“ lassen sich Nachrichten auf das Display schreiben. Hier: “hello there“.
lcd.setCursor(0, 1);
lcd.print(millis() / 1000);
Möchte man etwas an eine bestimmt Position schreiben, muss man erst den Cursor verschieben. Hier auf das erste Zeichen der zweiten Zeile (es wird ab der 0 gezählt). Im Beispiel werden die aktuellen Millisekunden/1000 ausgegeben, die Zeit seit dem einschalten.
Zufallsgenerator elektronischer Würfel
- Arduino Uno
- 7 Leds
- Breadboard
- 7x Widerstand (220 Ohm)
- Taster
- Kabel (Jump Wire männlich)
Der elektronische Würfel ermittelt per Knopfdruck eine von 51
Zufallszahlen, welche durch die sieben Würfelaugen, hier die sieben
Leds, angezeigt werden. Zuerst blinken diese wild durcheinander, bis
schließlich eine zufällige Anzahl an leuchtenden Leds bleiben.
Der Code: Zuerst werden die von den Leds belegten Pins, Würfelzahlen
als ein 2d arid und den Pin des Taster mit der Statusabfrage deklariert.
Danach werden die Leds als Ausgang und der Taster als Eingang
definiert, von denen der Arduino ein Wert „high“ oder „low“ bekommt.
In der Loop wird zuerst der Status des Tasters abgefragt, wobei an dem
abgefragten Wert eine „if“ Bedingung gestellt ist. Wenn der Taster
nämlich gedrückt wird, sollen die 51 Zufallszahlen erzeugt werden,
welche nacheinander über die Leds wiedergegeben werden. Die 51
Zahl ist dann die gewürfelte Zahl. Der Delay am Ende soll das ausrollen
des Würfels simulieren.
int led[] = {13,12,11,10,9,8,7};
int augen[6][7] = {{0,0,0,1,0,0,0},
{1,0,0,0,0,0,1},
{1,0,0,1,0,0,1},
{1,0,1,0,1,0,1},
{1,0,1,1,1,0,1},
{1,1,1,0,1,1,1}};
int button = 4;
int buttonStatus;
void setup() {
for(int index = 0; index <= 6; index++)
pinMode(led[index],OUTPUT);
}
pinMode(button, INPUT);
digitalWrite(button, HIGH);
}
void loop() {
buttonStatus = digitalRead(button);
if (buttonStatus == LOW)
{
for(int index1 = 0; index1 <= 50; index1++) {
int zufall = random(0,6);
for(int index2 = 0; index2 <= 6; index2++)
{
digitalWrite(led[index2], augen[zufall][index2]);
}
delay(50);
}
}
}
Programm für einen Selbstfahrenden Roboter