Buen día.
Me encuentro trabajando en un proyecto de un contador de botellas que son depositadas en un contenedor, dicho conteo lo realizo con un sensor de ultrasonido HC-SR04, y se muestra el dato en un LCD 16x2 mediante I2C, al termino se presiona un botón y se imprime un ticket con el numero de envases colocados.
Ya probe la impresora con el ejemplo y si logro imprimir. lo cambie al Digital 1 ya que el ejemplo menciona 5 y 6 pero nunca logro imprimir en estos pines.
La impresora empleada es la siguiente:
Impresora termica de adafrut: Mini Thermal Receipt Printer : ID 597 : $49.95 : Adafruit Industries, Unique & fun DIY electronics and kits
estoy usando un arduino uno y probe tambien con un nano.
//Se incluyen las librerias a ser empleadas por el proyecto
#include <LiquidCrystal_I2C.h>
#include "Adafruit_Thermal.h"
#include "SoftwareSerial.h"
#include <Wire.h>
#define TX_PIN 1 // Cable amarillo de la impresora este recibe la señal del arduino
#define RX_PIN 0 // Cable verde de la impresora, este envía señal al arduino, este no lo conectamos.
SoftwareSerial mySerial(RX_PIN,TX_PIN); // Declara Softwareserial
Adafruit_Thermal printer(&mySerial); // Dirección de la impresora
LiquidCrystal_I2C lcd(0x27,16,2);
int led=8;
int Buzzer=9;
int trigger=3;
int echo=2;
int tiempo=0;
int distancia=0;
int contador=0;
void setup() {
mySerial.begin(19200);
printer.begin();
Wire.begin();
lcd.begin(16,2);
lcd.backlight();
lcd.clear();
Serial.begin(9600);
pinMode(led,OUTPUT);
pinMode(Buzzer,OUTPUT);
pinMode(trigger,OUTPUT);
pinMode(echo,INPUT);
}
void loop() {
digitalWrite(trigger,LOW);
delay(2);
digitalWrite(trigger,HIGH);
delay(10);
digitalWrite(trigger,LOW);
tiempo=pulseIn(echo,HIGH);
distancia=(tiempo/2)/29;
// Serial.println(distancia);
if(distancia<9){
digitalWrite(led,HIGH);
digitalWrite(Buzzer,HIGH);
delay(100);
digitalWrite(Buzzer,LOW);
}else{
digitalWrite(led,LOW);
contador=contador;
digitalWrite(Buzzer,LOW);
}
if(digitalRead(led)==HIGH)
{
contador++;
delay(300);
}
if(contador>50){
contador=0;
lcd.clear();
}
Serial.println(contador);
Serial.print(" ");
Serial.print(distancia);
Serial.print(" cm ");
lcd.setCursor(0,0);
lcd.print("Contar Botellas");
lcd.setCursor(0,1);
lcd.print("Botellas: ");
lcd.print(contador);
printer.doubleHeightOn();
printer.justify('C');
printer.setSize('L');
printer.println(F("BUEN DIA"));
printer.doubleHeightOff();
printer.println(F(" "));
printer.println(F(" "));
printer.justify('C');
printer.setSize('M');
printer.println(F("Acabas de Ingresar"));
printer.println(F(" "));
printer.doubleHeightOn();
printer.justify('C');
printer.setSize('L');
printer.println(contador);
printer.doubleHeightOff();
printer.println(F(" "));
printer.justify('C');
printer.setSize('M');
printer.println(F("Vasos/Botellas de PET"));
printer.println(F(" "));
printer.doubleHeightOn();
printer.justify('C');
printer.setSize('L');
printer.println(F("GRACIAS"));
printer.doubleHeightOff();
printer.setLineHeight(50);
printer.println(F(" "));
printer.println(F(" "));
printer.println(F(" "));
}
Gracias por sus comentarios.