Tabla de contenido:

Organizador de escritorio con pantalla LCD: 4 pasos
Organizador de escritorio con pantalla LCD: 4 pasos

Video: Organizador de escritorio con pantalla LCD: 4 pasos

Video: Organizador de escritorio con pantalla LCD: 4 pasos
Video: TUTORIAL Pantalla lcd frontal para PC con system monitor usando partes recicladas!!! 2024, Noviembre
Anonim
Image
Image

** En proceso de edición **

Para el proyecto arduino de HKU, decidí hacer un organizador de escritorio con una pantalla LCD que muestre citas de inspiración para que lo recoja cuando gire su potenciómetro.

Estaré cubriendo las cosas técnicas de arduino principalmente, siempre que tenga algo como una caja de madera para ocultar su Arduino y su pantalla LCD en su organizador personal, o podría tomar cualquier forma deseable.

Las cosas que necesitarás

  • * arduino uno
  • medidor de olla
  • * cables prottyping macho
  • * Módulo LCD! Con lector de tarjetas SD! (Tengo arduino tft LCD)
  • *tarjeta micro SD
  • * madera (reciclé viejos mini cajones y usé algunas piezas de madera de repuesto, ¡asegúrate de que al menos puedas formar una pequeña caja para esconder tu arduino!

Paso 1: Configuración del potenciómetro en Arduino

Configuración del potenciómetro en Arduino
Configuración del potenciómetro en Arduino

conecte su medidor de olla como se muestra en la imagen

para que el medidor de olla comience a funcionar

Deberá comenzar con algunas variables en la parte superior de su boceto antes de la configuración:

código:

const int analogInPin = A0; // Pin de entrada analógica al que está conectado el potenciómetro

int sensorValue = 0; // valor leído del bote int outputValue = 0; // salida de valor al PWM (salida analógica)

En la imagen 2 muestro cómo se mapea el potenciómetro en el bucle vacío

código:

// lee el valor analógico:

sensorValue = analogRead (analogInPin); // mapearlo al rango de la salida analógica: outputValue = map (sensorValue, 0, 1023, 0, 255); String stuffToPrint = String (outputValue); // cambia el valor de salida analógica:

stuffToPrint.toCharArray (impresión, 9); // texto estático myScreen.setTextSize (1);

Serial.print ("sensor ="); Serial.print (sensorValue); Serial.print ("\ t salida ="); Serial.println (outputValue);

retraso (50);

esto asigna los datos analógicos del potenciómetro a un rango de 0 a 255, usaremos este rango para controlar nuestra presentación de diapositivas lcd

Si necesita ayuda para configurar el potenciómetro; Utilicé el código de este útil tutorial, los pines son exactamente los mismos y funcionarán con la configuración de la pantalla LCD en los siguientes pasos.

www.toptechboy.com/arduino/lesson-11-arduin…

Paso 2: configuración de la pantalla LCD

Configuración de la pantalla LCD
Configuración de la pantalla LCD

Configure los pines como en el ejemplo anterior.

Cuando se hace correctamente, la pantalla se iluminará en blanco.

Si necesita ayuda adicional o desea utilizar algún código de ejemplo para probar su pantalla, puede ver el tutorial oficial de este módulo y sus ejemplos de código aquí

utilizaremos parcialmente la "imagen de dibujo de la tarjeta SD" en el siguiente paso.

Paso 3: Configurar la presentación de diapositivas

Configuración de la presentación de diapositivas
Configuración de la presentación de diapositivas

Ahora que tenemos el potenciómetro y la pantalla LCD configurados, podemos configurar una "presentación de diapositivas" usando los valores mapeados del potenciómetro.

Usando el rango de 0 a 255 podemos indicar un cierto rango en el que podemos activar el arduino para que muestre algún contenido en la pantalla LCD.

Primer ejemplo como se muestra en la imagen:

if (outputValue <51) {// rango uno si (rangoOne == verdadero) {rangoTwo = verdadero; myScreen.setRotation (90); myScreen.background (0, 0, 0); myScreen.stroke (255, 255, 255); myScreen.text ("Hola, maravilloso", 10, 50); myScreen.text ("gira el pin> a", 10, 60); myScreen.text ("anímate", 10, 70); rangeOne = falso;

Si el potenciómetro cambia a un rango inferior a 51, la pantalla muestra (en modo retrato = rotación 90) algo de texto.

Para poder mostrar una imagen, asegúrese de que su pin SD CS esté definido correctamente, o el arduino no podrá inicializar la SD (¡así que asegúrese de verificar sus cables!)

Si desea verificar los pines de su LCD, puede consultar la guía oficial para "conectar la pantalla"

¡Definí mi pin SD CS como 4 ahora porque mezclé mis cables, por ejemplo! - Me complace compartir ese pequeño error porque le ahorrará mucho tiempo buscando en la web el error "No se pudo inicializar". A lo que en algunos foros se dice que la solución es tener un determinado modelo de tarjeta SD. ¡Así que compruebe primero su cableado antes de comprar nuevas tarjetas SD!

Paso 4: Ejemplo de código completo

#incluir

#include // Biblioteca específica de hardware #include

#define SD_CS 4 #define CS 10 #define DC 9 #define RESET 8

const int analogInPin = A0; // Pin de entrada analógica al que está conectado el potenciómetro

int sensorValue = 0; // valor leído del bote int outputValue = 0; // valor de salida al PWM (salida analógica) bool rangeOne = true; bool rangeTwo = verdadero; bool rangeThree = verdadero; bool rangeFour = verdadero; bool rangeFive = verdadero;

TFT myScreen = TFT (CS, DC, RESET);

Imagen PImage; impresión de caracteres constantes [9];

configuración vacía () {Serial.begin (9600); myScreen.begin (); // intenta acceder a la tarjeta SD Serial.print ("Inicializando tarjeta SD…"); if (! SD.begin (SD_CS)) {Serial.println ("¡falló!"); regreso; } Serial.println ("¡OK!");

// inicializar y borrar la pantalla GLCD myScreen.begin (); myScreen.background (255, 255, 255);

} void loop () {// leer el valor analógico: sensorValue = analogRead (analogInPin); // mapearlo al rango de la salida analógica: outputValue = map (sensorValue, 0, 1023, 0, 255); String stuffToPrint = String (outputValue); // cambia el valor de salida analógica:

stuffToPrint.toCharArray (impresión, 9); // texto estático myScreen.setTextSize (1);

Serial.print ("sensor ="); Serial.print (sensorValue); Serial.print ("\ t salida ="); Serial.println (outputValue);

retraso (50);

if (outputValue to ", 10, 60); myScreen.text (" obtener ánimo. ", 10, 70); rangeOne = false;}} if (outputValue> 52 && outputValue 102 && outputValue 154 && outputValue <205) {/ / range four if (rangeFour == true) {rangeThree = true; rangeFive = true; myScreen.setRotation (90); myScreen.background (255, 255, 255); // borrar la imagen de la pantalla = myScreen.loadImage ("quote2.bmp "); // escribe la imagen en la pantalla myScreen.image (image, 0, 0); myScreen.stroke (255, 255, 255); myScreen.text (" Estoy tan orgulloso ", 10, 50); myScreen.text ("de ti!", 10, 60); rangeFour = false;}}

si (outputValue> 206 && outputValue

Recomendado: