Dienstag, 16. Dezember 2014

Die Ideen zum Arduino-Kurs (I)

Ende Februar 2015 biete ich zusammen mit CASA e.V. noch einen Workshop an - "Eine Einführung in Arduino". Die Zielgruppe sind die Kinder ab 4. Klasse.

Die Inhalte sind bis jetzt nur sehr grob definiert. Ich werde versuchen sie bis zu Mitte Februar auszuarbeiten und die Experimente auf die Kindertauglichkeit zu testen.
Zu der Idee für einen Arduino-Workshop bin ich durch die Webseite von Devoxx4Kids gekommen.
Devoxx4Kids organisiert weltweit die Computer-, Robotik- und Elektronikkurse für Kinder. Es gibt zahlreiche Anleitungen zu den Kursen und viele Videos von den Kursen.

Vom Umfang her, planen wir 10 Kinder an 5 Arbeitsplätzen und 3-4 Stunden. In der Zeit schafft man natürlich nicht viel. Es soll vorerst ein Test sein, wie gut es bei den Kindern ankommt. Wenn wir sie für Arduino begeistern werden, dann werden wir den Workshop zu einem Kurs ausbauen. Das Gute dabei ist, es werden kaum weitere Materialkosten entstehen.

Bei der Wahl der Hardware bin ich mir noch nicht schlüssig. Entweder machen wir es klassisch - Arduino UNO und breadboard.


Oder, wozu ich eher tendiere, wir nehmen die Nanos mit erweiterten Stiftleisten.

Davon habe ich bereits 5 Stück zusammen gelötet. Den Vorteil bei dieser Variante sehe ich in Zeitersparnis. Ich denke, bis alle verstanden haben, wie die Reihen und Spalten bei einem Breadboard verbunden sind, kann einige Zeit vergehen. Bei dieser Variante würde ich die Jumper-Drähte an die Bauelemente direkt auflöten, so dass die Kinder diese für jeweilige Experiment nur an die Richtigen Pins aufstecken müssen. Die LEDs will ich ebenfalls schon mit den Widerständen vorbereiten. Die Kinder sollen diesmal nur das Konzept von Ein-, Ausgängen lernen. Strom und Spannung in die Einführung zu packen, finde ich zu umfangreich.

Wie auch bei dem letzten Workshop, sollten die Kinder etwas nach Hause mitnehmen, damit die Eltern, Geschwister und Freunde sehen, was sie Im Kurs gemacht haben. Die Boards mitzugeben (die Kosten nichts - 2,50 bei AliExpress. Von Kosten her wäre das kein Problem), macht wahrscheinlich wenig Sinn, es sei denn die Kinder bringen ihre eigene Laptops mit und richten Arduino auf ihnen ein. Das wird bei unseren Kindern eher eine Ausnahme sein.
Dennoch möchte ich, dass sie etwas mitnehmen, an dem sie gebastelt haben.
Meine Idee ist, die Kinder sollten eins von den Programmbeispielen, das sie im Workshop erstellen, mit USBasp in einen ATTiny85 laden. Die ATTiny 85 sind noch günstiger - ca. 90ct bei Reichelt.
Von den USBasp habe ich mir 3 Stück besorgt. Das sollte reichen. Nur wie die Schaltung realisiert werden soll, da bin ich mir noch nicht schlüssig. Die Räume sind zum Löten nicht geeignet.

Aus dem letzten Kurs haben die Kinder die "Reißzwecken Technologie" kennen gelernt. Deshalb wollte ich ausprobieren, ob diese Art, einfachste elektronische Schaltungen zu realisieren, auch für uC-Schaltungen geeignet ist. Dabei wird Attiny in einen IC-Sockel gesetzt. Bei dem IC-Sockel würde ich vorher die längeren Drähte an jedes Pin löten. Im Prinzip ging das, so wie die Ampel-Schaltung unten zeigt.

Allerdings ist es schon zeitaufwändig. Eine Stunde bräuchten die Kinder dafür. Als weitere Ideen für eigene Schaltung zum Mitnehmen wären:

Ampel
Blumen-Erde Feuchtigkeitsmessung
Radlicht
Alarmanlage mit Reed-Kontakt
Alarmanlage mit Lichtsensor
Ereigniszähler (z.B. Schublade geöffnet)
Dämmerungsschalter
TV-b-gone
Thermostat + Ventilator
Morse-Code
Musikkarte
Klatschschalter
Geheimklopfzeichenschloss
Personenzähler
Bewegungsmelder
RGB-LED
Heisser Draht
Verzögerungsschalter

