Offline
Newbie
Karma: 0
Posts: 14
|
 |
« on: December 06, 2012, 11:23:16 am » |
Hallo, wir müssen im NWT Unterricht ein Projekt mit einem Arduino Uno machen. Einige Grundkenntnisse haben wir schon. Wir haben einen Arduino Uno und ein ARX-CH09 Chassis Fahrgestell --> http://www.reichelt.de/Robotik/ARX-CH09/3/index.html?;ACTION=3;LA=2;ARTICLE=102236;GROUPID=5728;artnr=ARX-CH09;SID=11UMDEMX8AAAIAAFLHfc0bb8301f20e9257dba51131d26b40ceb6Wir möchten, dass der Arexx auf Geräusch fährt z.B. auf Klatschen Wir haben den Arduino schon mit den Motoren verbunden..jedoch haben wir noch Probleme bei einem Programm, da wir nur die Grundkentnisse besitzen. Wir brauchen dringend Hilfe, da wir nur wenig Zeit haben. ( in 2 Wochen sollte es fertig sein ) Wir wären euch sehr dankbar für euere Hilfe (: Danke schon mal!
|
|
|
|
« Last Edit: December 11, 2012, 06:13:47 am by blumensmili »
|
Logged
|
|
|
|
|
Offline
Edison Member
Karma: 18
Posts: 1297
|
 |
« Reply #1 on: December 06, 2012, 11:58:24 am » |
Habt Ihr Euch das Projekt selbst ausgedacht, oder was das eine Vorgabe? Ihr schreibt, das Ihr schon wißt, wie Ihr alles verkablen müßt. Das bedeutet also Ihr habt schon eine Schaltung um die Motoren zu steuern und eine Hardware die auf das Klatschen reagiert?
Wie habt Ihr getestet, ob Eure Verkabelung funktioniert? Dazu muss es ja schon ein Programm geben.
Was habt Ihr denn bereits an Programm fertig?
Hier wird Euch sicher keiner Euer Projekt fertig programmieren, aber helfen wenn es klemmt, können wir schon.
Postet doch mal den Code den Ihr schon habt und wie Eure Schaltung für die Motoren und die "Geräuscherkennung" am Arduino aussieht.
Mario.
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Newbie
Karma: 0
Posts: 14
|
 |
