Stap 1: een beetje achtergrond
Hier is een verkorte en onvolmaakt geschiedenis van plezier-tot-programma robotica. Terug in de late jaren ' 60 besloten Seymour Papert bij MIT dat robots leuk moeten zijn. Zijn excuus was dat hij wilde helpen kinderen leren, maar ik denk echt dat hij wilde spelen zichzelf. :)} Was een van zijn concepten bekend als Turtle Graphics waarin een denkbeeldige schildpad kan worden geprogrammeerd om lijnen te tekenen op het display. Kort daarna, zou kunnen het idee van het maken van een gemotoriseerde schildpad die slepen een pen op een vel papier geëvolueerd. MIT kreeg Legos betrokken en de eerste programmeerbare baksteen (robot controller) opgericht. Mindstorms (naam ontleend aan een boek Papert) volgde snel. Een spin off, was gebaseerd op het werk van Fred Martin, een programmeerbare baksteen, bekend als Cricket . Onlangs, een goedkope baksteen, bekend als Babuino en op basis van Arduino, heeft ontwikkeld. De Babuino is de reden waarom die ik schrijf dit Instructable.Ga samen met zijn gemakkelijk te gebruiken hardware, Papert uitgevonden een taal, genaamd Logo om programmering even gemakkelijk te maken. Logo moest worden gemakkelijk voor iedereen (volwassenen inbegrepen) om te leren. Het was eenvoudig in vergelijking met de talen van de dag, maar nog steeds betrokken de syntaxis van een tekst editor en onthouden. Papert van medewerkers gemaakt een grafische omgeving genaamd Logo blokken in welke blokken vertegenwoordigt Logo verklaringen worden metaforisch samen knapte kon te bouwen de logische constructies van de Robotica-programma's. Gelukkig, Logo blokken is veel gemakkelijker te begrijpen dan dat laatste zinsnede die beschrijft wat het! Logo is nu beschikbaar als Cricket Logo en vormt de basis voor Logo blokken. Cricket-Logo en Logo blokken zijn zowel alleen voor Windows- en Mac-omgevingen. Of is een moderne vervanging draait op Linux, Mac en Windows, en die ik je vertellen zal alles over in de secties te volgen.
Een extra concept is onlosmakelijk verbonden met de programmeerbare baksteen en het milieu Logo blokken. De software die op het draait moet om de programmeerbare baksteen eenvoudige en goedkope, zeer eenvoudig. Dus weet de baksteen software niets over de elegante programmeeromgeving geboden door Logo blokken. In plaats daarvan accepteert het één byte codes, ook bekend als "opcodes". Elke opcode vertaalt naar precies één eenvoudige handeling die de baksteen-software uitvoert. Opcode 46 kan bijvoorbeeld verwijzen naar Motor A terwijl opcode 49 op een motor zou kunnen blijken. Dus de opcode volgnummer 46 49 Motor A inschakelen zou veroorzaken. Het resultaat is dat Logo blokken (en Cricket Logo ook) weet niets over de programmeerbare baksteen; het produceert gewoon opcodes. De brick weet niets over Logo blokken; het reageert gewoon op de opcodes verzonden.
Een direct gevolg van deze slimme regeling is dat nieuwe talen en omgevingen (zoals of) kunnen worden ontwikkeld, zolang zij opcodes als hun output produceren. Een belangrijk gevolg is dat er nieuwe programmeerbare bakstenen (zoals Babuino) kunnen worden gemaakt, zolang zij passende acties in reactie op een stroom van opcodes verstrekken.