Samstag, 22. November 2014

Duplo-Roboter



Nach einigen Experimenten mit dem CD-Roboter vom letzten Post habe ich festgestellt, dass meine Kinder dafür wenig Interesse zeigen. Vermutlich, weil sie selbst daran nichts ändern können. Außer ein- und auszuschalten könnten sie auch keinerlei Einfluss auf den Ablauf des Programms nehmen. Meine zwei Söhne interessieren sich schon sehr für Technik. Sie drehen an jeder Schraube, die für Kinderfinger nicht zu fest sitzt und drücken jeden Knopf, den sie drücken können. Die Chancen stehen schon nicht schlecht, dass sie sich für einen Roboter, an dem sie herum-basteln könnten, auch begeistern würden.
Also versuche ich derzeit, ein Paar Motoren und Knöpfe mit den DUPLO-Bausteinen von Lego zu verbinden. Und das funktioniert besser als ich erst erwartet hatte. Die Getriebemotoren lassen sich leicht mit den 30mm- langen M3 Schrauben verbinden.


Mit 2 Laufrädern von OPITEC und einem DUPLO-Einzelbaustein wurde für den (noch) 3-Rad Roboter das hintere Schwenkrad gemacht.

Das Arduino-Nano Board mit den Batterien werde ich in einem DUPLO-Würfel unterbringen und die Ein-, Ausgangsanschlüsse mit den 3mm Stereo Kopfhöreranschlüssen nach außen herausführen. Die 3mm Audio-Anschlüsse waren für mich ein guter Kompromiss zwischen der Nicht-DIN-Konformität und dem Preis/Größe/Robustheit.


Ich habe noch vor,  einige Sensoren in den DUPLO-Bausteinen zu unterbringen - Schalter, Abstandssensor, Lichtsensor.

Hier ist ein kurzes Video von der ersten Probefahrt bei youtube: http://youtu.be/CgjLcGNdvlU




Donnerstag, 30. Oktober 2014

CD-Roboter als Linienverfolger


Das CD-Roboter-Prototyp hat heute die erste Probefahrt bestanden. Mit einem Aufsatz vorne bestehend aus zwei Photowiderständen, einem hellen LED und drei Widerständen konnte ich den Roboter mit der Linienverfolgefunktion ausstatten. Die Photowiderstände waren leider nicht vom gleichen Typ, so musste ich etwas messen und ausprobieren. Viele Schaltungen für die Liniendetektion benutzen Potentiometer. Ich hatte gerade keine zur Hand, aber Arduino kann ja auch selbst ausrechnen, was der Unterschied zwischen hell und dunkel ist. Wichtig ist nur, dass die Photowiderstände in einem möglichst linearen Bereich zwischen dem hellen und dunkleren Bereichen arbeiten.

Als Spannungsteiler nahm ich etwa gleich große Widerstandswerte, wie die Werte der LDRs bei dunkel.
Das LED befindet sich in der Mitte zwischen beiden LDRs. Diese Positionierung ist gut geeignet für eine helle Linie auf dunklem Hintergrund.


Erstellt mit Circuit-Lab
Vor der Fahrt wird der Roboter kalibriert. Nach dem ersten Blinken hat man 2 Sekunden Zeit den Roboter auf die Linie zu stellen. Die Helligkeit der Linie wird gemessen. Danach blinkt es 2-mal - man sollte den Roboter auf den Hintergrund stellen. Es wird die Helligkeit des Hintergrundes gemessen. Danach folgt 3-mal Blinken und nach 3 Sekunden (Zeit um den Roboter wieder auf die Linie zu stellen) fährt der Roboter los.

Auf dem Video sieht man, dass der Roboter die Linie aus der Mitte selbstständig findet. Leider hatte ich gerade keine dunklere Fläche als Pappkarton, so dass die Probefahrt im Dunkeln stattfinden sollte - damit der Kontrast zwischen hell und dunkel ausreichend war.
Das Algorithmus ist sehr einfach. Nach der Kalibrierung wird für jedes LDR ein Threshold für Dunkel ausgerechnet, das von mir willkürlich als die Mitte zwischen Hell- und Dunlkel definiert wurde.
Wenn die Werte beider LDRs unterhalb (hell) des Thresholds liegen, fährt der Roboter vorwärts. Wird an einer Seite dunkler (LDR Wert > Thresholds), gibt es eine leichte Drehung in die entgegengesetzte Richtung. Wenn beide LDRs zu dunkel messen, fährt der Roboter zurück mit leichter Drehung nach rechts.

