Bygga en robot Remote Controller (3 / 4 steg)
Steg 3: programmering
Programvara för detta projekt består två delar, en för fjärrkontrollen (som jag kallar "Host" senare), och den andra för robot ("kunden").
Programmering på fjärrkontrollen har ett flödesschema som visas på den första bilden. Det är ansvarig för att initiera anslutningen, återupprätta bruten anslutning, kodning kommandon och ge feedback från klienten till användaren. Det blir också en LCD-menyn system att tillhandahålla aktuella statusinformation om ledaren, tillåta realtid parametern justering, kalibrering och så vidare.
Andra bilden är flödesschema för klienten. Det är ansvariga för mottagandet anslutning, avkodning kommandon och kommunicera tillbaka.
Kommunikation
Som för dataöverföring, eftersom vi använder serial stiften på Arduino, kommer jag att använda Serial.write() för att skicka data. Funktionen skickar ett byte data vilket innebär att max värdet vi kan överföra är 255 varje gång vi kallar denna funktion.
Du kanske undrar vad vi ska göra om ingångarna från potentiometrar och joysticks, eftersom de har ett max värde på 1023. Vi har två alternativ, ett är att nedgradera upplösningen till karta värde mellan 0 och 1023 till ett nytt värde mellan 0 och 255, som ryms i en byte. Andra alternativet är att behandla numrera benämner in av bitar (1024 kan representeras med 10 bitar), som kan skicka separat som två paket. När de anlände på klientsidan, sätta vi dem ihop som ett nummer. Som ni kanske vet, för ett enstaka värde, skulle skicka två byte ta längre tid än en byte. Men det är mindre exakt, ibland behöver vi inte denna nivå av noggrannhet och föredrar mindre fördröjning. Så jag planerar att anta båda metoderna i fjärrkontrollen meddelandet, så att användaren kan välja vilken väg att gå beror på situationen.
Länk till källfilen kan hittas på projektet logg. Som jag nämnde, måste du veta hur du använder Arduino för att använda källkoden.