As it processes each letter, it will call the corresponding letter MyBlock to print it. The ProcessQueue MyBlock will continuously wait for and process letters added to the letter queue by the encoding MyBlocks. The letter index is then added to the letter queue to be processed.
The ReadCode and TranslateCode MyBlocks are used to read the sequence of button presses from the touch sensor and translate the Morse Code into a letter index. The main programs are a good place to start, as you will see the high level MyBlocks that they use to operate the program.Īside from the main programs, there are a few MyBlocks of particular interest. Most of these are documented via comments within them, but you may be asking ‘Where do I start?’. If you poke around the program you will notice it is fairly complex, and there are a lot of MyBlocks. If you just cancel the program like you would normally, you will have to reset the pen position manually and probably have to re-calibrate it. It will return the pen to the raised position and feed the printed sheet of paper out. Important! To stop the program, press the center button on the EV3. The program keeps a queue of all the letters that have been encoded and will eventually print them all. In fact, you can get well ahead of the printer if you are fast enough, just make sure you pause long enough between each letter. You don’t have to wait for the printer to print a letter before tapping out the sequence for another letter. As such, I have also added two additional codes to explicitly add a space and start a new line. I’ve programmed it so it isn’t a strict implementation of Morse Code timing, so that it is a bit more friendly for novices. Practice with simple letters like E, T, S and O before moving to letters with more complicated sequences. It might take awhile to get used to the timing.
If it doesn’t recognize a sequence, it will issue an error beep and the EV3 light will turn orange. Currently, it only understand the codes for the basic Latin alphabet, which you can find many places online (or you can reference the image of the code book I made below).ĭon’t be discouraged if you have trouble getting it to recognize letters. If you correctly tap out the Morse Code for a letter, it will display the letter on the EV3 display before printing it. Make sure dots are really quick taps on the touch sensor, and dashes are held down for a little while. Once the paper is fed into the printer, you can start tapping out Morse Code on the touch sensor. If a sheet of paper is not already in the printer, it will first operate the paper feed motors to pull a sheet into the printer until it covers the color sensor. It will wait for the user to enter Morse Code sequences and print the corresponding letters that are encoded. The main printing program to run is called Printer.
After its next full pass, the pen holder assembly will return to the raised position and the program will end.
The pen should be positioned so that when the pen holder assembly is at its lowest position (the default position in the instructions), the tip of the pen is approximately just below the level of the paper. Wiring Instructions Motor PortsĪ – the large motor that moves the pen from side to sideī – the large motor driving the paper feed wheelsĬ – the medium motor in the back that lifts the pen assembly up and down Sensor Portsġ – the touch sensor used to encode the Morse code sequenceĤ – the color sensor underneath the printer Pen Calibrationīefore doing any printing, you will want to calibrate the height of the pen by following these steps. It covers the wiring, calibration and printing sections below.
Edit 6: I have now created a video on how to setup and calibrate the printer, which you can find in this post.