The Tarotron 2000 is a more advanced version of The Mystical Tarotron that I created three years ago.
Each card is a separate LCD screen, arranged in the classic celtic cross layout. Tarotron 2000 features art deco styling, with text and accents in real gold. It is housed in a sturdy 13"x9" tablet-style enclosure.
Press the menu button in the upper left to pop up a menu in the middle LCD screen. Use the up/down scroll buttons in the lower left to hilight an option such ase new reading, or change deck. Then, press the button next to the middle LCD to select the option.
When a new reading is started, all of the cards are face down. Press the button next to a card to flip it over. After a card has been flipped, the button toggles between the face of the card and the description of it. The up/down buttons in the lower left scroll through the description.
The Tarotron 200 shuffles and displays the cards, and it gives a description of each card. However, just like with a physical deck of tarot cards, you must interpret the meaning of each card as it applies to its place in the layout.
There are three tarot decks in the Tarotron 2000 including the very well-known Rider-Waite-Smith deck, and a deck of standard playing cards, which can also be used for divination. There could be more decks added. It just requires some time to format the images to fit the LCD screens. Each card has to be resized to 64x160 pixels, and converted to monochrome. I wrote a macro to do that. Then I hand edited each card to clean up the image, and text. To the right, you can see a sample card with the original grayscale image on the left and the Tarotron version on the right. Also note that the aspect ratio of LCDs is different from the original card. The image on the right is double size to make it clearer. A significant number of hours were spent on the clean-up process.
The Tarotron is built on a custom PCB, which can be seen at the bottom of this page. It is housed in a 13"x9" tablet-style enclosure from Bud Industries. The control panel is a thin PCB. The gold text and accents were created by drawing with PCB traces, then using a gold immersion finish.
The control panel PCB is glued to the front of the enclosure using a sheet of 3M 9474LE 300LSE double-sided adhesive. It is very powerful stuff and is the same stuff that is used to stick LCDs to the glass in cell phones. Here is a series of photos of the process. Once again, my Silhouette digital cutter comes in handy. I used it to cut a piece of cardstock to make a drill template, and to cut the adhesive sheet. I wish I were better at cutting clean rectangular holes in enclosures, but it is just tough to do by hand.
As you can see in the schematic, the actual circuit is not that complex. The power input goes through a full wave bridge rectifier, so the polarity of the power supply doesn't matter. All those LCDs use a lot of current for their backlights, so a 1 amp or higher power supply must be used. The heart of the circuit is PIC microcontroller (MCU) that runs the code. It is connected to the buttons, the ten LCD screens, and a micro SD card holder.
The buttons are Charlieplexed so that 12 buttons can be read with 4 pins instead of 7 pins (in a 3x4 matrix). This is really a minor reduction in pins, but it did lower the total pin count enough to use a 28 pin MCU. Otherwise, I would have had to jump up to a 40 pin MCU and had 10 unused pins.
The LCD screens use an SPI interface. Each LCD gets its own chip select line. All of the LCDs share four control signals: data in, clock, reset, and a data/instruction signal. The LCDs also need 11 power supply decoupling capacitors each.
The SD card is also an SPI interface and it is connected to separate pins from the LCDs, mainly because it runs at a different speed than the LCDs. All of the deck info, card images, and descriptions are stored on the SD card. There is one file that contains a list of the decks including the number of cards, the name of the deck, and the file name. The card images for each deck are stored in a single file. They are stored in the exact format that the LCD needs, so the data is read and sent right to the screen. That keeps the MCU code simple and fast. The text descriptions are stored in two files, one paginated vertically and one horizontally. Pre-paginating the text also keeps the MCU code simple and fast. Of course, pre-processing the images and text required writing a separate program, but it is worth it.
There is a particularly nice algorithm in the pagination program. The characters are five pixels wide, with one blank pixel between each character. That means that the 64-pixel wide LCD can display ten characters with four pixels left over. Those four extra pixels are not enough for a five-pixel letter, however, it is enough for punctuation, such as a hyphen, comma, or period. So, if the 11th character on a line is punctuation, then it can be displayed, otherwise the text continues on the next line. There is also some pretty nifty code that handles hyphenation of words over ten characters long.
The Tarotron 2000 PCB
On the right is a detail of the PCB before putting the last LCD in place. You can see all the capacitors that live underneath it, as well as the FFC (Flexible Flat Cable) connector which has a super-small 0.5mm pitch. You can also see the LCD mounting holes that were re-drilled because they were too small.