« Reply #2 on: December 06, 2012, 02:58:51 pm » |
Wir mussten einfach etwas mit einem Arduino machen und dann haben wir uns das ausgedacht Wir sind immer 2er Gruppen und jede macht etwas anderes. Wir haben am Anfang gedacht, dass es etwas einfacher wird.. :/
Also wir haben schon eine Motorsteuerung die auf einem Steckbrett mit dem Arduino und dem Auto verbunden ist. Den Lautsprecher müssen wir aber noch verbinden!
Wir bräuchten halt eine kleine Vorlage für das programm (:
|
|
|
|
« Last Edit: December 11, 2012, 06:11:40 am by blumensmili »
|
Logged
|
|
|
|
|
Offline
Edison Member
Karma: 18
Posts: 1297
|
 |
« Reply #3 on: December 06, 2012, 03:44:33 pm » |
Wenn die Motoren schon auf einem Steckbrett verkabelt sind, könnt Ihr doch damit anfangen die beiden Motoren zu steuern. Wie sind denn die Motoren an den Arduino angeschlossen? Also welche Pins, wie sieht die Spannungsversorgung aus etc. Habt Ihr denn schon irgendwas mal auf den Arduino geladen? Z.B. den Blink-Sketch der die LED des Arduino blinken läßt? Ohne Details kann Euch hier keiner helfen. Habt Ihr Euch denn schon mal Gedanken über die Struktur des Programms gemacht. Dabei geht es nicht um die Details, sondern eine ungefähre Vorstellung was wann wie passieren soll. Sowas nennt man Programmablaufplan: http://de.wikipedia.org/wiki/ProgrammablaufplanDamit kann man sich erstmal in Ruhe mit der Lösung eines Problems beschäftigen, ohne sich mit den Details der Programmiersprache herum zu ärgern.
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Newbie
Karma: 0
Posts: 14
|
 |
« Reply #4 on: December 11, 2012, 05:38:48 am » |
Also, wir haben es so angeschlossen wie hier: http://www.schule-bw.de/unterricht/faecher/nwt/unterrichtseinheiten/kurs/micro_pics/manuskript.pdf
Falls der Link nicht funktionieren sollte, habe ich noch ein Screenshot gemacht und ihn unten angefügt. Und ja wir haben schon einige Beispielprogramme geschrieben. z.B. mit LED (blinken, stufenlose Dimmung), mit Sensor, Melodien und auch Sachen die dann der Arduino auf dem Serial Monitor anzeigt. Die Grundbefehle können wir..aber auch nicht mehr :/ Ja sowas haben wir schon gemacht, jedoch nicht arg ausführlich..unsere Zeit ist ziemlich knapp
|
|
|
|
|
Logged
|
|
|
|
|
Germany
Offline
Edison Member
Karma: 33
Posts: 1793
Arduino rocks
|
 |
« Reply #5 on: December 11, 2012, 06:27:39 am » |
Du solltest die Informationen liefern, die auch gefordert wurden: Postet doch mal den Code den Ihr schon habt und wie Eure Schaltung für die Motoren und die "Geräuscherkennung" am Arduino aussieht.
Immerhin gibt es schon die Angabe, dass ihr einen L293D verwendet. Habt Ihr Euch denn schon mal Gedanken über die Struktur des Programms gemacht. Dabei geht es nicht um die Details, sondern eine ungefähre Vorstellung was wann wie passieren soll.
Wie soll der Roboter reagieren. Bei Geräuschen einfach geradeaus fahren? Im Bogen? Vorwärts? Rückwärts? Wenn ja, wie lange? Eine bestimmte Zeit? Solange das Geräusch anhält? Ich hoffe, ihr versucht keine Sprachsteuerung zu integrieren... 
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Newbie
Karma: 0
Posts: 14
|
 |
« Reply #6 on: December 13, 2012, 03:42:23 am » |
Der Roboter soll keine bestimmte Zeit lang fahren..aber er sollte bei Geräusch los fahren (gerade aus). Es wurde uns keine bestimmte Bahn angegeben..also dürfen wir entscheiden wo er lang fährt. Also eine Sprachsteuerung hatten wir eigentlich nicht vor ;D Gäbe es eine Möglichkeit, dass der Roboter bei 1 Klatschen los fährt und 2x z.B. um die Kurve etc ?
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Edison Member
Karma: 18
Posts: 1297
|
 |
« Reply #7 on: December 13, 2012, 04:09:27 am » |
Bevor jetzt immer neue Ideen kommen, was der Roboter alles machen soll, wäre es gut, erstmal überhaupt was zu haben. Also, her mit dem Code den es schon gibt und überlegt euch ein Konzept und einen Ablauf Eures Programms. Am Anfang in "Funktionsblöcken". Orientiert Euch dabei schon daran, das es beim Arduino ein setup() gibt, das einmal an Anfang aufgerufen wird und ein loop(), das endlos immer wieder aufgerufen wird. Dort packt Ihr Eure Funktionsblöcke rein (sowas wie "Klatschen erkannt", "stop", "geradeaus fahren", "linkskurve", "rechtskurve" etc.). Ihr könnt am Ende nicht einfach drauflos programmieren, mit etwas Planung wird es einfacher und übersichtlicher. ABER WIR BRAUCHEN DEN CODE DEN IHR SCHON HABT.
|
|
|
|
|
Logged
|
|
|
|
|
Germany
Offline
Edison Member
Karma: 33
Posts: 1793
Arduino rocks
|
 |
« Reply #8 on: December 13, 2012, 04:11:38 am » |
Also fehlt euch nach wie vor die Hardware zur Auswertung der Geräusche?  Was habt ihr denn seit dem 6.12. geschafft? Ich würde vorschlagen, dass ihr zur Geräuschauswertung auf die Schaltung zurückgrift, wie sie im Schaltplan zum Arduino Esplora verbaut ist. Da kann man zumindest davon ausgehen, dass diese funktioniert: http://arduino.cc/en/uploads/Main/arduino-esplora-schematic.pdf (Darstellung oben rechts). Den Ausgang der Teilschaltung könnt ihr dann direkt an einen Analogeingang legen, der Umweg über den Multiplexer/Demultiplexer wie beim Esplora entfällt. Dann einfach einen Schwellwert definieren und darüber ein Fahren-Flag setzen. Beim nächsten Klatschen kehrt man das Flag einfach wieder um. Für den Doppelklatsch wertet man die Zeitdifferenz zwischen der ersten und der zweiten Schwellwertüberschreitung aus. Ist diese klein genug (z.B. 500 ms), kann man kurzzeitig lenken, in eurem Fall werden sich wohl beide Antriebsräder unterschiedlich schnell drehen. Dann mal ran ans Werk! 
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Jr. Member
Karma: 0
Posts: 97
|
 |
« Reply #9 on: December 13, 2012, 04:14:33 am » |
vllt. hilft der link weiter: http://www.arduino.cc/en/Tutorial/KnockSensor. Ist eine Anleitung, wie man aus einem 10ct Piezo-element einen Klatschsensor macht.
|
|
|
|
|
Logged
|
|
|
|
|
Germany S-H
Offline
God Member
Karma: 28
Posts: 780
|
 |
« Reply #10 on: December 13, 2012, 04:25:54 am » |
Nach dem von mir gelernten Englisch ist ein "knock sensor" aber ein "Klopfsensor". D.h. wenn der Sensor an ein Gehäuse oder an ein Türblatt geschraubt wird, kann man erkennen, ob jemand anklopft. Ein Klatschsensor wäre ein "clap sensor". Wenn es also funktionieren soll, ohne dass man dem Roboter erst einen Klaps auf den Allerwertesten geben muss, würde ich eher nach Basteleien mit "clap sensor" als mit "knock sensor" Ausschau halten.
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Newbie
Karma: 0
Posts: 14
|
 |
« Reply #11 on: December 13, 2012, 04:28:03 am » |
@sth77 Also seit dem 6.12 haben wir es erst mal nur mit dem Lautsprecher getestet: void setup () { Serial.begin(9600); }
void loop () { Serial.println ( analogRead(0) ); }
Ja uns fehlt leider immer noch die Hardware zur Auswertung der Geräusche :/ Danke für den Schaltplan und deine Hilfe hat uns bisher sehr geholfen (:
@mkl0815 Wir haben noch kein Programm geschrieben, da wir erst recherchiert haben und den Roboter zusammen gebaut haben.. Nun haben wir erst den Lautsprecher getestet und kommen nun zum programmieren..aber da wir nur die Grundkenntnisse haben fälllt uns dies sehr schwer! void setup und void loop kennen wir, da wir (wie oben genannt) schon Beispiele ( LED blinkt etc. ) programmiert haben.
|
|
|
|
« Last Edit: December 13, 2012, 04:31:15 am by blumensmili »
|
Logged
|
|
|
|
|
Germany
Offline
Edison Member
Karma: 33
Posts: 1793
Arduino rocks
|
 |
« Reply #12 on: December 13, 2012, 04:38:01 am » |
Nach dem von mir gelernten Englisch ist ein "knock sensor" aber ein "Klopfsensor". D.h. wenn der Sensor an ein Gehäuse oder an ein Türblatt geschraubt wird, kann man erkennen, ob jemand anklopft.
Kann ich durch eigene Erfahrung bestätigen. Ziel war es bei mir, diese Schaltung nachzubasteln: http://blog.makezine.com/2010/11/25/how-to-arduino-high-speed-photograp/ Dort wird ein Piezo-Element verwendet, um bei lauten Geräusche den Blitz einer Kamera auszulösen. Wie gesagt, ich habs nachgebaut aber es funktionierte nicht. Beim direkten Klopfen, selbst bei kleinen Berührungen hatte ich ein Signal vom Sensor, der Schall hingegen bewirkte nichts. Daher ist der Piezo wohl nicht die beste Wahl für dieses Projekt.
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Newbie
Karma: 0
Posts: 14
|
 |
« Reply #13 on: December 13, 2012, 04:42:55 am » |
Wir hatten auch eigentlich nicht vor, dies mit Piezo zu machen 
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Jr. Member
Karma: 0
Posts: 97
|
 |
« Reply #14 on: December 13, 2012, 05:05:39 am » |
das knock nicht gleich Klatschen ist, ist mir schon klar... ich hatte nur mal an anderer Stelle gelesen, dass man mit Piezos auch rudimentär Schallwellen wahrnehmen kann, daher die Idee.
|
|
|
|
|
Logged
|
|
|
|
|
|