Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Productieproces

Arduino Bluetooth-gestuurde matrix met scrollende tekst

Componenten en benodigdheden

Arduino Nano R3
× 1
HC-05 Bluetooth-module
× 1
8x8 led-matrixmodule met MAX7219
× 7
6.8 kOhm Weerstand
× 1
2.2 kOhm Weerstand
× 2

Benodigde gereedschappen en machines

Soldeerbout (algemeen)

Apps en online services

Arduino IDE
Bluetooth sp pro

Over dit project

Na verschillende pogingen om een ​​scrollende tekst op de 8x8-matrix te maken, vond ik de meest complete handleiding op de Embedded Lab-pagina:http://embedded-lab.com/blog/portable-bluetooth-enabled-scrolling-led-matrix-display -part-1/.

Het apparaat bevat een Arduino nano, Bluetooth-module voor het ontvangen van gegevens van de smartphone en 8x8 LED-matrices aangedreven door MAX7219.

In tegenstelling tot daar gebruikte ik kant-en-klare 8x8-matrixmodules met MAX7219-chip die heel goedkoop te koop zijn op Ebay of Alexpress. Op dit moment had ik maar 7 modules, dus ik heb een kleine wijziging in de code aangebracht. Een Android-applicatie bestaat niet meer in de Google Play Store, dus u kunt deze downloaden van:

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

. Het kan de snelheid van het scrollen, de helderheid van de leds, pauzeren, tekst wissen en verschillende vooraf gedefinieerde tekstknoppen regelen.

Uiteindelijk heb ik het hele apparaat in een doos gestopt, die ik heb gemaakt van een PVC-materiaal dat ik erop heb gezet met een zwart behang.

Arduino-bibliotheken:

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

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

Code

  • code
codeArduino
 /*Hier zijn de opdrachten die Arduino herkent. 1. Elke tekenstroom moet tussen haakjes worden verzonden. Voorbeeld:Stel dat u een bericht wilt weergeven "Hallo! Hoe gaat het met u?" Je zou het als volgt moeten verzenden:(Hallo! Hoe gaat het met je?) Wanneer de Arduino het eerste teken als '(' ontvangt, begrijpt het dat de komende tekens weergavegegevens zijn totdat ')' wordt ontvangen. Het bericht wordt weergegeven als scrollend van rechts naar links. 2. De intensiteit van het display kan worden verhoogd of verlaagd door respectievelijk /+ of /- te verzenden. Elke keer dat de Arduino '/' ontvangt, begrijpt hij dat het een commando is. Het ondersteunt 16 helderheidsniveaus. 3. Op dezelfde manier kan de bladersnelheid worden verhoogd of verlaagd door respectievelijk / te verzenden. 4. /p wordt gebruikt om het scrollende bericht te pauzeren. Door deze opdracht opnieuw te verzenden, wordt het scrollen hervat. 5. /e wordt gebruikt om de buffer te wissen en het display leeg te maken Verbindingen:Easy Matrix Arduino VCC +5V DIN MOSI (Pin 11) LOAD pinCS gedefinieerd in het onderstaande programma CLK SCK (Pin 13) GND Gnd De UART-communicatie vindt plaats op 9600 baud . Geschreven door:Rajendra Bhatt Contactpersoon:[email protected] Easy Matrix productlink:http://embedded-lab.com/blog/?p=9186 */#include #include #include int pinCS =10; // Bevestig CS aan deze pin, DIN aan MOSI en CLK aan SCK (zie http://arduino.cc/en/Reference/SPI) int numberOfHorizontalDisplays =7;int numberOfVerticalDisplays =1;Max72xxPanel matrix =Max72xxPanel(pinCS, numberOfHorizontalDisplays, numberOfVerticalDisplays);int scrollspeed =100; // Standaard scrollsnelheid (milliseconden) int spacer =1; // Spatie tussen twee karaktersint breedte =5 + spacer; // De breedte van het lettertype is 5 pixelsboolean inChar =false, NewData =false, pause =false;boolean dataAvailable =false;char inputString [512];int count =0, BTvalue =5;void setup() { matrix.setIntensity(1 ); // Gebruik een waarde tussen 0 en 15 voor helderheid// Pas aan naar eigen behoefte matrix.setPosition(0, 0, 0); // De eerste weergave is op <0, 7> matrix.setPosition (1, 1, 0); // Het tweede scherm is op <1, 0> matrix.setPosition (2, 2, 0); // Het derde scherm is op <2, 0> matrix.setPosition (3, 3, 0); // En de laatste weergave is op <3, 0> matrix.setPosition (4, 4, 0); // De eerste weergave is op <0, 0> matrix.setPosition (5, 5, 0); // Het tweede scherm is op <1, 0> matrix.setPosition (6, 6, 0); // Het derde scherm is op <2, 0> // ... // matrix.setRotation(0, 2); // Het eerste scherm is ondersteboven geplaatst // matrix.setRotation (3, 2); // Hetzelfde geldt voor de laatste weergave matrix.fillScreen (0); matrix.schrijven(); Serieel.begin(9600); // seriële communicatie initialiseren // Interrupt 0 gebruiken op digitale pin 2. pinMode (2, INPUT); digitalWrite(2, LAAG); attachInterrupt(0, serialInterrupt, WIJZIGING); }void loop(){ if(dataAvailable){ display_data(); } }void display_data(){ for ( int i =0; i =0 &&letter>=0 ) { if ( letter  0) { NewData =true; } } } } if(ch =='/'){ // Commandomodus inChar =true; while(inChar){ if (Serial.available()) { ch =Serial.read(); // '/+' is voor helderheidstoename if(ch =='+'){ if(BTvalue <15) {BTvalue ++; matrix.setIntensity(BT-waarde); } pauze; } // '/-' is voor vermindering van de helderheid if(ch =='-'){ if(BTvalue> 0){ BTvalue --; matrix.setIntensity(BT-waarde); } pauze; } // '/>' is om scroll te vertragen if(ch =='>'){ if(scrollspeed <200) { scrollspeed =scrollspeed + 20; } pauze; } // '/<' is om sneller te scrollen if(ch =='<'){ if(scrollspeed> 10){ scrollspeed=scrollspeed-10; } pauze; } // '/e' is om de weergave te wissen if(ch =='e'){ dataAvailable =false; pauze; } // '/p' is om de weergave te pauzeren if(ch =='p'){ if(pause ==false){ pause =true; } else { pause =false; } pauze; } anders { breken; // Niet-herkende opdracht } } } } // if(ch =='!') } // while(serial.available) inService =false;}

Schema's


Productieproces

  1. Bedien muntvangers met Arduino
  2. Arduino Pong Game op 24x16 Matrix met MAX7219
  3. Arduino met Bluetooth om een ​​LED te bedienen!
  4. Tekst Teleporter
  5. Bluetooth spraakgestuurde apparaten met OK Google
  6. Een LED-matrix besturen met Arduino Uno
  7. Zonnestraling meten met Arduino
  8. Autobesturing met Arduino Uno en Bluetooth
  9. Sms-berichten verzenden en ontvangen met GSM SIM900 Shield
  10. HID-compatibele UPS met Arduino
  11. Smartphone gestuurde muis