StartHardware.org – Arduino für Schulkinder

Starthardware.org
Heute mal was in eigener Sache. Gestern habe ich mein neues Projekt StartHardware.org veröffentlicht. Wie auf Arduino-Tutorial.de geht es darum, das Wissen um Arduino zu vermitteln. Diesmal ist die Zielgruppe allerdings etwas jünger.

StartHardware.org ist erstmal ein Online-Kurs für den Einstieg in Arduino und das Programmieren von Hardware. Elektronische Grundlagen werden ebenso wie Programmieren Schritt für Schritt erklärt. Am Ende kann man sich sein eigenes elektronisches Haustier basteln, dass mit den Augen blinzelt, meckert, wenn man sich nicht darum kümmert und das schnurre, wenn es gestreichelt wird.

Starthardware.org Starter Kit mit Arduino

Dazu kommt ein sehr günstiges Starter Kit, das ich zusammen mit meinen Partnern von TinkerSoup.de entwickelt habe. Es ist für 39,90 Euro erhältlich und beinhaltet alles für den Arduino-Start.

Also falls Ihr noch didaktisch wertvolle Weihnachtsgeschenke für Eure Kinder sucht, wäre ein StartHardware.org Starter Kit eine tolle Wahl ;-)

FacebookTwitterGoogle+PinterestTumblrWhatsAppWordPressEvernoteDiasporaYahoo MessengerShare

Dias automatisch digitalisieren mit Arduino

Dias automatisch digitalisieren mit Arduino

Dieses Projekt von Koen Dooms löst das nervige Problem Dias zu digitalisieren. Der Diawechsel wird dabei durch einem Diaprojektor mit Schlitten vollzogen. Eine digitale Spiegelreflexkamera fotografiert die Dias mittels Makro-Objektiv ab. Das Arduino wird dabei als Controller verwendet.

Um die optimale Beleuchtung der Dias zu gewährleisten, muss eine weiße Plastikfläche als Diffusor zwischen Leuchte und Dia eingesetzt werden.

In der Schaltung werden Optokoppler verwendet, um die Fokus/Shutter-Funktion der Kamera auszulösen. Danach wird die Transportfunktion des Diaprojektors ausgelöst, um das nächste Dia an die richtige Position zu bringen.

Zwei Potentiometer können zur Justierung des optimalen Timings von Fokus und Transport verwendet werden.

Achtung! Beim Arbeiten am offenen Dia-Projektor muss der Stecker aus der Steckdose gezogen sein! Die Arbeit an 230V Geräten ist gefährlich. Nutze diese Anleitung auf eigene Gefahr.

Fritzing-Diagramm
Fritzing-Diagramm

Hier sind die Dateien zum Download

Arduino Yún präsentiert von den Machern

Über das Arduino Yún hatte ich ja hier schon mal etwas geschrieben, aber in diesem Video kommen die Macher mal zu Wort. Massimo Banzi und David Cuartielles kündigen in diesem Video das nun veröffentlichte Board an. Kaufen kann man es z.B. bei Amazon: Arduino YUN

Das Board ist ein auf dem ATmega32u4 (Arduino Leonardo) basierendes Mikrocontroller Board, das zusätzlich über einen Atheros Prozessor verfügt. Auf ihm läuft die Linux Distribution Linino. Das Arduino Leonardo hat einen eingebauten Ethernet Adapter (RJ 45), WIFI Support, einen USB-A Port, 20 digitale Input/Output-Pins, wovon 7 als PWM Ausgänge und 12! als analoge Eingänge verwendet werden können. Angeschlossen werden kann das Arduino Yún über eine Micro USB Verbindung. Es hat einen ICSP Header.

Das Arduino Yún kann mit der laufenden Linux Distribution kommunizieren. Neben Linux Kommandos, kann man eigene Shell und Python Skripte schreiben und nutzen.

Laut einer Amazon-Rezension gab es anfängliche Probleme mit der Bridge-Software, die nun scheinbar behoben werden können.

Die offizielle Arduino Yún Seite könnt Ihr hier finden.

Mein Arduino Yún ist bestellt und ich werde natürlich berichten, was sich damit alles anstellen lässt.

Falls Ihr schon Ideen dafür habt, postet die bitte in den Kommentaren :-)

