Una placa de nombre electrónico con su propio texto de desplazamiento

Hola, hoy quisiera presentar un proyecto de construcción rápida.Hoy vamos a hacer una inscripción electrónica con un módulo de visualización de cristal líquido de 16 x 2 caracteres y una lámpara de fondo.Para ello, necesitamos una cantidad precisa de piezas en la cesta del fabricante:

En parte:

En el siguiente paso, conectaremos los elementos a la placa de prueba o montaremos los circuitos directamente en la placa de Confucio de la siguiente manera:

Estructura de sinterización

 

Ahora conectamos el monitor y todo el circuito.El Monitor debe desconectarse del circuito físico para garantizar la flexibilidad.

Podemos utilizar inscripciones electrónicas de muchas maneras.¿Por ejemplo, qué tal si en la próxima capacitación empresarial se utiliza una etiqueta especial de tabulación?¿O hacer un nuevo letrero en la entrada de la oficina?¿Como una etiqueta de nombre para un orador?¿Pero también podría ser una etiqueta de nombre en el buzón?Sobre el buzón detrás del letrero:

Ejemplo de correo

 

Sin embargo, en la instalación deben tenerse en cuenta las siguientes características especiales:

  1. Todas las Partes que emitan o producen electricidad deben ser completamente impermeables.De lo contrario, nuestros circuitos se verían dañados por la humedad.Corrosión, que puede causar fallos o un cortocircuito peor.

  2. El Monitor abrirá y cerrará una parte de la tapa de esta manera.Esto significa que debe prestarse especial atención al tendido y la selección de cables con cuidado y de manera adecuada.El cable entre el monitor y arduino debe participar permanentemente en el Movimiento de válvulas de la válvula de correo electrónico.Lo mejor es instalarlo en el buzón principal, etc.

  3. Sólo se puede usar presión baja sin peligro en todos los puntos.

  4. Si la energía falla, el monitor también falla.En este caso, para saber exactamente dónde enviar el correo, sería mejor añadir una placa de inscripción. 😊

  5. Hay que fijar la electricidad con un fusible adecuado.

Por lo tanto, muchos puntos dificultan la instalación en el buzón y, por consiguiente, deben ser tratados por electricistas.Así que tal vez sea mejor usarlo como una placa de honor. 😉

 

35; incluye <Cristal líquido..Hora>
35; incluye <Universidad de Canterbury/Dormir.Hora>
 
/ / / constantes y definiciones
Constante Flotar Advertencia = 4.0;
Constante Flotar Tensión de sueño = 3.2;
Constante Interior Velocidad de desplazamiento = 500;
Constante Largo adj. Intervalo = 1000;    / / seg definition (MS)

/ / Const Byte volttestpin = 0; / / test Simulation 0
Constante Intercambio Voltispin. Kgm = 2; / / / modelización de la producción 2

/ / / reloj en tiempo real 
Largo adj. Millones. = 0;       / / / guardará el tiempo de la última medición
Intercambio Segundo = 0; 
Intercambio Minuto = 0;
Intercambio Hora = 0;

Definición de cadena
Cadena Propietario del buzón = La cocina de Tobías.;  ¡Por favor, cámbiate de nombre!
Cadena Normas = Introduzca aquí su propio texto, que se muestra como texto de desplazamiento; 
String Standard scolltext = "si es el BI - Ese es el problema!"/ / texto ilustrativo
Cadena Batino.;

/ / / Programa lógico
Intercambio Mago.[200];
Flotar Valor;
Interior Volumen;
Tipo booleano Batería = Falso;
Intercambio Mostrar = 0;
Intercambio Modo de visualización = 0;
Interior Estado del interruptor = 1;
Intercambio Mostrar una vez = 0;
Intercambio Muestra a xtonetimewastip. = 0;
Interior Cmmsgwith Inc. = 0;
Interior Mamsgdc Inc. = 0;
Intercambio Coincidencia = 0; 

/ / cristal líquido (RS, CAN, D4, D5, D6, D7);
Cristal líquido. Socio limitado(8, 9, 4, 5, 6, 7);

Nulidad Pantalla inicial ()
{
Socio limitado.Claro.();
Socio limitado.Imprimir(Propietario del buzón);
Socio limitado.Establecer cursor(0,1);
Socio limitado.Establecer cursor(0,0);
Retraso(1000);
}

Nulidad Configuración()       {      Para (Interior Uno=0; Uno <200;Uno++)      {      Mago.[Uno] = Uno;       }      Socio limitado.Iniciar(16, 2);              Biblioteca de arranque      Pantalla inicial();      Referencias por analogía(Incumplimiento);
}

