Stap 4: elektronica
De elektronica die we gaan gebruiken in het project zijn gewoon drie, een arduino UNO (u kunt wat arduino hebt, maakt niet uit of is niet arduino UNO), een motor driver, in dit geval een L298, en ten slotte een IMU.
We gebruiken een commerciële motor stuurprogramma op basis van de chip L298, misschien veel krachtige dat we nodig voor deze motoren hebben maar ik heb het en het werkt prima. Als je wilt om je eigen DC motor stuurprogramma u kunt gebruiken sommige transistoren en aanbrengen van een H-brug of gebruiken van een L293, goedkoop en makkelijk te gebruiken, is er een instructable waar u informatie vinden hoe dit kunt te doen.
Voor de IMU gebruikte ik de goedkoopste 10DOF (10 graden van vrijheid) vind ik, de chinese GY-80 met 3-assige versnellingsmeter, 3-as gyroscoop, magnetometer, barometer en temperatuur sensoren. Wij gebruiken alleen de versnellingsmeter en de gyro zodat kunt u het opslaan van geld kopen een ander IMU, zoals de MPU-6050, een 6DOF IMU voor slechts 3.63€!!!, of de versnellingsmeter en de gyro om aparte.
De IMU is aangesloten op de arduino I2C bus (als u lerarn meer over I2C blik dit instructable wilt), gebruikt zodat er 2 draden nodig voor communicatie (SDA en SCL) en 2 draden voor macht, maar 3.3V dus moeten we 3.3V draad en GND.
De motor bestuurder nemen macht rechtstreeks vorm de batterij zodat niet hoeft te verbinden het met arduino van macht (ik bedoel de 5V vormen de arduino), maar we moeten 6 draden om het te controleren, 3 voor elke motor, één voor verzenden het PWM -signaal voor controle de motor snelheid, en geven zij de richting die we de motor willen te draaien.
Tip: Probeer de IMU sensor (of versnellingsmeter) positie in de lijn van de as van de motoren omdat als u vinden de IMU ver vorm dit kan je verkrijgen veel fout in de versnellingsmeter maatregel, vergeet niet dat het meten van lineaire versnelling, als u vinden het tot op een afstand R van de as wanneer de robot formulier verticale valt de versnelling van de versnellingsmeter is de zwaartekracht plus R * dAngle/dt, dat dat het betekent voeren van een fout in de meting.