All Projects → patriciogonzalezvivo → ofxThermalPrinter

patriciogonzalezvivo / ofxThermalPrinter

Licence: other
OpenFrameworks library to control mini thermal printers (https://www.adafruit.com/products/597)

Programming Languages

C++
36643 projects - #6 most used programming language
c
50402 projects - #5 most used programming language

Adafruit Mini Thermal Printer

This openFrameworks addon let you connect Adafruit's Mini Thermal Printer to any of your openFrameworks projects.

Installing

Clone this repository into your openFrameworks/addons folder:

cd openFrameworks/addons
git clone https://github.com/patriciogonzalezvivo/ofxThermalPrinter

Setting up

On MacOS/Linux

You can use the printer directly from your computer using an USB to TTL Serial Cable

You need to research witch port open in the /dev/. Should look like this:

printer.open("/dev/tty.PL2303-00002014");

On RaspberryPi

Follow this instructions for the connection of the wires and GPIOs. (Also here is another nice tutorial)

By default the TXD and RXD pins are connected to a console. We need rid of this by editing this file:

sudo nano /boot/cmdline.txt

Delete all references to 'ttyAMA0'. So you will have something like this:

dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 rootwait

and will look like this:

dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 rootwait

Then edit the /etc/inittab

sudo nano /etc/inittab 

and find the following line:

T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100

Restart your RaspberryPi using:

sudo reboot

The in your code open the connection at:

printer.open("/dev/ttyAMA0");

Usage

Once the printer connection is open you can print text:

printer.println("hello world");

Dithered images:

printer.printImage(ofImage("image.jpg"));

And Barcodes:

printer.printBarcode("12345678", EAN8);

You will also find that there are lot's of ways to style your text;

printer.setAlign(LEFT);
printer.setAlign(MIDDLE);
printer.setAlign(RIGHT);

printer.setBold(true);

printer.setBold(false);

printer.setReverse(true);
printer.setReverse(false);

printer.setUnderline(true); printer.setUnderline(false);

Happy projects for you ;)

<iframe class="vine-embed" src="https://vine.co/v/MejwEIm6ael/embed/simple" width="575" height="575" frameborder="0"></iframe><script async src="https://github.com//platform.vine.co/static/scripts/embed.js" charset="utf-8"></script>
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].