Nulidad Texto normal de desplazamiento ()
{
 Interior Cmmsgwith Inc. = Normas.Longitud()- 2;
 Mostrar = 0;
 Retraso (Velocidad de desplazamiento);
 Socio limitado.Establecer cursor(0,1);
 Para (Interior Uno=0; Uno <17;Uno++)      {      Socio limitado.Imprimir(Normas[Mago.[Uno]]);      }      Para (Interior Uno=0; Uno <Cmmsgwith Inc.;Uno++)      {      Mago.[Uno] = Mago.[Uno] + 1;       Si (Mago.[Uno] > Cmmsgwith Inc.) {Mago.[Uno] = 0; }      }   }

Nulidad Texto de la pantalla ()
{
 Batino. = ¡"Atención!Tensión desconectada: + Cadena(Volumen * 3) + "Voto.- Sí. + Normas + "  ";
 Interior Cmmsgwith Inc. = Batino..Longitud()- 2;
 Mostrar = 2;
 Retraso (Velocidad de desplazamiento /2 );
 Socio limitado.Establecer cursor(0,1);
 Para (Interior Uno=0; Uno <17;Uno++)      {      Socio limitado.Imprimir(Batino.[Mago.[Uno]]);      }      Para (Interior Uno=0; Uno <Cmmsgwith Inc.;Uno++)      {      Mago.[Uno] = Mago.[Uno] + 1;       Si (Mago.[Uno] > Cmmsgwith Inc.) {Mago.[Uno] = 0; }      }   }

Nulidad Apagón. ()  Si llega a la tensión crítica, apague la energía.
{
 Socio limitado.Establecer cursor(0,1);
 Socio limitado.Imprimir("                  ");
 Socio limitado.Establecer cursor(0,1);
 Socio limitado.Imprimir(El sistema está durmiendo.);
 Establezca modo "u Sleep"(Modo de sueño apagado.);
 Línea de órdenes();
 Activar el sueño();
 Vi();
 CPU hibernativo();
 / / / reinicio
}

Tipo booleano Advertencia de batalla ()
{     Valor = Simulación(Voltispin. Kgm);    Leer entrada de entrada   Valor = Valor  * 0.00488;    Si (Valor <= Tensión de sueño) {   Volumen = Valor;   Apagón.();   }    Si (Valor <= Advertencia) {   Volumen = Valor;     Regreso ¿En serio?;    }    {   Regreso Falso;   }   }

Nulidad Tiempo real()
{   / / reloj en tiempo real y cuenta regresiva
Inapropiado adj. Largo adj. Flujo eléctrico = Millis();   Si(Flujo eléctrico - Millones. > Intervalo)   {      Millones. = Flujo eléctrico;
- cuenta regresiva.
Cuenta regresiva a las 24: 00, señor.      Segundo = Segundo+1;      Si (Segundo > 59)       {           Segundo = 0;           Minuto=Minuto+1;                    Batería = Advertencia de batalla ();           Si (Minuto > 59)           {            Minuto =0;            Si (Coincidencia > 1) { Coincidencia --;} / / / símbolo de información             Hora=Hora + 1;                     }            Si (Hora > 23)           {            Hora = 0;           }       }       }
}

Nulidad Cambiar modo de visualización()
{   Si ( Mostrar > Modo de visualización )   {     Modo de visualización = Mostrar;      Para (Interior Uno=0; Uno <200;Uno++)      {      Mago.[Uno] = Uno;       }   }     Si ( Mostrar < Modo de visualización )   {     Modo de visualización = Mostrar;      Para (Interior Uno=0; Uno <200;Uno++)      {      Mago.[Uno] = Uno;       }   }
}    Nulidad Correr()
{
Tiempo real();
Si (!Batería)
{
 Texto normal de desplazamiento (); 
 }
Si (Batería)
{
 Texto de la pantalla ();
}
Cambiar modo de visualización();
}

 

 

Cargando el Código, nuestro Monitor comenzará directamente a mostrar el nombre en la primera línea y el texto de desplazamiento especificado para mostrar el Código en la segunda línea.

String default scolltext = "introduzca aquí su propio texto, que se presenta como texto evolutivo.";

Definido.¡Además, el voltaje eléctrico se vigila mediante la pista A2 Si un nivel de tensión está por debajo de la advertencia: "Cuidado!Voltaje desconectado: x voltios. "Muestra el extensible scrollext.Esto debería indicar que la batería no está suficientemente cargada en caso de que funcione.Si la batería sigue descargando, el procesador permanecerá permanentemente en modo de hibernación y mostrará el mensaje "Sy in" Sleep Mode ".Sin embargo, como el monitor sigue activo, las baterías se descargan.Así que no es una protección profunda, es sólo una pista.

Si el circuito funciona sin baterías, la parte del Código también puede desmontarse sin más daños a la función.

 

Que tenga una buena reconstrucción.

DisplaysFür arduinoProjekte für anfänger

13 comentarios

