Microcontroller > Robotics
Witty self-balancing Bot
dinoi:
--- Quote from: dinoi on May 28, 2019, 10:48:56 PM ---Bezüglich HC-05 und Debugging, hat jemand die Steckerbelegung von gem Gaia Stecker gefunden?
--- End quote ---
Hallo Zusammen
Die Steckerbelegung habe ich gefunden, von rechts nach links. GND ist an Pin 1.
GND
VCC
Tx
Rx
Reset
Jedoch habe ich eine weitere Frage, in den Dokumenten habe ich 3 Versionen von Pinouts gefunden, welche ist die richtige ;) Siehe Anhang.
Gruss Reto
Rene:
Hallo Reto
--- Quote from: dinoi on May 28, 2019, 10:48:56 PM ---Die einzelnen Funktionen im WittyDemo2.ino habe ich ausprobiert, wobei das (2) pfm bei mir nicht funktioniert. Die Motoren bewegen sich überhaupt nicht, funktioniert das bei Euch?
--- End quote ---
Beim pfm-Test in WittyDemo2 bin ich auch nicht weiter gekommen. Habe dann aber etwas selbst experimentiert und mit Inter2.h und Pfm.h herumgespielt.
Das Ergebnis ist im angehängten PFMTest.zip zu finden.
Damit pfm funktioniert, muss in regelmässigen Abständen DoPfm() aus Pfm.h aufgerufen werden. Dieser Aufruf kann vom Timer2 - Interupt ausgelöst werden. Ich bin von Inter2.h ausgegangen und habe daraus ein eigenes IntTimer2.h gemacht. Der Interrupt wird alle 58 Mikrosekunden ausgelöst, wobei in der ISR dafür gesorgt wird, dass die eigentlichen Interrupt - Funktionen nur alle Millisekunden aufgerufen werden.
Die Interrupt - Funktionen können im Hauptprogramm definiert werden und dann mit addIntFunction() in die Liste eingetragen werden. Ich habe als Beispiel eine blinkende Led und den Aufruf von DoPfm() eingetragen.
Gruss
René
dinoi:
Hallo René
Perfekt besten Dank, Dein Beispiel funktioniert sehr gut. Mit pfm kann man die Motoren sehr genau ansteuern.
Übrigens das Beispiel: TestG521.ino hat die Variablen vom Gy521.h nochmals deklariert. Die habe ich entfernt dann funktioniert es auch:
//int16_t GyX,GyY,GyZ;
//int16_t AcX,AcY,AcZ;
Gruss Reto
Rene:
Hallo Reto
--- Quote from: dinoi on June 09, 2019, 10:33:22 PM ---Perfekt besten Dank, Dein Beispiel funktioniert sehr gut. Mit pfm kann man die Motoren sehr genau ansteuern.
--- End quote ---
Das war nur ein erster Versuch. Ich habe versucht das Ganze in Klassen zu verpacken. Das scheint auch ein gangbarer Weg zu sein, aber so richtig habe ich das noch nicht im Griff (C++ ist nicht gerade meine Lieblingssprache). Allerdings muss ich vor der Fülle von #define - Statements in Witty.h momentan kapitulieren.
Gruss
René
Rene:
motor und intTimer2 habe ich jetzt in Klassen verpackt. Erstaunlicherweise braucht das kaum mehr Speicherplatz.
Mit dem Gyro kämpfe ich noch, bisher habe ich es noch nicht geschafft, damit vernünftige Werte zu erhalten. Ich werde aber (hoffentlich) in Kürze eine vernünftige Klasse nachliefern können.
Gruss
René
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version