Arduino texto animación de LCD (5 / 9 paso)

Paso 5: Cambio de personajes a través de la página

Para mover el tanque, definí una posición x pixel-wise para el dibujo.  Ya que estaba tratando con personajes que fueron cinco píxeles de ancho, podría hacer una división de entero del tanque x posición de la figura hacia fuera el donde quiero llamar cada personaje personalizado.

Yo también sólo llevaría a un modulo de x posición (tankx % 5) para averiguar cómo cambiar los bits alrededor del tanque.  Si el modulo es cero, dibujar los personajes y definir los bits de los caracteres.  Pero si el modulo fue cero, significaba los personajes ya estaban en la pantalla, y sólo podría redefinir los bits.  Quisiera también llamar un espacio en blanco cualquier plano previo de carácter personalizado 0 (el que está más a la izquierda) cada vez que me estaba "moviendo" a los personajes.

Por lo tanto, para empezar, inicializar la posición de tankx a algún valor que dividiría limpiamente por cinco.
int tankx = -15;
int tankcharx;
int tankchary = 1;

Luego, en la función loop(), haría la división y el modulo para averiguar lo que a dibujar y dibujar.  (Ten cuidado con cómo el modulo de los números negativos funciona.)

Otra manera de hacer esto, en retrospectiva, sería hacer tankx siempre no negativo y cambiar la posición del carácter x -3 antes de la representación.

Esta es la parte del código loop() que obtiene los caracteres personalizados en la pantalla.  En una mejor interpretación de este código, incluido las funciones de dibujo en una función safeDrawCharAt que hace el control de posición.  Pero aquí se puede apreciar la interpretación mayores donde estaba haciendo la posición de control en línea.  Puesto que en cualquier momento podrían ser los personajes fuera de la pantalla, tuve que hacer una comprobación de la posición antes de cualquier llamada setCursor() o write().

tankcharx = tankx / BITS_PER_CHAR;

Interpretación inicial, no hay rotación de peldaños
Si ((tankx % BITS_PER_CHAR) == 0) {}
Turno completo es, necesita establecer un espacio en blanco donde el depósito pasado estaba
Si (tankcharx > = 1) {}
lcd.setCursor (tankcharx-1, tankchary);
LCD.Write(' ');
}
Si (tankcharx > = 0 & & tankcharx < = 7) {}
lcd.setCursor (tankcharx, tankchary);
LCD.Write((byte)0);
}
Si (tankcharx + 1 > = 0 & & tankcharx + 1 < = 7) {}
lcd.setCursor (tankcharx + 1, tankchary);
LCD.Write((byte)1);
}
Si (tankcharx + 2 > = 0 & & tankcharx + 2 < = 7) {}
lcd.setCursor (tankcharx + 2, tankchary);
LCD.Write((byte)2);
}
Si (tankcharx + 3 > = 0 & & tankcharx + 3 < = 7) {}
lcd.setCursor (tankcharx + 3, tankchary);
LCD.Write((byte)3);
}
}

Artículos Relacionados

Conversor de Arduino DIY: Cómo hacer LCD:

Conversor de Arduino DIY: Cómo hacer LCD:

aquí hay un video horrible de trabajo. Más adelante subiré más.Por supuesto esto es para que hacer aprender concurso juvenil, así que aquí están las respuestas a todas sus preguntas!¿Qué hago?Bien pensé que era mi Arduino aprendió a hacerlo algunas m
Arduino Temp/humedad con pantalla LCD y la interfaz Web

Arduino Temp/humedad con pantalla LCD y la interfaz Web

recientemente ayudó al cliente moverse de su oficina que incluyó la creación de una nueva sala de informática.Yo quería que ser capaces de controlar la temperatura y la humedad de la habitación tanto marcando una pantalla LCD en la habitación y tambi
Twitter controla salidas de Arduino - no PC - pantalla de LCD + Sensor datos a Twitter

Twitter controla salidas de Arduino - no PC - pantalla de LCD + Sensor datos a Twitter

Control digital hacia fuera los pernos por mensajes de Twitter. Lecturas del sensor enviadas a Twitter.MODIFICADO por JOHN Xativa de Twitter2LCD escrito originalmente por Fabrizio GranelliVer * Usted puede enviar mensajes de texto a la pantalla de LC
Reloj con termómetro usando Arduino i2c 16 x 2 lcd, RTC DS1307 y DHT11 sensor.

