FtDuino/Robotics: Unterschied zwischen den Versionen

Aus ZUM-Unterrichten
(akt)
Markierung: 2017-Quelltext-Bearbeitung
Markierung: 2017-Quelltext-Bearbeitung
 
(5 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
{{DISPLAYTITLE:<strong style=color:red>f</strong><strong style=color:blue>t</strong><strong style=color:darkcyan>Duino</strong>/Robotics }}Spannender als die ersten kleinen Automaten sind natürlich fahrende Roboter, die selbständig Aufgaben erledigen können.
{{DISPLAYTITLE:<strong style=color:red>f</strong><strong style=color:blue>t</strong><strong style=color:darkcyan>Duino</strong>/Robotics }}Spannender als die ersten kleinen Automaten aus dem [[FtDuino/Programmieren_in_C%2B%2B|letzten Kapitel]] sind natürlich fahrende Roboter, die selbständig Aufgaben erledigen können.<ref>Ziel ist es, am 12. Mai 2022 mit unseren ft-Robotern am Robotik-Wettbewerb der mittelfränkischen Realschulen teilzunehmen. Dort gibt es zwei Kategorien:


Ziel ist es, am 18. Mai 2020 mit unseren ft-Robotern am Robotik-Wettbewerb der mittelfränkischen Realschulen teilzunehmen. Dort gibt es zwei Kategorien:
* [http://www.robotik-bayern.de/kategorien/einsteiger.htm Delivery-Bot II] (Einsteiger)
* [http://www.robotik-bayern.de/kategorien/fortgeschrittene.htm Pickup & Return-Robot II] (Fortgeschrittene)</ref>


* [http://www.robotik-bayern.de/kategorien/einsteiger.htm Delivery-Bot II] (Einsteiger)
* [http://www.robotik-bayern.de/kategorien/fortgeschrittene.htm Pickup & Return-Robot II] (Fortgeschrittene)


== Vorüberlegungen ==
== Roboterauto ==
Anstelle der LEDS einer Ampel oder eines Ventilators kannst Du auch einen Roboter mit Rädern oder Raupenketten ansteuern.
=== Vorüberlegungen ===
Wir verwenden Roboter, die dem [https://www.fischertechnik.de/de-de/service/elearning/spielen/txt-discovery-set TXT Discovery] und TX Explorer ähneln. Da der Arduino keinen USB-Anschluss für die USB-Kamera hat, verwenden wir den Ultraschallentfernungsmesser 133009 und den IR-Spur-Sensor 128598 von Fischertechnik, die im ausgelaufenen ROBO TX Explorer zu finden waren und sich auch nachkaufen lassen.


Wir verwenden Roboter, die dem [https://www.fischertechnik.de/de-de/service/elearning/spielen/txt-discovery-set TXT Discovery] und TX Explorer ähneln. Da der Arduino keinen USB-Anschluss für die USB-Kamera hat, verwenden wir den Ultraschallentfernungsmesser 133009 und den IR-Spur-Sensor 128598 von Fischertechnik, die im ausgelaufenen ROBO TX EXplorer zu finden waren und sich auch nachkaufen lassen.
{{Box|Tipp an Lehrer und Schüler!|So attraktiv es scheinen mag, den Anleitungen der Baukästen zu folgen, kommt man schneller zum Ziel, wenn man sich anfangs auf das Nötigste beschränkt und die Modelle etwas kleiner baut. |Kurzinfo}}


{{Aufgabe|# Baue einen Roboter, dessen Räder / Raupen jeweils über einen Motor angetrieben werden.
{{Aufgabe|# Baue einen Roboter, dessen Räder / Raupen jeweils über einen Motor angetrieben werden.
# Lasse bei Motoren mit gleicher Geschwindigkeit fahren.  
# Lasse beide Motoren mit gleicher Geschwindigkeit fahren.  
#* Beobachte und beschreibe den gefahrenen Weg.
# Beobachte und beschreibe den gefahrenen Weg.
#* Erkläre, was die möglichen Ursachen dafür sein können.}}
#* Erkläre, was die möglichen Ursachen dafür sein können.}}


{{Lösung versteckt|Der Roboter beginnt nach einer Weile in eine Richtung zu steuern und wicht immer mehr von der gedachten Gerade ab.
{{Lösung versteckt|Der Roboter beginnt nach einer Weile in eine Richtung zu steuern und weicht immer mehr von der gedachten Gerade ab.


Mögliche Gründe können &hellip;
Mögliche Gründe können &hellip;
Zeile 25: Zeile 25:
sein.
sein.


Dies ist aber nichts, was uns Sorgen mahen muss  - schließlich wollen wir den Robotern so programmieren, dass er sich immer korrigiert.}}
Dies ist aber nichts, was uns Sorgen machen muss  - schließlich wollen wir den Robotern so programmieren, dass er sich immer korrigiert.}}
 
=== Programmierung ===
Anders als im letzten Kapitel verwenden wir nun einen Motor-Ausgang. Mit ihm kann man 3 Parameter übergeben:
 
# Nummer des Ausgangs (M1-M8)
# Drehrichtung des Motors (Uhrzeigersinn oder Gegenuhrzeigersinn)
# Stärke (in Prozent)
 
[[Datei:FtDuino-Motor-Sketch-1.png|817px|alt=Sketch, der 2 Motoren steuert]]
 
Mit einem Klick auf die grüne Flagge werden beide Motoren für 5s angeschaltet.
 
Nach einer Sekunde Wartezeit werden beide Motoren wieder für 1s angeschaltet; bei Motor 2 wird aber eine andere Drehrichtung angegeben.
 
== Buggy ==
Unser erstes „richtiges“ Modell soll ein '''''Bumper Car''''' (engl. für Autoscooter) sein. Bereits im [[FtDuino/Programmieren_in_C%2B%2B|letzten Kapitel]] hatten wir einen Taster verwendet. Diesen können wir auch als Kollisions-Sensor verwenden, der „merkt“, wenn das Auto gegen etwas fährt. Eine gute Bauanleitung gibt es im Buch „fischertechnik-Roboter mit Arduino“ auf Seite 54.<ref>fischertechnik-Roboter mit Arduino<br>von Dirk Fox, Thomas Püttmann; dpunkt-Verlag ISBN: 978-386490-426-4</ref><ref>(ftcommunity.de) [https://forum.ftcommunity.de/viewtopic.php?f=34&t=7413#p57251 Bumper aus Early Coding]</ref>
 
== Line Follower ==
Ein Linienfolger (engl. ''Line Follower'') wertet kontinuierlich einen Helligkeitssensor aus, um einer schwarzen Linie zu folgen. Der Sensor wird mit seinen gelben und blauen Kabeln an zwei beliebige der Eingänge I1 bis I8 angeschlossen. Zusätzlich erfolgt über die roten und grünen Kabel die Spannungsversorgung durch den ftDuino.


=== Line Follower ===
Unser erstes Modell soll ein Linienfolger (engl. ''Line Follower'') werden.


{{Aufgabe|#Lies das Kapitel im Manual.
{{Aufgabe|#Lies das Kapitel [https://harbaum.github.io/ftduino/www/manual/modelle.html#7.3 7.3 ROBOTICS TXT Explorer: Linienfolger] im ftDuino-Manual.
# Überlege, wie man den notwendigen Algorithmus in Pseudocode formulieren würde.
# Überlege, wie man den notwendigen Algorithmus in Pseudocode formulieren würde.
# Schreibe einen Sketch in Scratch.}}
# Schreibe einen Sketch in Scratch.}}
* FTDuino Manual: [https://harbaum.github.io/ftduino/www/manual/modelle.html#7.3 ROBOTICS TXT Explorer: Linienfolger]


{{#ev:youtube|JQ8TLt5MC9k}}
{{#ev:youtube|JQ8TLt5MC9k}}
Zeile 40: Zeile 55:


{{#ev:youtube|LxXY4CCOKX0}}
{{#ev:youtube|LxXY4CCOKX0}}
https://forum.makeblock.com/t/line-follower-in-scratch/882/7


muss angepasst werden
muss angepasst werden


=== Hinderniserkennung ===
== Hinderniserkennung ==
Zusätzlich muss unser Roboter ein Hindernis (10x10cm großer Holzklotz) erkennen und ihm ausweichen. Dabei soll er das Hindernis umfahren (Nein: nicht '''um'''fahren, sonder '''drumherum'''fahren) und dann die Spur wiederfinden und dieser wieder folgen.


Hier verwenden wir den Abstands-Sensor. Ein Abstandssensor ist ein technisches Bauteil, das in der Lage ist, den Abstand zwischen sich und einem Objekt zu messen. Abstandssensoren arbeiten mit Licht, Infrarotstrahlung, Radiowellen, oder Ultraschall und verwenden unterschiedliche Messmethoden. Schall breitet sich als Welle aus. Ein Echo wird zur Ultraschallquelle reflektiert, welches nun als Signal wieder gefangen und ausgewertet wird. Die Zeitdifferenz zwischen Aussenden und Empfangen des Signals gibt Aufschluss über die Distanz zwischen Hindernis und Sensor. Die Reichweite des Sensors beträgt bis zu 4 m. Der ausgegebene Zahlenwert entspricht dem Abstand in Zentimeter.
{{InArbeit}}
{{InArbeit}}


{{FTDuino}}
{{FTDuino}}
== Weblinks ==
<references/>

Aktuelle Version vom 1. November 2022, 08:31 Uhr

Spannender als die ersten kleinen Automaten aus dem letzten Kapitel sind natürlich fahrende Roboter, die selbständig Aufgaben erledigen können.[1]


Roboterauto

Vorüberlegungen

Wir verwenden Roboter, die dem TXT Discovery und TX Explorer ähneln. Da der Arduino keinen USB-Anschluss für die USB-Kamera hat, verwenden wir den Ultraschallentfernungsmesser 133009 und den IR-Spur-Sensor 128598 von Fischertechnik, die im ausgelaufenen ROBO TX Explorer zu finden waren und sich auch nachkaufen lassen.

Tipp an Lehrer und Schüler!
So attraktiv es scheinen mag, den Anleitungen der Baukästen zu folgen, kommt man schneller zum Ziel, wenn man sich anfangs auf das Nötigste beschränkt und die Modelle etwas kleiner baut.

Aufgabe
  1. Baue einen Roboter, dessen Räder / Raupen jeweils über einen Motor angetrieben werden.
  2. Lasse beide Motoren mit gleicher Geschwindigkeit fahren.
  3. Beobachte und beschreibe den gefahrenen Weg.
    • Erkläre, was die möglichen Ursachen dafür sein können.

Der Roboter beginnt nach einer Weile in eine Richtung zu steuern und weicht immer mehr von der gedachten Gerade ab.

Mögliche Gründe können …

  • unterschiedliche Motorstärken
  • feste Achsen
  • verklemmte Zahnräder

sein.

Dies ist aber nichts, was uns Sorgen machen muss - schließlich wollen wir den Robotern so programmieren, dass er sich immer korrigiert.

Programmierung

Anders als im letzten Kapitel verwenden wir nun einen Motor-Ausgang. Mit ihm kann man 3 Parameter übergeben:

  1. Nummer des Ausgangs (M1-M8)
  2. Drehrichtung des Motors (Uhrzeigersinn oder Gegenuhrzeigersinn)
  3. Stärke (in Prozent)

Sketch, der 2 Motoren steuert

Mit einem Klick auf die grüne Flagge werden beide Motoren für 5s angeschaltet.

Nach einer Sekunde Wartezeit werden beide Motoren wieder für 1s angeschaltet; bei Motor 2 wird aber eine andere Drehrichtung angegeben.

Buggy

Unser erstes „richtiges“ Modell soll ein Bumper Car (engl. für Autoscooter) sein. Bereits im letzten Kapitel hatten wir einen Taster verwendet. Diesen können wir auch als Kollisions-Sensor verwenden, der „merkt“, wenn das Auto gegen etwas fährt. Eine gute Bauanleitung gibt es im Buch „fischertechnik-Roboter mit Arduino“ auf Seite 54.[2][3]

Line Follower

Ein Linienfolger (engl. Line Follower) wertet kontinuierlich einen Helligkeitssensor aus, um einer schwarzen Linie zu folgen. Der Sensor wird mit seinen gelben und blauen Kabeln an zwei beliebige der Eingänge I1 bis I8 angeschlossen. Zusätzlich erfolgt über die roten und grünen Kabel die Spannungsversorgung durch den ftDuino.


Aufgabe
  1. Lies das Kapitel 7.3 ROBOTICS TXT Explorer: Linienfolger im ftDuino-Manual.
  2. Überlege, wie man den notwendigen Algorithmus in Pseudocode formulieren würde.
  3. Schreibe einen Sketch in Scratch.


https://forum.makeblock.com/t/line-follower-in-scratch/882/7

muss angepasst werden

Hinderniserkennung

Zusätzlich muss unser Roboter ein Hindernis (10x10cm großer Holzklotz) erkennen und ihm ausweichen. Dabei soll er das Hindernis umfahren (Nein: nicht umfahren, sonder drumherumfahren) und dann die Spur wiederfinden und dieser wieder folgen.

Hier verwenden wir den Abstands-Sensor. Ein Abstandssensor ist ein technisches Bauteil, das in der Lage ist, den Abstand zwischen sich und einem Objekt zu messen. Abstandssensoren arbeiten mit Licht, Infrarotstrahlung, Radiowellen, oder Ultraschall und verwenden unterschiedliche Messmethoden. Schall breitet sich als Welle aus. Ein Echo wird zur Ultraschallquelle reflektiert, welches nun als Signal wieder gefangen und ausgewertet wird. Die Zeitdifferenz zwischen Aussenden und Empfangen des Signals gibt Aufschluss über die Distanz zwischen Hindernis und Sensor. Die Reichweite des Sensors beträgt bis zu 4 m. Der ausgegebene Zahlenwert entspricht dem Abstand in Zentimeter.

 Gnome-devel.svg



Weblinks

  1. Ziel ist es, am 12. Mai 2022 mit unseren ft-Robotern am Robotik-Wettbewerb der mittelfränkischen Realschulen teilzunehmen. Dort gibt es zwei Kategorien:
  2. fischertechnik-Roboter mit Arduino
    von Dirk Fox, Thomas Püttmann; dpunkt-Verlag ISBN: 978-386490-426-4
  3. (ftcommunity.de) Bumper aus Early Coding