Wolf

Wolf

Ein kleines Schaltbild wäre oft hilfreich zusätzlich zur Fritzing-Dastellung und würde Unklarheiten eventuell sofort ausräumen.
Nett wäre es auch, die Blogs als vielleicht *.pdf Datei archivierbar zu machen.
So entstände dann mit der Zeit eine tolle kleine Bibliothek mit vielen Anregungen.

Heinz

Heinz

Habe die Lösung schon gefunden: Gleiche Pinbelegung beim Nano wie beim Uno: A2, D4 bis D9. Ein Potentiometer 10k statt des festen Widerstands 4,7k ist sehr empfehlenswert.
Gruß Heinz

Heinz

Heinz

Wie sähe die Pinbelegung eines Nano V3 aus. Der läßt sich besser in der Jackentasche verstauen, wenn das Display als Namensschild am Anzug dient.
Dank und Gruß
Heinz

Heinz Andersen

Heinz Andersen

Auch ich bin darüber gefallen: Die Verdrahtung ist nicht ganz klar, Farben werden teilweise überdeckt.
Die Farben der Widerstände sind nicht eindeutig zu erkennen.
Auch finde ich auch nicht " avr/sleep.h " , als zip Version. Dieses wäre am einfachsten zur Installation in
die Bibliothek. Meine programmier Kenntnissen sind nicht besonders groß.

Ich werde demnächst einen Paketbriefkasten installieren, dieses Projekt kommt mir sehr entgegen !
MfG Heinz

Mike

Mike

Hallo Tobias,
Danke für Deine Antwort aber meine Frage war auf das Briefkasten"schild" bezogen mit den I2C Dispaly ;-) Mit dem von Dir Vorgeschlagenen kann ich leider nichts anfangen :-/ Schade.
Gruss
Mike

Jürgen

Jürgen

Hi,
die Idee ist an sich schon cool. Allerdings: wenn ich das im Briefkasten montiere, wie Temperatur-Beständig ist denn das Display? Wird der Scroll-Text dann immer noch flüssig angezeigt? Ich hätte hier sechs Briefkästen, wie günstig ist die vorgestellte Bauweise und geht es noch günstiger (ja, ich weiß, ich könnte auch selbst recherchieren. Kenn mich jedoch zu wenig aus)? Kann man die Schaltung erweitern um eine Funkmeldung, wenn Post im Kasten ist, zB. direkt an eine eMail-Adresse (zB über HomeAssistant, iobroker, oder so)?
Nur so meine Gedanken dazu!!

Frank C

Frank C

Hallo!

Ich habe Probleme mit dem Wiring… da geht Schwarz in Rot über… hmmm…
Und die oder die Widerstände gehen die von türkis nach schwarz und über rot nach schwarz? Sorry, bin nicht gerade Neuling, aber diese Grafik überfordert mich ein wenig… Einzig die oberen 6 Drähte sind klar/eindeutig.

Ist schwarz (2mal vom Uno) einmal “nur” überdeckt? Ok, vllt. wird’s dann klarer…

Und wie sind dann die beiden roten mit dem Widerstand gekoppelt?

mfg
Frank C aus D

Tobias

Tobias

Hallo Claus,
Leider ist eine Anbindung eines e-Paper Displays an einen Microcontroller – im Gegenteil -wesentlich komplexer statt einfacher , da hier u.a . Fonts seitens den uC geladen werden müssen.
Da der ESP 32 ist für diese Projektaufgabe schlicht komplett unterfordert ist , nutze ich einen der Aufgabe angepassteren uC.

Tobias

Tobias

Hallo Mike,

dein Display hat einen I2C Bus Anschluss. Du kannst es ohne Anpassung des Codes so nicht mit dem Code verwenden. Hier ist ein Projekt für dein Display: https://www.az-delivery.de/blogs/azdelivery-blog-fur-arduino-und-raspberry-pi/i2c-scanner-mit-lc-display?ls=de

Viele Grüße

JoergSn

JoergSn

Das Ganze noch mit einem E-Ink Display und wir kommen einem Deal verdammt nahe. ;-)

Mike

Mike

Coole Idee!!!
Aber was mach ich wenn ich nen 16×2 LCD hab wo hinten ne Platine drauf ist und nur 4 Anschlussmöglchkeiten vorhanden sind (GND, VCC, SDA, SCL)?
Sorry, bin noch neu in der Materie :D

Calade

Calade

Hello,
Nice idea ! It would be wise to add a proximity sensor to lit the display only when someone is near the letterbox and a photosensor to adjust LCD intensity to ambiant light ?
Regards,

Claus

Claus

Warum nicht mit e-paper ? Mit einem ESP32 mit e-paper-Display ist das doch einfacher.

Deja un comentario

Todos los comentarios son moderados antes de ser publicados