Stap 6: Code
De code is opgesplitst in twee tabbladen, de eerste was The_Social_Quadruped.ino en de tweede is Quad_Functions.ino. Ik heb beide bijgevoegd.
Het eerste tabblad bevat de Servo.h-bibliotheek die wordt geleverd met de Arduino IDE en de NewPing.h-bibliotheek, die kan worden gedownload hier. Ik eerst definiëren de trigger pin, echo pin en max afstand voor de ultrasone Sensor waarna ik definiëren een Boole-variabele die wordt gebruikt om te schakelen van de modus van de autonomie van de robot. Ik definieer de servo's. In de setup-functie, ik hecht de servo's aan hun respectieve standpunten op de Arduino Sensor schild, en initialiseren van de seriële monitor zodat me om opdrachten te verzenden naar de Arduino. In de functie van de lus stel ik de ultrasone Sensor voor het verzenden van de afstand van het dichtstbijzijnde object naar de seriële monitor, en controleren op input van de gebruiker. Als de gebruiker ingangen het teken f, b, o, l, w, s, u of de functies vooruit, terug, rechts, links, Golf, slaap, stand of autonomie die zijn gedefinieerd op het tabblad Quad_Functions.ino heten respectievelijk. Wanneer de gebruiker drukt op a, echter de autonomie functie zal blijven tot de gebruiker een lus persen een weer.
Het tweede tabblad bevat de definities voor alle functies. De respectieve stap functies definiëren een stap voor elk type van verkeer, de stand-functie stelt de servo's in een positie die zorgt ervoor dat de robot om op te staan, de vorige en volgende functies veroorzaken de robot vooruit en terug respectievelijk, verplaatsen dat de rechts en links-functies veroorzaken de robot om te draaien naar rechts en links respectievelijk, de wave2 en golffuncties oorzaak de robot te zwaaien met respectievelijk de linker- en voorpoten , de waveAuto-functie zorgt ervoor dat de robot te zwaaien met behulp van zijn voorste rechterbeen terwijl het in autonome modus, de sleep-functie stelt de servo's in een positie dat oorzaken de robot te liggen plat op de grond, en tot slot de readPing functie de lezingen van de ultrasone Sensor krijgt en ze naar centimeters converteert.
Opmerking: Zorg ervoor de pinnen van de servo u definieert overeenkomen met de pins die u laten op het schild van de Arduino aangesloten. Ook moet u de Bluetooth-module verbreken wanneer het uploaden van de schets aan de Arduino, zoals het soms met de upload-proces interfereert.