Hier ist das Arduino -Quellcode:

/*
CD-Roboter Tests
Valentin Heinitz, 2014-10-30
http://heinitz-it.de
Die Software ist Public-Domain.

Einfacher Linienverfolger. Linie ist heller als sonstige Fläche.
Vor der Fahrt erfolgt die Kalibrierung - Aufnahme der Lichtintensitäten über der hellen und dunklen Flächen.

uC: Arduino Nano
Motorentreiber L293D

*/
void motors_stop() {
  digitalWrite(2, HIGH);
  digitalWrite(3, HIGH);
  digitalWrite(4, HIGH);
  digitalWrite(5, HIGH);
}

void motorR_fw() {
  digitalWrite(3, HIGH);
  digitalWrite(2, LOW);
}

void motorL_fw() {
  digitalWrite(4, HIGH);
  digitalWrite(5, LOW);
}

void motorR_bw() {
  digitalWrite(2, HIGH);
  digitalWrite(3, LOW);
}

void motorL_bw() {
  digitalWrite(5, HIGH);
  digitalWrite(4, LOW);
}

void turnRight( int ms)
{
    motorR_bw();
    motorL_fw();
    delay(ms);
    motors_stop();
}

void turnLeft( int ms)
{
    motorR_fw();
    motorL_bw();
    delay(ms);
    motors_stop();
}

void forward( int ms)
{
  int steps = ms/20;
  for( int i=0; i<steps; ++i)
  {
    digitalWrite(6, HIGH);
    delayMicroseconds(10);
    digitalWrite(6, LOW);
    int distance = pulseIn(7, HIGH) / 2;
    if ( distance < 700 )
    {
     
      break;
    }
    else
    {
      motorR_fw();
      motorL_fw();
      delay(20);
    }
  }
  motors_stop();
}

void backward( int ms)
{
    motorR_bw();
    motorL_bw();
    delay(ms);
    motors_stop();
}

int DirMostRight=0;
int DirRight=1;
int DirFront=2;
int DirLeft=3;
int DirMostLeft=4;
int ObstacleRange=700;
int ShortThoughtTime=500;
int LongThoughtTime=2000;
int GoRange=1000;
int ranges[5]={0,0,0,0,0};

const int lrdLeft = A0;
const int lrdRight = A1;

int vLeft = 0;
int vRight = 0;

void checkObstacle()
{
 
  turnRight(200);
  digitalWrite(6, HIGH);
  delayMicroseconds(10);
  digitalWrite(6, LOW);
  ranges[0] = pulseIn(7, HIGH) / 2;
  delay(ShortThoughtTime);
  turnLeft(100);
  digitalWrite(6, HIGH);
  delayMicroseconds(10);
  digitalWrite(6, LOW);
  ranges[1] = pulseIn(7, HIGH) / 2;
  delay(ShortThoughtTime);
  turnLeft(100);
  digitalWrite(6, HIGH);
  delayMicroseconds(10);
  digitalWrite(6, LOW);
  ranges[2] = pulseIn(7, HIGH) / 2;
  delay(ShortThoughtTime);
  turnLeft(100);
  digitalWrite(6, HIGH);
  delayMicroseconds(10);
  digitalWrite(6, LOW);
  ranges[3] = pulseIn(7, HIGH) / 2;
  delay(ShortThoughtTime);
  turnLeft(100);
  digitalWrite(6, HIGH);
  delayMicroseconds(10);
  digitalWrite(6, LOW);
  ranges[4] = pulseIn(7, HIGH) / 2;
  delay(ShortThoughtTime);
  turnRight(200);
}

int vleftRefLine=0;
int vleftRefOffroad=0;

int vrightRefLine=0;
int vrightRefOffroad=0;

int thleft=0;
int thright=0;

