Använda sensorer och ställdon för att göra en mekanisk labyrint labyrint (10 / 10 steg)
Steg 10: Kodstycken
KinomaJS ansökan har två viktiga uppgifter: övervakning av accelerometern och översätta den kände acceleration till matchande motoriska kommandon. En grundläggande konfiguration och läsning av analoga accelerometer data skulle kunna åstadkommas inom en BLL såhär:
Det skulle dock vara bättre, att lägga till ett par funktioner i våra accelerometer BLL. Först är kalibrering: möjlighet att berätta BLL när enheten är nivå. Andra utjämning: att minska noisiness av analog ingång för att förhindra jitter av labyrinten. I hela projektet källan finns det implementeringar av dessa två funktioner. Utjämning sker med hjälp av en enkel lågpassfilter.
Skicka kommandon till motorerna sker i två delar. BLL sidan lyssnar efter kommandon från app och omvandlar dem till seriell meddelanden efter den SSC32u kommunikationsprotokoll (som anges i dess Användarhandbok). BLL ser ut så här:
Applikationen kommunicerar med motorn BLL varje gång det blir data tillbaka från accelerometern BLL. Detta börjar när den 'data' hanteraren för app startas som den accelerometer motringning. Denna handler uppdaterar displayen, beräknar rätt vinklar för de två servomotorer och anropar sedan funktionen doMotorControl. doMotorContorl anropar funktionen "sendDualCommand" av motorn BLL:
Grattis!
Du har gjort det! Eller om du fastnade tillsammans med väg, vi är här att hjälpa – kom och besök oss på vårt forum och låt oss veta hur vi kan hjälpa.