Go Down

Topic: arrexx roboter fahrgestell soll auf geräusch losfahren (Read 2880 times) previous topic - next topic

sth77

analogRead() ist in der loop besser aufgehoben. Weiterhin nutzt ihr nur zwei Pins für beide Motoren? Ich bin davon ausgegangen, dass ihr zumindest den L293 als H-Brücke benutzt: http://www.arduino-tutorial.de/2010/06/motorsteuerung-mit-einem-h-bridge-ic/
Das Verwenden von delay() in der loop ist zwar keine vorbildliche Lösung, da aber keine zusätzlichen Sensoren ausgewertet werden, ist dies zu verschmerzen.
Das doppelte Low-Setzen der Motorpins in den eigenen Funktionen ist ziemlich unnütz. Gerade in der stoppen() macht ihr das für jeden Motorpin doppelt. Das doppelte ist alles andere als logisch.
Mein Arduino-Blog: http://www.sth77.de/ - letzte Einträge: Teensy 3.0 - Teensyduino unter Window 7 - Teensyduino unter Windows 8

sth77

#16
Jan 08, 2013, 11:47 am Last Edit: Jan 08, 2013, 11:49 am by sth77 Reason: 1
Deutsch: http://www.arduino-tutorial.de/2010/06/motorsteuerung-mit-einem-h-bridge-ic/ (schon genannt worden)
http://www.schule-bw.de/unterricht/faecher/nwt/unterrichtseinheiten/kurs/micro_pics/manuskript.pdf (euer Manuskript, Seite 11)
Englisch: http://luckylarry.co.uk/arduino-projects/control-a-dc-motor-with-arduino-and-l293d-chip/
http://www.instructables.com/id/Control-your-motors-with-L293D-and-Arduino/

Besser ist es, eigenen Code zu zeigen - dann können wir sagen, wo euer Denkfehler liegt/lag.
Mein Arduino-Blog: http://www.sth77.de/ - letzte Einträge: Teensy 3.0 - Teensyduino unter Window 7 - Teensyduino unter Windows 8

mkl0815

Das sieht doch schon recht gut aus. Ich würde aber noch eine Funktion "stop()" ins Programm aufnehmen, sonst dreht sich am Ende der Fahrsequenz der Roboter links herum auf der Stelle bis der nächste Ton erkannt wird.
Zum Programm:
Code: [Select]

int m2PinGeschw = 1;
int m2PinRichtung = 1;

Hier müssen unterschiedliche Pins verwendet werden. Außerdem könnt Ihr Pin 0 und Pin 1 nicht verwenden, wenn Ihr Ausgaben über die serielle Schnittstelle machen wollt. Pin 1 ist außerdem kein PWM Pin, daher klappt dort das analogWrite() nicht.
Mario.

Go Up