void setup() {
  pinMode(2, OUTPUT);
  pinMode(3, OUTPUT);
  pinMode(4, OUTPUT);
  pinMode(5, OUTPUT);
  pinMode(6, OUTPUT);
  pinMode(7, INPUT);
  pinMode(8, OUTPUT);
  motors_stop();
  Serial.begin(9600);          
  Serial.write("CDRobot: Version 0.1\n");
  Serial.write("Copyright: 2014, heinitz-it.de\n");
  //delay(5000);
 
  digitalWrite(8, HIGH); //1-Mal blinken: Aufnahme der Lichtintensitaet auf der Linie (Hell)
  delay(100);     
  digitalWrite(8, LOW);
 
  delay(2000);   
  digitalWrite(8, HIGH);
  delay(300);   
  vleftRefLine = analogRead(lrdLeft); 
  vrightRefLine = analogRead(lrdRight); 
  digitalWrite(8, LOW);
  delay(1000);
 
  digitalWrite(8, HIGH); //2-Mal blinken: Aufnahme der Lichtintensitaet ausserhalb der Linie (dunkler)
  delay(100);     
  digitalWrite(8, LOW);
  delay(100);
  digitalWrite(8, HIGH);
  delay(100);     
  digitalWrite(8, LOW);
 
  delay(2000);
  digitalWrite(8, HIGH);
  delay(300);    
  vleftRefOffroad = analogRead(lrdLeft); 
  vrightRefOffroad = analogRead(lrdRight);
  digitalWrite(8, LOW);
  delay(1000);
 
  digitalWrite(8, HIGH); //3-Mal blinken: Auf die Linie stellen, gleich geht's los
  delay(200);     
  digitalWrite(8, LOW);
  delay(100);
  digitalWrite(8, HIGH);
  delay(200);     
  digitalWrite(8, LOW);
  delay(100);
  digitalWrite(8, HIGH);
  delay(200);     
  digitalWrite(8, LOW);
 
  delay(3000);
 
  thleft = (vleftRefLine -vleftRefOffroad)/2 + vleftRefOffroad;
  thright = (vrightRefLine -vrightRefOffroad)/2 + vrightRefOffroad;
 
  vLeft = analogRead(lrdLeft); 
  vRight = analogRead(lrdRight);
  Serial.print("Lth = " );                      
  Serial.print(thleft);     
  Serial.print("\t Rth = ");     
  Serial.println(thright); 
  digitalWrite(8, HIGH); 
}


void loop()
{
  vLeft = analogRead(lrdLeft); 
  vRight = analogRead(lrdRight);
 
  if( vLeft > thleft && vRight > thright )
  {
    backward(50);
    turnRight(20);
  }
  else if( vLeft > thleft )
  {
     turnRight(30);
  }
  else if( vRight > thright )
  {
     turnLeft(30);
  }
  else
  {
    forward(30);
  }
  delay(10);
}

Sonntag, 19. Oktober 2014

CD-Roboter - ein Lernroboter für 10Euro

Seit einiger Zeit überlege ich mir, welche Baukästen oder fertige Roboter man in einem Kinderkurs für Roboterbau und Programmierung wohl benutzen könnte. Die Aufgaben, die die Kinder und die Jugendlichen in so einem Kurs lösen müssten, wären die gewöhnlichen Standardaufgaben:
  • Eine vorgegebene Route abfahren
  • Eine Linie verfolgen
  • Aus einem Labyrinth entkommen
  • Einem Lichtpunkt nach fahren
Die Lego-Roboter kommen für mich allein aus dem Preisgrund nicht in Frage. Ich habe mir erst die Preisgrenze bis 50Euro gesetzt. Für den Preis eines Lego Baukastens könnte man damit schon 5-6 Roboter anschaffen, was für eine Klasse schon ausreichend wäre.
Mein erster Ansatz war dieser Fahrgestell mit Arduino UNO und dem  Motorentreiber-Board:

Quelle: amazon.de, http://ecx.images-amazon.com/images/I/513vDuODwCL._SX425_.jpg

