Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Proceso de manufactura

Matriz controlada por Bluetooth Arduino con texto en movimiento

Componentes y suministros

Arduino Nano R3
× 1
Módulo Bluetooth HC-05
× 1
Módulo de matriz led 8x8 con MAX7219
× 7
Resistencia de 6,8 kOhm
× 1
Resistencia de 2,2 kOhm
× 2

Herramientas y máquinas necesarias

Soldador (genérico)

Aplicaciones y servicios en línea

Arduino IDE
Bluetooth sp pro

Acerca de este proyecto

Después de varios intentos de hacer un texto de desplazamiento en la matriz de 8x8, encontré el manual más completo en la página de Embedded Lab:http://embedded-lab.com/blog/portable-bluetooth-enabled-scrolling-led-matrix-display -parte-1 /.

El dispositivo contiene un módulo Arduino nano, Bluetooth para recibir datos del teléfono inteligente y matrices LED de 8x8 impulsadas por MAX7219.

A diferencia de allí, utilicé módulos de matriz 8x8 listos para usar con chip MAX7219 que se pueden comprar muy baratos en Ebay o Alexpress. Por el momento, solo tenía 7 módulos, así que hice una pequeña modificación del código. Una aplicación de Android ya no existe en la tienda Google Play, por lo que puede descargarla desde:

https://bluetooth-spp-pro.en.uptodown.com/android

. Puede controlar la velocidad del desplazamiento, el brillo de los leds, pausar, borrar texto y varios botones de texto predefinidos.

Al final, puse todo el dispositivo en una caja, que hice con un material de PVC que puse sobre él con un papel tapiz negro.

Bibliotecas Arduino:

https://github.com/markruys/arduino-Max72xxPanel

https://github.com/adafruit/Adafruit-GFX-Library

Código

  • código
código Arduino
 / * Estos son los comandos que reconoce Arduino. 1. Cualquier flujo de caracteres debe enviarse entre paréntesis. Ejemplo:Supongamos que desea mostrar un mensaje "¡Hola! ¿Cómo estás?" Debería enviarlo así:(¡Hola! ¿Cómo estás?) Cuando el Arduino recibe el primer carácter como '(', entiende que los siguientes caracteres son datos de visualización hasta que se recibe ')'. El mensaje se muestra desplazándose de derecha a izquierda. 2. La intensidad de la pantalla se puede incrementar o disminuir enviando / + o / - respectivamente. Cada vez que Arduino recibe '/', entiende que es un comando. Soporta 16 niveles de brillo. 3. De manera similar, la velocidad de desplazamiento se puede aumentar o disminuir enviando /  respectivamente. 4. / p se utiliza para pausar el mensaje de desplazamiento. Al enviar este comando nuevamente, se reanuda el desplazamiento. 5. / e se usa para borrar el búfer y dejar en blanco la pantalla Conexiones:Easy Matrix Arduino VCC + 5V DIN MOSI (Pin 11) LOAD pin CS definido en el programa a continuación CLK SCK (Pin 13) GND Gnd La comunicación UART ocurre a 9600 baudios . Escrito por:Rajendra Bhatt Contacto:[email protected] Enlace del producto Easy Matrix:http://embedded-lab.com/blog/?p=9186 * / # include  #include  #include  int pinCS =10; // Conecte CS a este pin, DIN a MOSI y CLK a SCK (cf http://arduino.cc/en/Reference/SPI) int numberOfHorizontalDisplays =7; int numberOfVerticalDisplays =1; Max72xxPanel matrix =Max72xxPanel (pinCS, numberOfHorizontalDisplays, numberOfVerticalDisplays); int scrollspeed =100; // Velocidad de desplazamiento predeterminada (milisegundos) int spacer =1; // Espacio entre dos caracteresint width =5 + spacer; // El ancho de la fuente es 5 píxeles boolean inChar =false, NewData =false, pause =false; boolean dataAvailable =false; char inputString [512]; int count =0, BTvalue =5; void setup () {matrix.setIntensity (1 ); // Usa un valor entre 0 y 15 para el brillo // Ajústalo a tus propias necesidades matrix.setPosition (0, 0, 0); // La primera pantalla está en <0, 7> matrix.setPosition (1, 1, 0); // La segunda pantalla está en <1, 0> matrix.setPosition (2, 2, 0); // La tercera pantalla está en <2, 0> matrix.setPosition (3, 3, 0); // Y la última pantalla está en <3, 0> matrix.setPosition (4, 4, 0); // La primera pantalla está en <0, 0> matrix.setPosition (5, 5, 0); // La segunda pantalla está en <1, 0> matrix.setPosition (6, 6, 0); // La tercera pantalla está en <2, 0> // ... // matrix.setRotation (0, 2); // La primera pantalla es la posición al revés // matrix.setRotation (3, 2); // Lo mismo para la última visualización matrix.fillScreen (0); matrix.write (); Serial.begin (9600); // inicialización de la comunicación en serie // Utilizando la interrupción 0 en el pin digital 2. pinMode (2, INPUT); digitalWrite (2, BAJO); attachInterrupt (0, serialInterrupt, CAMBIAR); } bucle vacío () {if (datos disponibles) {display_data (); }} vacío display_data () {for (int i =0; i  =0 &&letra> =0) {if (letra  0) {NewData =true; }}}} if (ch =='/') {// Modo de comando inChar =true; while (inChar) {if (Serial.available ()) {ch =Serial.read (); // '/ +' es para incremento de brillo if (ch =='+') {if (BTvalue <15) {BTvalue ++; matrix.setIntensity (BTvalue); } descanso; } // '/ -' es para disminuir el brillo if (ch =='-') {if (BTvalue> 0) {BTvalue -; matrix.setIntensity (BTvalue); } descanso; } // '/>' es para ralentizar el desplazamiento if (ch =='>') {if (scrollspeed <200) {scrollspeed =scrollspeed + 20; } descanso; } // '/ <' es para hacer que el desplazamiento sea más rápido if (ch =='<') {if (scrollspeed> 10) {scrollspeed =scrollspeed-10; } descanso; } // '/ e' es borrar la pantalla if (ch =='e') {dataAvailable =false; descanso; } // '/ p' es pausar la visualización if (ch =='p') {if (pause ==false) {pause =true; } más {pausa =falso; } descanso; } else {descanso; // Comando no reconocido}}}} // if (ch =='!')} // while (serial.available) inService =false;} 

Esquemas


Proceso de manufactura

  1. Controlar el aceptador de monedas con Arduino
  2. Juego Arduino Pong en Matrix 24x16 con MAX7219
  3. ¡Arduino con Bluetooth para controlar un LED!
  4. Teletransportador de texto
  5. Dispositivos Bluetooth controlados por voz con OK Google
  6. Controlar una matriz de LED con Arduino Uno
  7. Medición de la radiación solar con Arduino
  8. Control de coche con Arduino Uno y Bluetooth
  9. Enviar y recibir mensajes de texto (SMS) con GSM SIM900 Shield
  10. UPS compatible con HID con Arduino
  11. Ratón controlado por teléfono inteligente