Glidande kranarm (4 / 6 steg)
Steg 4: Koden
Nu kan ta en titt på koden för den glidande kranarm, som du hittar nedan. Koden använder 2 bibliotek: den StepperAK och den IRremote bibliotek. Jag har tagit båda dessa i zip-filen.
För att ordna koden, har projektet delats i 4 flikar baserat på vilken del av systemet för kontroll av de interagerar med. Låter starta genom att gå igenom sliderControl.ino. Denna fil innehåller koden för att importera och installera de nödvändiga biblioteken, deklarerar variabler som används i hela programmet och inkluderar det setup och huvudloop. Två viktiga saker att notera här är IR-koder och de viktigaste loopen. IR-koder kommer att bero på den fjärrkontroll du använder; för att räkna ut koderna för knapparna på fjärrkontrollen, Använd Serial bildskärmen för att se dem i. Kommentera helt enkelt bort två linjer som nämner följetong. Flytta till den viktigaste loopen, kontroller Arduino om det fått indata från en fjärrkontroll. I så fall anropar det funktionen decideAction(). Annars kontrollerar sysslolös ljuset bör vara aktiverade eller om kranen är lastning och lossning.
Nästa, låt oss titta på IR_Codes.ino. Detta innehåller funktionerna kring IR-sensorn. Den enda funktionen inuti är den ganska långa decideAction() funktionen. Denna funktion utför all logik behövs för att räkna ut vilken knapp har tryckts och vad man ska göra. Lägg märke till strukturen för denna funktion. Först kontrolleras om lastning och lossning knapparna har pressats. Detta gör kranarm att enkelt lägga till eller tagit bort basen genom att kontinuerligt köra motorerna. Därefter kontrollerar den om lastning och lossning är på. Om antingen, kan inga andra åtgärder vidtas. Detta förhindrar kranen möjligen skadar sig själv genom att trycka på en fjärr-knappen medan lastning och lossning.
Slutligen har vi Stepper_Control.ino. Detta inkluderar alla funktioner relaterade till stegmotorer. Dessa är ganska enkla funktioner, men märker varje funktion ställer stepsTaken till det nya beloppet, vilket förhindrar att motorn överutvidga sig själv. En funktion som sticker ut i denna grupp är funktionen setBase(). Detta återställer stepsTaken till 0. Detta gör att kranen för att kalibreras "" efter lastning eller lossning.