Inhoudsopgave:

Scorebordproject met P10 LED-display met behulp van DMD - Ajarnpa
Scorebordproject met P10 LED-display met behulp van DMD - Ajarnpa

Video: Scorebordproject met P10 LED-display met behulp van DMD - Ajarnpa

Video: Scorebordproject met P10 LED-display met behulp van DMD - Ajarnpa
Video: Collaboration Nation: What’s Possible When Silos Connect for Kids? 2024, November
Anonim
Scorebordproject met P10 LED-display met DMD
Scorebordproject met P10 LED-display met DMD

Vaak ontmoeten we elkaar in een voetbalstadion; er is een gigantisch LED-bord dat dienst doet als scorebord. Dus ook op andere sportvelden kennen we vaak het scorebord van het beeldscherm gemaakt van LED. Hoewel niet mogelijk, is er ook een veld dat nog steeds een handmatig bord gebruikt.

In dit project maken we een scorebord met Dot-matrix Display met een op Bluetooth gebaseerde Android-smartphone als controller.

Stap 1: Materialen die je nodig hebt

Materialen die je nodig hebt
Materialen die je nodig hebt
Materialen die je nodig hebt
Materialen die je nodig hebt
Materialen die je nodig hebt
Materialen die je nodig hebt

Je zal nodig hebben:

  • Arduino Uno
  • SFE DMD-connector
  • P10 Buiten/ Half Buiten
  • HC-05 Bluetooth-module
  • Voeding 5 Volt
  • Toetsschakelaar
  • Broodplank
  • Doorverbindingsdraden

Stap 2: Bedrading

Bedrading
Bedrading

Nadat de componenten zijn verzameld, sluit u elke component aan volgens het bovenstaande schema.

Stap 3: Coderen

Code
Code

Nadat elk onderdeel is aangesloten, moet u ervoor zorgen dat het onderdeel correct is geïnstalleerd voordat u het inschakelt. Bevestig ook de DMD-connector volgens de pin op de printplaat. Sluit Arduino aan op je PC/Laptop, en upload onderstaand programma.

// Bestandsbibliotheek invoegen #include #include #include

// Functie definiëren

#define bCLEAR A1 #define bRIGHT A2 #define bLEFT A0 #define Panjang 2 // Aantal hoogte van Display P10 #define Lebar 1 // Aantal breedte van Display P10

SoftDMD dmd (Panjang, Lebar);

// Verklaring Variabele byte Helderheid; byte debounce = 100; int juiste score = 0; int linkerscore = 0; int ik; char dmdBuff[10]; teken BT; // Setup-functie, eenmaal gedaan arduino reset void setup () {Helderheid = EEPROM.read (0); dmd.setBrightness(10); dmd.selectFont(MyBigFont); dmd.begin(); dmd.clearScreen(); Serieel.begin(9600); pinMode (bCLEAR, INPUT_PULLUP); pinMode (bRIGHT, INPUT_PULLUP); pinMode (bLEFT, INPUT_PULLUP);

blinkDisplay();

} // Blink Display-functie, laat het display knipperen ongeldig blinkDisplay(){ dmd.clearScreen(); vertraging (300); sprintf(dmdBuff, "%d", leftScore); dmd.drawString (0, 0, dmdBuff); dmd.drawString(29, 0, "-"); sprintf(dmdBuff, "%2d", rightScore); dmd.drawString(43, 0, dmdBuff); vertraging (300); dmd.clearScreen(); vertraging (300); sprintf(dmdBuff, "%d", leftScore); dmd.drawString (0, 0, dmdBuff); dmd.drawString(29, 0, "-"); sprintf(dmdBuff, "%2d", rightScore); dmd.drawString(43, 0, dmdBuff); vertraging (300); dmd.clearScreen(); vertraging (300); } //GOAL-functie, toon GOAL-tekst wanneer invoer is ingevoegd void GOAL(){ dmd.clearScreen(); vertraging (400); dmd.drawString(5, 0, "DOEL!!!"); vertraging (400); dmd.clearScreen(); vertraging (400); dmd.drawString(5, 0, "DOEL!!!"); vertraging (3000); } // Loop Function, herhaaldelijk gedaan void loop() { if(Serial.available()){ BT = Serial.read(); } if (digitalRead (bCLEAR) == LAAG || BT == 'X') {vertraging (debounce); linkerscore = 0; rechtsscore = 0; dmd.clearScreen(); BT = 0; } if (digitalRead (bLEFT) == LAAG || BT == 'A') {vertraging (debounce); leftScore++; DOEL(); blinkDisplay(); BT = 0; } if (digitalRead (bRIGHT) == LAAG || BT == 'B') {vertraging (debounce); rechtsScore++; DOEL(); blinkDisplay(); BT = 0; }sprintf(dmdBuff, "%d", leftScore); dmd.drawString (0, 0, dmdBuff); dmd.drawString(29, 0, "-"); sprintf(dmdBuff, "%2d", rightScore); dmd.drawString(43, 0, dmdBuff); vertraging (300); if(digitalRead(bLEFT) == LAAG && digitalRead(bRIGHT) == LAAG) { dmd.clearScreen(); vertraging (debounce); setBrightness: Helderheid = EEPROM.read (0); if (digitalRead (bLEFT) == LAAG) {vertraging (debounce); Helderheid ++;} if (digitalRead (bRIGHT) == LAAG) {vertraging (debounce); Helderheid --;} EEPROM.write (0, Helderheid); dmd.setBrightness (Helderheid); sprintf(dmdBuff, "%3d", Helderheid); dmd.drawString (16, 0, dmdBuff); vertraging (50);

if(digitalRead(bCLEAR) == 0){dmd.clearScreen(); vertraging (debounce); lus();}

anders {ga naar helderheid instellen;} } }

Stap 4: Toepassing

Sollicitatie
Sollicitatie

Als er een fout optreedt tijdens het uploaden van het programma, hebt u een bestaande DMD-bibliotheek met extra lettertypen nodig om de weergave van het scorebord te ondersteunen, download DMD2-bibliotheken. De afbeelding hierboven is het scorebordscherm.

Stap 5: Android-applicatie

Android-applicatie
Android-applicatie
Android-applicatie
Android-applicatie

SFE Scoreboard Android-apps kunnen hier worden gedownload. Dit is de hoofdweergave van de SFE Score Board-app.

Hoe het te gebruiken, als volgt:

  1. Installeer de applicatie op uw Android-smartphone.
  2. Open de app, als er een melding is om bluetooth te activeren, klik dan op ja.
  3. Om verbinding te maken met de Bluetooth-module, klikt u op het Bluetooth-pictogram bovenaan de applicatie. Er wordt een Bluetooth-lijst weergegeven die is gekoppeld aan uw apparaat.
  4. Maar als de naam van uw Bluetooth-module niet beschikbaar is op het apparaat, moet u eerst de koppeling maken door het Bluetooth-instellingenmenu op uw apparaat te openen. Nadat het scanproces is voltooid en de naam van uw Bluetooth-module verschijnt, kunt u koppelen. Als u wordt gevraagd om een wachtwoord in te voeren, voert u wachtwoord 1234 in voor de modulestandaard, als deze niet is vervangen.
  5. Als de applicatie is verbonden, heb je al toegang tot het scorebord met je Android-apparaat.

Stap 6: Bekijk de video om meer te weten

Aanbevolen: