Stap 3: programmeren
Er zijn een aantal manieren om te programmeren op de Lego NXT-controller, maar ik koos voor het gebruik van App uitvinder van MIT (meer op de reden voor deze hieronder). De uitvinder van de App programma's een Android telefoon die via bluetooth met de NXT-controller communiceert. Voor het instellen van bluetooth verbinding met de NXT Zie tutorial op http://www.appinventor.org/Chapter12. Zorg ervoor dat setup de de bluetooth-verbinding, zoals wordt weergegeven in de zelfstudie en de paar de Android telefoon en de NXT-controller.
De gevoeligheid van de sensor van de echografie is ingesteld in het ontwerp-scherm. Zoals aangegeven in het eerste cijfer ik gebruikte BelowRangeEventEnabled, met BottomOfRange = 13.
Zoals blijkt uit de tweede figuur, wordt de motor wordt geactiveerd wanneer de ultrasone sensor lager dan het opgegeven bereik is. De volgende opdracht in het groen wordt de ClockOpen ingesteld op true, waarmee de motor uit te voeren voor slechts 1 seconde. Vervolgens de motor verandert van richting gedurende 1 seconde met behulp van ClockClose, en ten slotte de macht is ingesteld op nul. Ik gebruikte de NXTDirectCommands, maar de opdrachten NXTDrive zijn net zo goed en gemakkelijker code.
De laatste 2 cijfers tonen de vaststelling van ClockOpen en ClockClosed, waar elk hebben een TimeInterval van 1000 milliseconden.
Onze lange termijn doel is om een op afstand controleren en besturen van de dispenser. MIT App uitvinder kunt verzenden en ontvangen van SMS-berichten, dus volgend jaar wij plannen bij de programmering van de Android telefoon te sturen een SMS-bericht wanneer een snoep wordt aangeboden. Als wij ontdekken dat één persoon neemt te veel snoepjes wij konden zenden een tekst terug naar de dispenser tijdelijk uit te schakelen. We zijn van plan bij het verlaten van de Android telefoon op het balkon met uitzicht op de dispenser. Met Skype draait op de telefoon kunnen we zien wat er gebeurt en onze stem voor hen zo goed project.
Voor het project gebruikten we een barebones Android telefoon met geen cel service, het gebruikt alleen onze huis wifi.