Von diesem Teil war ich begeistert. Alles zusammen kostete auch etwa zw. 40 und 50 Euro.
Ein 15-jähriger Sohn eines Freundes (meine Söhne sind noch zu klein dafür :-) brauchte weniger als 2 Stunden, um den Roboter aufzubauen. Nach einer Stunde Programmierung fuhr der Roboter schon herum.
Das teuerste an dem Ganzen war allerdings das Fahrgestell - ca. 20 Euro. Auch die Motorentreiber-Platine war für meinen Fall überdimensioniert und zu teuer. Ein L293D wäre für mich völlig ausreichend. Ein weiteres Manko sind die Motoren. Es sind die günstigen und einfachsten DC Motoren, die man bei Pollin.de schon für 50cent bekommt. Die Batterien halten mit solchen Motoren nicht lange.
Das alles wäre noch akzeptabel für einen Kurs. Nur die Erfahrung aus einem anderen Kurs hat gezeigt, die Kinder werden viel mehr motiviert, wenn Sie das, woran sie arbeiten und basteln am Ende des Kurses auch mitnehmen können. So habe ich mir ein neues Ziel gesetzt - Roboter für 10Euro Materialkosten.

Nach einigen Experimenten und durchstöbern der Onlinekataloge kam ich  auf einen Prototyp, der dem Ziel schon sehr naht.

  • Statt UNO kommt jetzt Arduino Nano zum einsatz - 7.0 Eur.
  • Ein L293D dient als Motorentreiber - 1,20
  • Als Motoren dienen die Solarmotoren RF 300 2 x 1,90 Eur
  • Die Lauf- und die Zahnräder sind von Opitec.de - < 1 Eur
  • Das Getriebe wird auf einem Winkelprofil von Hornbach (1,65 pro Meter) aufgebaut. 
  • Als Achsen dienen M3 Schrauben, ebenfalls von Hornbach.
  • Alles wird an 2 alten CD mit Heißkleber befestigt.

Alles in einem unter 15 Euro. Wenn man die Bauteile bei aliexpress.com in größeren Mengen bestellt, kommt man auf deutlich unter 10 Euro!

Die ersten Tests mit dem Prototyp waren recht positiv. Der Roboter ist sehr wendig, die Fahrtgeschwindigkeit (ca 0,5 m/s) ist genau die richtige für die Tests in einem Raum.
Sobald ich mit den Tests und den Verbesserungen fertig bin, werde ich eine detaillierte Beschreibung in weiteren Blogs veröffentlichen. Es gibt noch einiges an der Konstruktion der Getriebe zu verbessern, so dass die Kinder ab 11 Jahren so einen Roboter in etwa 1 Stunde selbständig zusammenbauen könnten.

Zur Programmierung  habe ich Minibloq ausprobiert. Die einfachen Fahrtenprogramme  mit fester Route konnte ich schnell zusammen klicken. Für die Ansteuerung von Sensoren ist allerdings ein Hardwaredefinition-Profil nötig. Sobald ich mir schlüssig bin, welche Sensoren ich für alle Lernziele brauche, werde ich probieren so einen Profil für meinen "CDRoboter" zu erstellen.

Hier sind einige Bilder des Prototyps:



Offensichtlich bin ich nicht der Erste, der nach einem sehr günstigen Lernroboter sucht oder es vor hat, einen zu bauen. Allerdings habe ich meine Preisgrenze von 10 Euro noch bei keinem Modell gesehen.

  • Grove Enterprises LLC beschreibt auf ihrer Seite http://superawesomerobots.com/ ihr Vorhaben, einen Roboterbausatz für 50-70 $ zu entwickeln.
  • MIT hat einen Lern-Roboter für 20$ entwickelt: https://sites.google.com/site/mitprintablerobots/
  • ArduBot ist ein auf einer spezieller Lochrasterplatine aufgebautes Fahrgestell. Die Kosten einer solchen Platine liegen schon bei über 10 Euro. Da komme ich mit zwei zusammen geklebten CDs deutlich günstiger weg.
  • Institut für Robotik und Mechatronik bei DLR hat schon vor einiger Zeit ASURO entwickelt. Preis ca. 50 Euro. ASURO wurde noch in pre-Arduino Zeit geschaffen und nach heutigem Stand der Technik völlig veraltet. Sehr viele diskrete Bauelemente machen den Aufbau nur für geübte Hobbyelektroniker möglich.
  • Die Frima Conrad Elektronik bietet einen ASURO-ähnlichen Bausatz PRO-BOT128 für ebenfalls ca. 50 Euro an. Allerdings kostet die Entwicklungsumgebung noch extra.
  • Die Firma Elenco bietet viele gut aussehende Roboterbausätze mit mMn. wenig didaktischem Nutzen. z.B. dieser Käferroboter. Die Roboter von Elenco haben sehr hochwertige und leicht aufzubauende Mechanik, sind aber nicht programmierbar. Auch die Preise fangen bei einfachsten Modellen mit 20Euro an.
  • Das Frauenhofer Institut hat einige Roboterkurse für die Schulen ausgearbeitet und daraus resultierend als Roberta kommerzialisiert. Die Roboter-Kits basieren auf  Lego - wie originell! Die Initiative wurde anscheinend mit öffentlichen Mitteln finanziert. Die Lernmaterialien kosten ab 40Euro.
  • Bei Kikstarter werden jede Menge Roboterprojekte für Lernkits finanziert. Nun, von Kikstarter sollte man nichts Nützliches und schon gar nichts Gemeinnütziges erwarten. Es ist eine clevere Kampagne, mit der die ganze Welt die US-Startups und die Diplomarbeiten der US-Eliteuniversitäten finanziert.
  • Wenn man bei Amazon nach "robot chassis" sucht, findet man einige günstige Fahrgestelle mit Rädern und Motoren, die man zusammen mit einem Arduino relativ einfach zu einem Roboter ausbauen kann. Man kommt allerdings nicht unter 30 Euro aus. Interessanterweise kosten die Chassis bei dem Chinesischen Amazon-Pendant Ali Express nicht weniger. Dagegen kosten die Motoren und Getriebe (eigentlich die Hauptteile eines Chassis) als Einzelteile nur einen Bruchteil von dem, was man bei Amazon zahlt.

