Twilight Zone Mystic Seer - Thermal Printer Upgrade!

Twilight Zone Mystic Seer - Thermal Printer Upgrade!

myminifactory

Turn your Mystic Seer into an actual, usable fortune teller!  Instead of a few token cards, this thermal printer upgrade means random (er, I mean.. accurate) fortunes, time after time, until the printer paper runs out. An upgrade for https://www.myminifactory.com/object/47602. Here's a gif: https://twitter.com/Clockspring2/status/923901958821257222 What's Here So, this design merely has the STL files that differ from the original. Those files are: Printer bracket.  This replaces both the internal assemblies from the original.  It's much simpler, since the mechanical dispenser is replaced with the thermal printer. Paper slot - the paper feeds through here, and provides a neat edge against which to tear the paper. Main case.   Now, the main case only really differed by having a wider slot for the paper to come out, but there was a problem with the model.  Fortunately, user tonym99 has come to the rescue, and fixed it it up, as well as providing an alternative version: "I’ve included two modified models. Both have the wider slot for the thermal printer and penny slot open. The difference between the two is, one also has the keyhole removed and the other is your original with the keyhole indentation." From the original, you won't need any of the dispenser assembly stuff, or the cards.  You'll need the lever, but that will attach to the printer bracket now. Hardware Changes So, obviously the stepper motor and motor driver are no longer necessary.  Instead, we need a thermal printer, and I used this one: https://www.adafruit.com/product/597 The above link also gives all the information required for wiring up the printer to the arduino board.  In my code below, I've used the same pin assignments, just to be convenient. Arduino Code #include "Adafruit_Thermal.h"#include "SoftwareSerial.h" const int numFortunes = 15;const char* fortunes[] = {    "It is quite\npossible",    "It has been\ndecided in\nyour favour",    "You may\nnever know",    "If you move soon",    "That makes\na good\ndeal of sense",    "Try again",    "There's no\nquestion\nabout it",    "Do you dare risk\nfinding out?",    "What do\nyou think?",    "Your chances\nare good",    "It has already\nbeen taken\ncare of",    "If that's what\nyou really want",    "The answer to\nthat is obvious",    "That's up to \nyou to\nfind out",    "It all depends\non your point\nof view" }; const int eyePin = 12;const int leverPin = 2;const int dirPin = 8;const int printerTxPin = 6;const int printerRxPin = 5; SoftwareSerial mySerial(printerRxPin, printerTxPin); Adafruit_Thermal printer(&mySerial); void setup() {    pinMode(eyePin, OUTPUT);    pinMode(leverPin, INPUT);    mySerial.begin(19200);    printer.begin();    randomSeed(analogRead(3));} void loop() {    if (digitalRead(leverPin) == HIGH) {        // no need to debounce, since this will take a few seconds to execute        // do some flashy eye stuff        for (int i=10; i>0; i--) {            digitalWrite(eyePin, HIGH);            delay(i*20);            digitalWrite(eyePin, LOW);            delay(i*20);         }        digitalWrite(eyePin, HIGH);        delay(1000);        printFortune();    }} void printFortune() {    printer.wake();    printer.setDefault();    printer.justify('C');    printer.setSize('S');    printer.underlineOn();    printer.println(F("MYSTIC SEER"));    printer.underlineOff();    printer.setSize('L');    printer.println(getRandomFortune());    printer.feed(7);    printer.sleep();} String getRandomFortune() {    int randomIndex = random(0, numFortunes);    return fortunes[randomIndex];}

Download Model from myminifactory

With this file you will be able to print Twilight Zone Mystic Seer - Thermal Printer Upgrade! with your 3D printer. Click on the button and save the file on your computer to work, edit or customize your design. You can also find more 3D designs for printers on Twilight Zone Mystic Seer - Thermal Printer Upgrade!.