Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

Arduino Bluetooth-gesteuerte Matrix mit Lauftext

Komponenten und Verbrauchsmaterialien

Arduino Nano R3
× 1
HC-05 Bluetooth-Modul
× 1
8x8 LED-Matrixmodul mit MAX7219
× 7
6,8 kOhm Widerstand
× 1
2,2 kOhm Widerstand
× 2

Notwendige Werkzeuge und Maschinen

Lötkolben (generisch)

Apps und Onlinedienste

Arduino-IDE
Bluetooth sp pro

Über dieses Projekt

Nach mehreren Versuchen, einen Lauftext auf der 8x8-Matrix zu erstellen, fand ich das vollständigste Handbuch auf der Embedded Lab-Seite:http://embedded-lab.com/blog/portable-bluetooth-enabled-scrolling-led-matrix-display -Teil-1/.

Das Gerät enthält ein Arduino nano, ein Bluetooth-Modul zum Empfangen von Daten vom Smartphone und 8x8 LED-Matrizen, die von MAX7219 angesteuert werden.

Anders als dort habe ich vorgefertigte 8x8 Matrixmodule mit MAX7219 Chip verwendet, die man sehr günstig bei Ebay oder Alexpress erwerben kann. Im Moment hatte ich nur 7 Module, also habe ich eine kleine Modifikation des Codes vorgenommen. Eine Android-Anwendung existiert nicht mehr im Google Play Store, Sie können sie also herunterladen von:

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

. Es kann die Geschwindigkeit des Scrollens, die Helligkeit der LEDs, die Pause, das Löschen von Text und mehrere vordefinierte Texttasten steuern.

Am Ende habe ich das ganze Gerät in eine Schachtel gelegt, die ich aus einem PVC-Material gemacht habe, das ich mit einer schwarzen Tapete darauf geklebt habe.

Arduino-Bibliotheken:

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

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

Code

  • Code
codeArduino
 /*Hier sind die Befehle, die Arduino erkennt. 1. Jeder Zeichenstrom muss in Klammern eingeschlossen gesendet werden. Beispiel:Angenommen, Sie möchten eine Nachricht anzeigen "Hallo! Wie geht es Ihnen?" Sie sollten es so senden:(Hallo! Wie geht es Ihnen?) Wenn das Arduino das erste Zeichen als '(') empfängt, versteht es, dass die kommenden Zeichen Anzeigedaten sind, bis ')' empfangen wird. Die Nachricht wird als von rechts nach links scrollend angezeigt. 2. Die Anzeigeintensität kann durch Senden von /+ bzw. /- erhöht oder verringert werden. Jedes Mal, wenn das Arduino '/' empfängt, versteht es, dass es sich um einen Befehl handelt. Es unterstützt 16 Helligkeitsstufen. 3. Ebenso kann die Scrollgeschwindigkeit durch Senden von / erhöht oder verringert werden. 4. /p wird verwendet, um die scrollende Nachricht anzuhalten. Durch erneutes Senden dieses Befehls wird das Scrollen fortgesetzt. 5. /e wird verwendet, um den Puffer zu löschen und das Display zu leeren Anschlüsse:Easy Matrix Arduino VCC +5V DIN MOSI (Pin 11) LOAD pinCS definiert im Programm unten CLK SCK (Pin 13) GND Gnd Die UART-Kommunikation erfolgt mit 9600 Baud . Geschrieben von:Rajendra Bhatt Kontakt:[email protected] Easy Matrix-Produktlink:http://embedded-lab.com/blog/?p=9186 */#include #include #include int pinCS =10; // CS an diesen Pin anhängen, DIN an MOSI und CLK an SCK (vgl. http://arduino.cc/en/Reference/SPI )int numberOfHorizontalDisplays =7;int numberOfVerticalDisplays =1;Max72xxPanel matrix =Max72xxPanel(pinCS, numberOfHorizontalDisplays, numberOfVerticalDisplays);int scrollspeed =100; // Standard-Scrollgeschwindigkeit (Millisekunden)int spacer =1; // Leerzeichen zwischen zwei Zeichenint width =5 + spacer; // Die Schriftbreite beträgt 5 Pixelboolean inChar =false, NewData =false, pause =false;boolean dataAvailable =false;char inputString[512];int count =0, BTvalue =5;void setup() { matrix.setIntensity(1 ); // Verwenden Sie einen Wert zwischen 0 und 15 für die Helligkeit // Anpassen an Ihre eigenen Bedürfnisse matrix.setPosition(0, 0, 0); // Die erste Anzeige ist bei <0, 7> matrix.setPosition(1, 1, 0); // Die zweite Anzeige ist bei <1, 0> matrix.setPosition(2, 2, 0); // Die dritte Anzeige ist bei <2, 0> matrix.setPosition(3, 3, 0); // Und die letzte Anzeige ist bei <3, 0> matrix.setPosition(4, 4, 0); // Die erste Anzeige ist bei <0, 0> matrix.setPosition(5, 5, 0); // Die zweite Anzeige ist bei <1, 0> matrix.setPosition(6, 6, 0); // Die dritte Anzeige ist bei <2, 0> // ... // matrix.setRotation(0, 2); // Die erste Anzeige ist auf den Kopf gestellt // matrix.setRotation(3, 2); // Das gleiche gilt für die letzte Anzeige matrix.fillScreen(0); matrix.write(); Serial.begin (9600); // serielle Kommunikation initialisieren // Interrupt 0 an digitalem Pin 2 verwenden. pinMode (2, INPUT); digitalWrite(2, LOW); attachInterrupt(0, serialInterrupt, CHANGE); }void loop () { if (dataAvailable) { display_data (); } }void display_data(){ for (int i =0; i =0 &&letter>=0 ) { if ( letter  0) { NewData =true; } } } } if(ch =='/'){// Befehlsmodus inChar =true; while (inChar) { if (Serial.available ()) { ch =Serial.read (); // '/+' ist für die Helligkeitserhöhung if (ch =='+') { if (BTvalue <15) { BTvalue ++; matrix.setIntensity(BTvalue); } brechen; } // '/-' ist für die Helligkeitsverringerung if (ch =='-') { if (BTvalue> 0) { BTvalue --; matrix.setIntensity(BTvalue); } brechen; } // '/>' soll das Scrollen verlangsamen if (ch =='>') { if (scrollspeed <200) {scrollspeed =scrollspeed + 20; } brechen; } // '/<' soll das Scrollen beschleunigen if(ch =='<'){ if(scrollspeed> 10){ scrollspeed=scrollspeed-10; } brechen; } // '/e' soll die Anzeige löschen if(ch =='e'){ dataAvailable =false; brechen; } // '/p' soll die Anzeige anhalten if(ch =='p'){ if(pause ==false){ pause =true; aufrechtzuerhalten. Sonst { Pause =false; } brechen; } sonst { Pause; // Unerkannter Befehl } } } } // if(ch =='!') } // while(serial.available) inService =false;}

Schaltpläne


Herstellungsprozess

  1. Münzprüfer mit Arduino steuern
  2. Arduino-Pong-Spiel auf einer 24x16-Matrix mit MAX7219
  3. Arduino mit Bluetooth zur Steuerung einer LED!
  4. Textteleporter
  5. Sprachgesteuerte Bluetooth-Geräte mit OK Google
  6. Steuerung einer LED-Matrix mit Arduino Uno
  7. Messung der Sonneneinstrahlung mit Arduino
  8. Autosteuerung mit Arduino Uno und Bluetooth
  9. Senden und Empfangen von Textnachrichten (SMS) mit GSM SIM900 Shield
  10. HID-kompatible USV mit Arduino