P.S.:
Nachdem ich diesen Beitrag schon geschrieben habe, kam ich auf eine hervorragende Seite eines Bastlers. Er baute seinen Roboter ebenfalls auf einer CD auf. Es gibt viel auf dieser Seite zu lernen und viele Ideen abzugreifen.: http://www.ermicro.com/blog/?p=983
Der Autor beschreibt seine Projekte immer sehr ausführlich mit Quellcode, Schaltplänen und den mechanischen Bauplänen. Jenseits der Technik, gibt es auf seiner Seite oft interessante Gedanken und Informationen rund um das Thema des Projekts. So habe ich zum Beispiel erfahren, dass der erste Roboter in der Klasse bereits in 1949 gebaut wurde: http://www.ias.uwe.ac.uk/Robots/gwonline/gwonline.html







Montag, 29. September 2014

Idee für das Spiel: "Der Heiße Draht"

Zum 45. Jubileum von CASA e.V. wollten wir mit den Kindern das Spiel "Der Heiße Draht" in Groß bauen. Bei dem Ferienkurs im August 2014 haben vierzehn Kinder ihre "Heißen Drähte" auf einem ca. 10x15cm großem Holzbrett gebaut. Beim Berühren des Drahtes summte ein Piezo-Lautsprecher einen 2kHz hohen Ton. Zum einen war der Ton auf die Dauer zu nervig und zum anderen beim leichten Berühren war der Ton auch nicht sauber sondern "verkratzt". Also sollte für das Jubiläum was besseres gebaut werden.

Das Modell, dass ich mit 4 Kindern in etwa 2 Stunden gebaut habe, erzeugt die Geräusche jetzt mechanisch. Statt Piezo-Lautsprecher dreht ein Motor mit einer Feder an der Welle. Die Feder schlägt gegen die nah angebrachte Klangschale. Das klingt schon viel angenehmer.

Einige leichte Berührungen werden jetzt auch toleriert. Beim Berühren des Drahtes dreht sich nämlich ein zweiter Motor, der über ein langsames Getriebe einen Zeiger von "Grün" in Richtung "Rot" beweg. Berührt der Zeiger den Metallkontakt am Ende des roten Bereiches - ist das Spiel aus.

Alle Bauteile außer dem Holzbrett kamen wieder von  Opitec. Die Kosten lagen bei ca. 5 Euro.

Hinterseite. Man sieht die Verdrahtung. Es sind zwei unabhängige Stromkreise  


Fast fertig! es fehlen nur die letzten Striche

Vorderseite. Der Draht selbst besteht aus mehreren Schweißdrähten, die miteinander mit Schraubklemmen verbunden sind.

Donnerstag, 18. September 2014

Workshopideen zum Thema "Windkraft". (Teil I)


