Billigt, lätt Robotics för icke-programmerare (1 / 6 steg)
Steg 1: lite bakgrund
Här är en förkortad och ofullständig historia av kul-till-program robotics. Tillbaka i slutet av 60-talet beslutat Seymour Papert på MIT att robotar ska vara roligt. Hans ursäkt var att han ville hjälpa barnen lära sig, men jag tycker verkligen att han bara ville spela sig själv. :)} Var en av hans begrepp känd som Turtle grafik som en imaginär sköldpadda kan programmeras att rita linjer på skärmen. Kort därefter kunde på idén att göra en motoriserad sköldpadda som dra en penna på ett papper utvecklats. MIT fick Legos inblandade och de första programmerbara tegel (robot controller) skapades. Mindstorms (namn tas från en Papert bok) följde snabbt. En spin off, var baserat på arbete av Fred Martin, en programmerbar tegel kallas Cricket . Nyligen har har en billig tegel, känd som Babuino och baserat på Arduino, utvecklats. Babuino är anledningen jag skriver detta Instructable.För att gå med på hans lätt att använda hårdvara, uppfann Papert ett språk kallas logotyp för att göra programmering lika lätt. Logotypen skulle vara lätt för alla (vuxna ingår) att lära. Det var lätt jämfört med språk av dagen, men fortfarande involverade en text redaktör och memorera syntax. Paperts medarbetare skapat en grafisk miljö kallas logotypen block i vilka block som representerar logotyp uttalanden kunde vara metaforiskt snäpps ihop för att bygga logiska konstruktioner av robotik program. Lyckligtvis är logotyp block mycket lättare att förstå än den sista meningen som beskriver det! Logotypen finns nu som Cricket logotyp och är grunden för logotypen block. Cricket-logotypen och logotypen kvarter ligger båda bara för Windows och Mac miljöer. Blocos är en modern ersättare körs på Linux, Mac och Windows som jag ska berätta allt om i avsnitt att följa.
En ytterligare koncept är integrerad programmerbara tegel och logotypen block miljö. För att hålla den programmerbara tegel enkel och billig, måste den programvara som körs på den vara mycket enkel. Så vet tegel programvaran ingenting om den eleganta programmeringsmiljö som tillhandahålls av logotypen block. I stället accepterar det enda byte koder, även känd som "opcodes". Varje opcode översätter till exakt en enkel åtgärd som tegel programvara ska utföra. Till exempel kan opcode 46 hänvisa till Motor A medan opcode 49 kanske slå på en motor. Så opcode sekvens 46 49 skulle orsaka Motor A att slå på. Resultatet är att logotypen block (och Cricket logotypen också) vet ingenting om den programmerbara tegel; Det genererar helt enkelt opcodes. Tegel vet ingenting om logotypen block; det svarar bara på opcodes skickas till den.
En direkt följd av denna smart system är att nya språk och miljöer (t.ex. Blocos) kan utvecklas så länge de producerar opcodes som deras produktion. En lika viktig följd är att nya programmerbara tegelstenar (till exempel Babuino) kan skapas som ger de lämpliga åtgärder som svar på en ström av opcodes.