Introduction: LOGO Emulator Using AVR
Forty years ago, researchers developed a programming language that would become a brilliant educational tool. Logo was an interesting Programming Language, designed by Seymour Papert for children, once much used in schools, but never fully appreciated. Logo was about manipulating a triangle on the screen (a dot in my project) that can leave a mark behind it, with the intention of drawing pictures. Logo is rarely used these days in today’s classroom. In order to take a trip down the memory lane I have designed a machine capable of emulating some of the basic Logo commands.
Step 1: Operation
Basic Supported Commands :
- FD 0-7 (Move the turtle forward 0-7 steps)
- BK 0-7 (Move the turtle forward 0-7 steps)
- RT 45/90 (Turn the turtle to the right 90º or 45º)
- LT 45/90 (Turn the turtle to the right 90º or 45º)
- PU (Pick the turtle's pen up off the display)
- PD (Put the turtle's pen back down on display)
- CS (Clear the screen and start over)
- HT (Hide the turtle)
- ST (Show the turtle)
Step 2: Design
//switch on the led in the 3'rd row 8'th column
//and remember that indices start at 0!
lc.setLed(0,2,7,true);
//Led at row 0 second from left too
lc.setLed(0,0,1,true);
delay(500);
//switch the first Led off (second one stays on)
lc.setLed(0,2,7,false);
A LED Bargraph is also wired to display the turtle's orientation. For any given orientation the turtle can either move forward or backward. 8 different orientation are possible namely: N , NE , E , SE , S , SW , W , NW , N.
Input is taken via a normal PS/2 keyboard. The CLK and Data pins of PS/2 keyboard are connected to pin 5 & pin 6 of Atmega328 respectively.Command input size is restricted to 4 characters only.
Step 3: Schematics
Step 4: Code
The code is written using arduino IDE. Import all the necessary libraries before compiling and uploading the code. Follow the instruction here to import the libraries.
Step 5: Pictures & Video
Participated in the
Supercharged Contest
Participated in the
Make It Glow Contest
Participated in the
Hardware Hacking