Reloj con termómetro usando Arduino i2c 16 x 2 lcd, RTC DS1307 y DHT11 sensor.

Hello! Ya ha pasado un tiempo no me he posteado nada en Instructables, pero ahora hice un simple proyecto que he visto en internet en varias formas. He conseguido crear un código con otros códigos que he encontrado en internet y tengo que decir es tr
Arduino Bluetooth pantalla remota de lcd

Arduino Bluetooth pantalla remota de lcd

Hola,Hoy he hecho una simple pero útil pantalla LCD remota.¿Lo que hace esto? Puede conectar el teléfono al módulo Bluetooth de tu Arduino, escribir un mensaje de texto y aparecerá en la pantalla LCD de Arduino!Paso 1: Lo que usted necesita.Las cosas
ESCÁNER de huellas digitales de ARDUINO con 16 X 2 LCD

ESCÁNER de huellas digitales de ARDUINO con 16 X 2 LCD

este instructivo se basa y se inspira en Arduino LCD explorador del tutorial y huellas dactilares de Adafruit (http://www.adafruit.com/product/751). He añadido 16 x 2 LCD en la huella digital para poder ver el estado del proceso de digitalización de
Arduino Mega GPS con pantalla LCD y SD Registro

Arduino Mega GPS con pantalla LCD y SD Registro

Utilice su Audino Mega como un registrador de GPS con una pantalla de LCD clara y 5 botones de función. Un LED bicolor se utiliza para proporcionar información de estado.La SDcard puede ser dejado en y leer utilizando un bosquejo de lector de tarjeta
Arduino powered GLCD (gráfico LCD) - hice en TechShop

Arduino powered GLCD (gráfico LCD) - hice en TechShop

muestra siempre es agradable. Hasta ahora he sólo ha demostrando cómo utilizar displays de 7 segmentos para mostrar números utilizando muy pocos recursos. Pero ¿qué pasa si desea mostrar el texto? ¿O fotos? ¿O ambos? Bien para ello, vas a necesitar u
Arduino Nano + suelo humedad Sensor + LCD

Arduino Nano + suelo humedad Sensor + LCD

Podemos utilizar el sensor de humedad del suelo con arduino nano y Mostrar datos en un 2 x 16 lcd. Vamos a empezar...Paso 1: Añadir 2 X 16 LCD con Arduino NanoRS = 12R/W = tierraHABILITAR = 11LCD D4 = 9LCD D5 = 8LCD D6 = 7LCD D7 = 6Puedes ver otras c
Arduino Bluetooth RC coche con LCD

Arduino Bluetooth RC coche con LCD

Pantalla LCD muestra donde el rumbo del coche (por ejemplo mover adelante, atrás,...)Yo sólo he modificado el código y conectar un LCDPaso 1: Lista de piezas Arduino unoMódulo Bluetooth HC06Controlador de Motor L293DPANTALLA LCD 16 * 2Chasis del auto
Arduino texto a código Morse

Arduino texto a código Morse

¡ Hola!Este es mi primer instractableHe escrito un pequeño programa en Arduino para convertir texto a código Morse y visualizar con ledZumbador también se puede agregar fácilmente
Detector de movimiento PIR de ARDUINO con 16 X 2 LCD

Detector de movimiento PIR de ARDUINO con 16 X 2 LCD

Este es un proyecto simple para los principiantes que apenas han empezado a usar Arduino.Este proyecto utiliza un Sensor de movimiento PIR y un módulo de pantalla LCD 16 X 2 para mostrar cuando se detecta el movimiento y cuando el movimiento se detuv
Arduino - Temp y humedad DHT11 + LCD 1602A - KY-015 Sensor

Arduino - Temp y humedad DHT11 + LCD 1602A - KY-015 Sensor

¡Hola mundo! Hoy hice otro ejemplo para uno del manojo del sensor que tengo.Esta vez hice una sencilla estación meteorológica con el DHT11 (ky-015) y el LCD 1602A.¡ Nota!Si utilizas una I2C en la pantalla LCD ya puse las líneas en el código para uste
Arduino con 4 x 20 LCD y LCD Smartie USB

Arduino con 4 x 20 LCD y LCD Smartie USB

aquí es un Arduino conectado a un 4 x 20 display HD44780, incluido en 8 "x 4 1/2" Lexan.Usé una versión modificada de la librería de arduino LCD y había hackeado el LCD Smartie bosquejo utilizando comandos de matriz Orbital.Smartie LCD corre los