Pingbot - Micro RC uppladdningsbara musikaliska Robot Pal (10 / 12 steg)
Steg 10: programmering
Programvara
PicAxe programmering redaktör, den programvara som används till att programmera den 08M 2, är tillgängliga gratis från webbplatsen PicAxe.
Seriell programmering
För att programmera chip ett PicAxe via en USB-port en AXE027 programmering kabel behövs. När du utformar kretsen arbetade jag under antagandet att den 08M 2 kan programmeras med en direkt anslutning till USB-porten data + och data-pins. Jag trodde jag kunde hoppa över 027, och skulle behöva endast Micro-USB-kontakten att programmera chip. Efter några misslyckade försök på ladda upp programmet till bot, jag gjorde en del tester/forskning och fick reda på att AXE027 kabel innehåller en seriell omvandlare. Jag vet inte de exakta detaljerna för hur detta converter fungerar, men det är nödvändigt att programmera PicAxe över en USB-port.
Det var alldeles för sent att gå tillbaka och fixa detta i design, allt hade redan lagts tillsammans! Dessutom fanns det inte utrymme att lägga till en stereo jack för AXE027 på kretskortet. Att programmera chip jag behövde för att göra en adapter som kunde ta emot den stereo jack från AXE027 och ansluta den till mikro-USB-kabeln.
Jag grävde igenom min låda med datorprylar och hittade en PS2 - USB-adapter som jag inte var känslomässigt fäst vid. Jag skär den isär bort kvinnliga USB-kontakten och trådbunden som till en 3,5 stereo jack som jag hade kvar från ett tidigare projekt. Medföljande bilden Detaljer hur detta kort var kabelansluten.
Vad programmet gör
Roboten styrs av en standard universal tv remote som jag fick för $5. Fjärrkontrollen är inställd på Sony TV-koden, som är vad den 08M 2 kan avkoda. När en knapp trycks på fjärrkontrollen sänder det en kod från dess IR LED. Under tiden den 08M 2 har väntat på sin IR-mottagare att plocka upp denna överföring, och när den gör motsvarande knapp nummer lagras i en variabel. PicAxe kontrollerar den variabeln och kör den kod som är associerad med mottagna nummer. Programmet sedan återgår till dess start och väntar ett annat kommando.
Kommandot 08M2s tune är awesome. Det finns tusentals gratis, gamla mobiltelefon ringsignaler som spelas upp på peizo högtalare och dessa kan laddas ner och programmeras på chipet. Att sätta in dessa låtar är så enkelt som att använda PicAxe programmering Redaktörens ringsignal guiden Importera låtarna till koden. Varje ton av låten representeras av flera och de kan kopieras, klistras in, och åter arrangeras redigera låtar. Kommandot har också alternativ för blinkar en LED (ögon) med musik.
Jag programmerade några av knapparna med låtar och några andra med slumpmässiga pip. Piper ger roboten några skär lite uttryck som är rolig att använda när det stöter in i saker och sådant. Mer information om kommandot tune kan hittas här. Denna sida var också mycket användbart, eftersom det visar vad koden # används för vilka fjärrkontrollknappar.
När en av volymen + - eller kanal + knappar trycks programmet tänds den lämplig motorn för 100 millisekunder och sedan stänger av igen. Om knappen hålls ner den biten av koden upprepas, effektivt stänga slå motorn helt. LED ögon är knutna till denna samma knapp så att de slår på synkroniserad med motor. Ögonen blinka varje gång koden upprepas, men motorerna stannar inte länge nog för att påverka rörelsen.
Dansande robotar har roligare
Pingbot kan programmeras med dans rutiner och använder en blandning av tune kommando och motorisk kontroll. Programmet visar på en motor (eller båda), spelar några anteckningar och sedan stängs motorn av. Nästa motsatta motorn är påslagen, nästa uppsättning av anteckningar i låten spelas och motorn är avstängd. När dessa drag utförs tillsammans finns det utan tvekan mellan kommandona och sången spelar sömlöst medan roboten virvlar runt i olika riktningar. Detta kan ses i videon på detta Instructable intro sida.