Temperatur und Luftfeuchtigkeit messen

Temperatur Luftfeuchtigkeit, rht03 dht22
Temperatur und Luftfeuchtigkeit messen – Schaltung mit Fritzing erzeugt

Um Temperatur und Luftfeuchtigkeit zu messen, kann man den Sensor RHT03 (auch bekannt als DHT22) benutzen. Es handelt sich um einen vorkalibrierten Sensor, der über eine One-Wire Schnittstelle (MaxDetect), also eine Datenleitung mit nur einem Kabel, angesprochen wird. Der Sensor benötigt außer einem Widerstand keine weiteren Bauteile und arbeitet mit 5V. Legt man den Sensor mit den Gittern vor sich hin, ist der linke Pin der 5V+ Anschluss, der daneben der Datenpin, der noch mit einem Widerstand (4,7kΩ) mit 5V+ verbunden ist. Der ganz rechte Pin ist der GND. Pin 3 muss nicht weiter beachtet werden.

Die Bibliothek, die man benötigt heißt DHT22 und ist hier auf Github herunterladbar. Sie muss in den Library-Ordner des Arduino-Sketchbooks kopiert und in »DHT22« umbenannt werden.

Der Code hier funktioniert, jedoch kann man aus der DHT22 Bibliothek noch mehr, wie z.B. Fehlerauswertung des Sensors, holen. Wer sich dafür interessiert, soll mal in der Arduino-Software das Beispiel Datei>Beispiele>DHT22>Serial öffnen.

Der Sensor kann nur alle ein bis zwei Sekunden ausgelesen werden und benötigt darüber hinaus eine Aufwärmphase von zwei Sekunden – dazu dient das Delay.

#include <LiquidCrystal.h>
#include <DHT22.h>

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
int sensorPin = 8;
DHT22 mySensor(sensorPin);

void setup() {
  lcd.begin(16, 2);   
}

void loop() {
  delay(2000);

  mySensor.readData();
  lcd.setCursor(8, 0);
  lcd.print("Tempera.");

  lcd.setCursor(8, 1);
  lcd.print("Humidity");
    
  lcd.setCursor(0, 0);
  lcd.print(mySensor.getTemperatureC());

  lcd.setCursor(0, 1);
  lcd.print(mySensor.getHumidity());
}

Liquid Crystal Displays

Arduino Liquid Crystal Display (LCD)
Arduino Liquid Crystal Display (LCD) – Schaltung mit Fritzing erzeugt

Liquid Crystal Displays (LCDs) können zur Textausgabe in Arduino-Projekten verwendet werden. Die meisten LCDs basieren auf dem HD44780 Chip von Hitachi und werden mit der Arduino-Library LiquidCrystal angesprochen.

Das Display kann im 4 oder 8 Bit Modus angesprochen werden. Im 4 Bit Modus benötigt man 4, im 8 Bit Modus 8 Datenkabel aus eben so vielen digitalen Pins des Arduino-Boards.

Das Display wird wie im Schaltbild gezeigt angeschlossen. Je nach Display gibt es einen Anschluss für die Hintergrundbeleuchtung und ein Potentiometer, um den Anzeigekontrast zu regeln.

Im Programm wird zunächst die Library ,die übrigens mit der Arduino-Software geliefert wird, eingebunden:

#include LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

Nun wird das LiquidCrystal-Objekt mit dem Namen lcd angelegt. Die digitalen Outputpins, die man verwendet hat, werden als Parameter angegeben:

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

Im Setup wird die Displaykonfiguration übergeben. Die beiden Parameter stehen für die Zeichenanzahl einer Zeile und die Zeilenanzahl. In diesem Beispiel 16 Zeichen und 2 Zeilen:

lcd.begin(16, 2);

Mit print lassen sich Nachrichten auf das Display schreiben.

lcd.print("hello, world!");

Der Befehl setCursor legt fest, ab welchem Zeichen in der Zeile und in welcher Zeile der Text ausgegeben werden soll.

lcd.setCursor(0, 1);

Der gesamte Code des Arduino-Beispiels (von D. Mellis und T. Igoe), dass unter Datei>Beispiele>LiquidCrystal>HelloWorld zu finden ist, sieht dann so aus:

