Stap 9: programmeren
OK zal ik toegeven, ik ben niet veel van een programmeur. Ik rotzooi rond met Arduino en ik ben er vrij goed bij mengen en bijpassende van andere mensen-code in iets dat werkt, maar thats about it. Thr Arduino voetafdruk van de Edison fooled me in het denken die het zou eenvoudig zijn om een eenvoudige schets uitgevoerd. Het opzetten van de Raad van bestuur was veel verder dan wat ik gewend was. Ik was verloren, maar ik had een levenslijn - mijn vriend Chris is een programmeur en aangeboden voor het programmeren van de robot voor mij. Alles wat ik moest doen was het bouwen van de hardware.
Dit betekent niet dat ik niet proberen. Ik keek andermans projecten en googled alle dingen die ik niet begreep, maar het duurde niet lang, ik had 10 tabbladen open en mijn hersenen begonnen beslaan. Heb ik besloten om te werken aan de code met behulp van een Arduino. Ik gebruikte een schets van de algoritmische muziek en mijn eigen patronen toegevoegd. Ik wijzigde de code naar gebruikte drukknoppen invloed kunnen zijn op veranderingen in het patroon spelen. Ik gebruik de Hallsensor, de fotocel en de IR afstandssensor control van de variabelen in het patroon gepland. Ik zou ook gebruik maken van het digitale kompas om te schakelen tussen vier verschillende varianten van het algoritme. Ik vond ook lijn volgeling sketch die met het Seeed Studio motor schild werkt.
Een gesprek met de vriend van mijn programmeur leiden tot de beslissing te gebruiken Javascript in plaats van de Arduino schetsen. JS zou gemakkelijker de robot control, audio synthese en 'connectiviteit' te integreren. We besloten ook om het gebruik van wifi in plaats van bluetooth, zodat we de uitvoer kunnen streamen.
Nou, een ding leidt tot een ander en hebben we de neiging om dingen te doen op het laatste moment. De vrijdag vóór de deadline rollen rond en we zou samenzijn om af te ronden wat we dachten een eenvoudig project. Ik besliste te jumper draden aansluiten op de draden van de sensoren en een proto-schild met een 17 x 10 breadboard gebruiken om te verbinden met de Edison. Ondertussen, Chris bijgewerkt van de Raad van bestuur en deze instellen als een webserver. Tegen de tijd dat kregen we wat instellen dat tot ik besefte dat ik vergeten de motor battery pack. We besloten om samen te komen zaterdag na het werk te eindigen.
Dat is wanneer de problemen begonnen. Niet kon krijgen we de motoren te verplaatsen. Ik had ze getest met het pak van de batterij aan de blote draden en zij werkte prima, ze gewoon niet kregen macht door middel van het schild. Ik was op dit punt uit mijn diepte en Chris aangepast de PWM pins jumpers en andere trucs tevergeefs. We uiteindelijk toegegeven en verwijderd het Seeed schild en geïnstalleerd het stuurprogramma bord dat bij de kit, hoewel het paste niet zo mooi. We testten het uit op een werk stand met de Edison gevoed vanuit de inbegrepen muur-wrat en het werkte prima. Het feit dat de Edison draadloos kan worden geprogrammeerd was geweldig, zoals Chris's slaapkamer computer had alle juiste software terwijl het aanrecht een betere werkbank was. Hij kreeg de wielen werken, hun macht aangepast en het opzetten van een rudimentaire webgebaseerde controller met behulp van de pijltoetsen van mijn laptop. Door dit punt het was laat en we besloten om te voldoen aan zondagmiddag te eindigen.
Door dit punt hadden we de Edison communiceren met de motoren, de volgende stap was om te programmeren van de regel die volgt op functie. Omdat de motoren werden werken goed op de 12v battery pack, ik gepland voor het aansluiten van een 9v-batterij wordt uitgevoerd de Edison, die is sceced van 7-18v. We testten de robot in deze configuratie. Het zou beginnen in die ooit richting u heeft verzonden, maar het enkel die manier voortgezet totdat het liep iets. We hadden de typische 'hardware vent wijt de soft ware / software kerel wijt de hardware' gesprek zoals we rond met geen resultaten porde. De uiteindelijke dader lijkt te zijn van de macht. De 9v was gewoon niet genoeg aan de macht van de Raad van bestuur. De Grove motorische bestuurder had een interessante functie-om te redden van de middelen die het gebruikt de laatste input totdat een nieuwe werd ingevoerd. De Raad van bestuur zou opstarten en sluit, maar zodra we een signaal naar de motor gestuurd, de bot zou beginnen met bewegen, de Edison zou sterven en opnieuw te starten en de bot zou gaan vliegen in een muur met geen nieuwe input. Wij beproefd wisseling het rond, met 9v naar de motors en 12v naar de Edison, maar dat werkte niet ofwel - de motoren werkte, maar de Raad van bestuur stierf. Het heeft een heleboel geweldige functies in een klein pakket, maar de Edison is een beetje macht honger voor kleinschalige robotica projecten. Ik zal moeten beoordelen van het ontwerp en het vinden van een oplossing van de batterij met hogere stroomsterkte te rijden van de Raad van bestuur. Met Arduino zijn altijd de andere manier rond!
Macht was dus onze achilleshiel. Dat en wordt een eigenwijs nerd die denkt dat hij kan trek iets op het laatste moment. We eindigden de motor driver back-up de 12v-accu aansluiten, inpluggen van de muur-wrat in een korte verlenging snaar en uitvoeren van de Edison van de macht van de muur. Het was leuk en we een paar dingen geleerd voor de volgende fase van het project.