Windkraft ist ein interessantes Gebiet im Bereich alternativer Energien. In einem "Windkraft-Workshop" kann man die Kinder über das Potential der Windenergie aufklären sowie viele Gerüchte und Missverständnisse, die die Verblödungsindustrie im Auftrag der Atom- und Erdöllobby verbreitet, nachhaltig beiseite räumen. Würde jeder wissen, dass bei optimalem Wind etwa 200 Windräder einen Atomkraftwerk ersetzen könnten, hätte die Atomlobby viel weniger Zulauf. Wüsste jeder, dass ein Windrad aus unmittelbarer Nähe nicht mal ein fünftel der Lautstärke einer Autobahn  und nicht mal die halbe Lautstärke eines Fernsehens erreicht und wüsste jeder dass es unter den Windräder keine tote Vögel (im Gegensatz zu den toten Tieren entlang jeder Autobahn) liegen, hätte die Windenergie viel mehr Sympathie in der Bevölkerung. Alle Gerüchte kann man natürlich nicht aufzählen. Darum geht es hier auch nicht.

Ich überlege mir, welche Experimente und Modelle man in so einem Workshop mit den Kindern machen könnte . In Spielzugläden und bei Amazon findet man einige Bausätze zum Thema. Die Preise streuen von 10Euro bis 50Euro und aufwärts.
Mehrmals wollte ich für meine Neffen so einen Bausatz von Kosmos kaufen (eins von den teureren in dem Spektrum) und immer wieder hatte ich meine Zweifel, dass das Windrad funktionieren wird. Die beigefügten Motortypen, die im Modell als Generator dienen sollten, könnten nur bei sehr hoher Drehzahl eine ausreichende Spannung für das LED erzeugen. Diese Drehzahl ließe sich nur mit einem Getriebe erreichen. Und wenn ich mir die Plastikzahnräder auf der Packung anguckte, hatte ich meine Zweifel an dem Wirkungsgrad eines solchen Getriebe. Also mein Rat - Finger Weg von solchen Bausätzen. Diese Rezension  bei Amazon zu einem Kosmos-Bausatz beschreibt sehr treffend warum:

"Gut zur Veranschaulichung, schlecht in der Funktionalität. Pädagogisch nur halb wertvoll, da das Kind/der Jugendliche am Ende durch die schlechte Funktionalität stark ernüchtert wird und den Spass an der Sache verliert. "Windkraft? Geht ja garnicht ..."

 Diese Webseite brachte mich auf eine interessante Idee, dass ein Windrad nicht unbedingt den elektrischen Strom erzeugen muss, um die Energiegewinnung aus dem Wind zu veranschaulichen.
Es ist ein "Windradkran" bei dem ein Faden an der Achse gebunden ist. Durch das Drehen der Achse wird der Faden aufgewickelt, und kann somit kleine Gewichte, die an dem anderen Ende befestigt sind, hoch heben.
Dieser Aufbau bietet viele Möglichkeiten zum experimentieren. Man kann durch die Variation der Windradflügel  - Form, Fläche, Anzahl, Winkel - die Begriffe wie Drehmoment und die Drehgeschwindigkeit erläutern. Man kann kleine Wettbewerbe veranstalten: "Wessen Kran hebt größeres Gewicht" oder "Wessen Kran ist schneller". Man kann viele Messreihen aufnehmen um zum Beispiel die optimale Windradform für die vorgegebene Windgeschwindigkeit, Drehgeschwindigkeit und den Drehmoment zu ermitteln.

Nach einigen Versuchen habe ich ein Modell gebaut, das diese Experimente schnell ermöglicht.
Die Windradflügeln sind an einem Korken befestigt und lassen sich schnell austauschen. Als die Welle dient ein Schaschlikspieß. Die PVC-Röre (ca. 1,20 pro 2 Meter bei Hornbach) bieten der Konstruktion eine gute Stabilität und lassen das Modell so bisschen wie einen Windrad-Turm aussehen. Als die Verbundelemente für die PVC-Röre und zugleich als die "Lager" für die Achse dienen die Plastikdeckel von den PET-Flaschen.  Um die Gewichte schnell zu variieren, ist an dem Ende des Fadens ein starker Magnet angebunden. (Man braucht einen Stärkeren, da der "Kran" die Gewichte bis zu 100 Gramm  locker heben kann.)

Die Flügel kann man entweder in die eingeschnittenen Schlitze in den Korken  einsetzen und verkleben, oder mit den Zahnstochern bauen.