#include <LiquidCrystal.h>

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup() {
    lcd.begin(16, 2);
    lcd.print(&quot;hello, world!&quot;);
}

void loop() {
    lcd.setCursor(0, 1);
    lcd.print(millis()/1000);  // gibt Sekunden ab Start aus
}

Bleibt noch zu erwähnen, dass es auch andere LCDs gibt, die mit wesentlich weniger Pins auskommen, aber dazu ein anderes Mal.

Abstandsmessung mit dem Sharp GP2Y0A21YK IR Entfernungssensor

Sharp GP2Y0A21YK
Sharp Abstandssensor GP2Y0A21YK – Schaltung mit Fritzing erzeugt

Der Infrared Proximity Sensor – Sharp GP2Y0A21YK ist ein Infrarot-Abstandssensor. Er besteht aus einer Infrarot-LED und einem Phototransistor, der das von einem Objekt reflektierte Infrarot-Licht misst.

Der Sensor selbst verfügt über eine Steckbuchse für die man am Besten ein vorkonfektionierte Anschlusskabel verwendet. Das Anschließen selbst ist sehr einfach. Das mittlere Kabel wird mit dem GND und das rechte mit 5V+ verbunden. Das linke Kabel kann man einfach an einen analogen Input anschließen.

Wenn kein Infrarotlicht durch ein Objekt reflektiert wird, beträgt der Output des Sensors 0V. Das ergibt einen Analogen Input Wert von 0. Je näher sich ein Objekt vor dem Sensor befindet, desto höher wird der Analoge Input Wert. Er steigt bis ca. 630. Sobald ein Objekt dem Sensor zu nahe kommt (ca. 20cm), sinkt der Wert allerdings wieder.

Der Sensor ist preiswert und sehr einfach anzuschließen, jedoch liefert er keinen verlässlichen festen Abstandswert. Dieser ist von der reflektierenden Oberfläche abhängig. Auch können Infrarotquellen, wie Fernbedienungen, die Werte beeinflussen.

Sharp stellt den Sensor in unterschiedlichen Varianten mit unterschiedlichen Reichweiten her.

void setup(){
  Serial.begin(9600);
}

void loop(){
  Serial.println(analogRead(0));
  // Ergebnisse werden im Seriellen Monitor angezeigt
  delay(20);
}

Und was kann man jetzt damit anstellen? Hier ein paar Beispiele:

»Fox in a box«:

Fox in the Box from Stephan Thiel on Vimeo.

Arduino MEGA – Power für Dein Projekt!

Wer sich schon immer ein paar mehr Pins auf dem Arduino gewünscht hat, ist mit dem Arduino MEGA gut bedient. Es bietet eine große Menge an I/O Pins, Schnittstellen und Interrupts und genügend Speicher für softwareseitig anspruchsvollere Projekte. 3D Drucker wie der RepRap oder der Ultimaker setzen auf das Arduino MEGA.

Arduino MEGA
Arduino MEGA – Foto von Snootlab

 

Also: Falls Dein Projekt aus der Arduino UNO Größe wächst, ist es höchste Zeit für das MEGA! Glücklicher Weise ist der Code vom UNO ja kompatibel.

Ein paar Details:

Das Arduino MEGA 2560 basiert auf dem ATmega 2560 Mikrocontroller der Firma ATMEL, aber das nur am Rande. Hier die Features im Überblick:

  • 54 digitale Input/Output Pins, von denen 15 als PWM Outputs benutzt werden können
  • 16 analoge Inputs
  • 4 UARTs, also Hardware Serial Ports
  • 16 MHz Quarz
  • USB-Anschluss
  • Anschluss für externe Spannungsquelle
  • ICSP pin header
  • Reset-Button

Fast alle Arduino-Shields für das Arduino Duemilanove und Diecimila sind mit dem Arduino MEGA kompatibel.

Als empfohlene externe Versorgungspannung eignet sich alles zwischen 7 – 12V. Digitalen I/O Pins können bis zu 40mA Strom zur Verfügung stellen.

Das Arduino MEGA bietet 256 Kilobyte an Flash-Speicher, von denen 8 KB für den Arduino-Bootloader benutzt werden.

Noch mehr Infos gibt es auf Arduino.cc