Die Zahnstocher-Variante bietet den Vorteil, dass man die Anzahl und den Winkel der Flügeln schnell ändern kann. Die Flügeln halten in dem Korken sehr gut und sitzen auch nach vielfachem Einsetzen, Drehen und Herausziehen fest.

Der Preis für ein solches Modell läge unter 2Euro. Für 1 Euro mehr ließe sich auch ein LED zum leuchten bringen - und das bei einer Windstärke, die man mit einem üblichen Ventilator bei niedrigster Stufe erzeugen kann. Am besten eignen sich die Motoren, die bei schwachem Strom und
höherer Spannung ihre optimale Drehzahl erreichen. Bei diesem Kleinmotoren Sortiment (Pollin.de, 10 Stück für 2.50 ) findet man einige 24V und 18V Motoren, die für ein LED ausreichende Spannung bei ca. 120rpm erzeugen.

In dem Teil II beschreibe ich einige Messungen und Experimente.



Donnerstag, 14. August 2014

Überlegungen zu einem Roboter-Kurs

Die Roboter-Kurse für Kinder sind sehr beliebt. Auch bei relativ hohen Preisen zw. 30-150 Euro sind solche Kurse in den Schulferien ausgebucht.

Bei den meisten Kursen werden die LEGO-Roboter eingesetzt. Dies bietet den Vorteil, dass die Kinder mit LEGO-Bausteinen in der Regel vertraut sind, und somit bei der knappen Zeit des Kurses sich auf die Programmierung konzentrieren können. Ein wesentlicher Nachteil ist natürlich der Preis für die LEGO-NXT-Sets.  Ein Set kostet ca. 300 Euro, was für viele Schulen und ehrenamtliche Kursleiter unerschwinglich ist.

Einige Kurse benutzen die günstigeren Varianten wie z.B. ASURO oder NIBObee, beide preislich unter 50Euro. Solche Roboter lassen sich jedoch nicht so einfach programmieren und sind eher für die Oberstufen-Schüler oder Studenten geeignet.

Eine interessante Möglichkeit für einen Einsteigerkurs bietet sich mit der Programmiersprache Scratch an. Scratch ist eine grafische Programmiersprache für Kinder, die sehr leicht erlernbar und intuitiv ist.
Die Programmierung geschieht wie auch bei LEGO NXT hauptsächlich mit der Maus. Obwohl die Sprache nicht in erster Linie für Roboter-Programmierung gedacht war, war es bei Scratch auch vorgesehen, dass Spezial-Hardwareboards angeschlossen werden könnten. Solche Ein/Ausgabe Boards sind jedoch in Deutschland wenig verbreitet und schwer zu beschaffen.

In der Version 1.4 (nicht die Neueste, aber noch gängig) gibt es die Möglichkeit aus dem Scratch heraus per TCP Nachrichten zu verschicken. Damit ließe sich ein einfaches Tool schreiben, dass irgendwelche selbst-gebaute Hardware anspricht.  Welche nur? In Windows 95-Zeiten käme als erstes die Parallele Schnittstelle in Frage. Die modernen Rechner haben sie leider nicht mehr.

Eine serielle Schnittstelle wäre auch eine Lösung. Einen USB-RS232 Adapter bekommt man schon für 3 Euro. Und viel mehr braucht man zum Einstieg nicht. Die RS232-Schnittstelle hat Steuerleitungen - 3 Ausgänge und 4 Eingänge. Damit könnte man schon nur mit 3 LEDs und 3 Widerständen (evtl. auch einem Knopf) ein Ampelmodell ansteuern.



Mit einem Motortreiber L293D könnte man auch einen Motor in beide Richtungen drehen. Dann bleibt noch eine Ausgang-Leitung frei.

Mit den Eingängen könnte man einfache Sensoranwendungen für Licht und Temperatur realisieren.
Für einen Anfängerkurs könnte es allemal ausreichen. Die Kosten pro Arbeitsplatz würden dabei unter 10 Euro liegen.

Was könnte man mit einem solchen Kurs vermitteln?
  • Ansteuerung von Hardware mit einem PC
  • Ein-/Ausgänge
  • Abfrage der Sensoren (auch wenn nur digitaler) mit einem PC
  • Visualisierung
  • Und natürlich die Grundlagen der Programmierung - Variablen, Schleifen, Entscheidungen.

Ich hoffe, ich komme bald dazu, einige einfachen Aufgaben auszuarbeiten und auszuprobieren