Inhoudsopgave:
- Stap 1: Materialen die je nodig hebt
- Stap 2: Bedrading
- Stap 3: Coderen
- Stap 4: Toepassing
- Stap 5: Android-applicatie
- Stap 6: Bekijk de video om meer te weten
Video: Scorebordproject met P10 LED-display met behulp van DMD - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:19
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
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
Nadat de componenten zijn verzameld, sluit u elke component aan volgens het bovenstaande schema.
Stap 3: Coderen
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
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
SFE Scoreboard Android-apps kunnen hier worden gedownload. Dit is de hoofdweergave van de SFE Score Board-app.
Hoe het te gebruiken, als volgt:
- Installeer de applicatie op uw Android-smartphone.
- Open de app, als er een melding is om bluetooth te activeren, klik dan op ja.
- 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.
- 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.
- 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:
Meting van versnelling met behulp van ADXL345 en Particle Photon: 4 stappen
Meting van versnelling met behulp van ADXL345 en deeltjesfoton: De ADXL345 is een kleine, dunne, ultralaagvermogen, 3-assige versnellingsmeter met hoge resolutie (13-bits) meting tot ±16 g. Digitale uitvoergegevens zijn geformatteerd als 16-bits tweetallen en zijn toegankelijk via de digitale I2 C-interface. Het meet de
Upgrade de achtergrondverlichting van een VU-meter naar blauwe led met behulp van oude CFL-lamponderdelen: 3 stappen
Upgrade een VU-meterachtergrondverlichting naar blauwe led met behulp van oude CFL-lamponderdelen.: Tijdens het repareren van een oude Sony TC630 reel-to-reel bandrecorder, merkte ik dat een van de glazen bollen voor de achtergrondverlichting van de VU-meter kapot was. Geen hoeveelheid geleidende verf werkte omdat het lood onder het glasoppervlak was afgebroken. De enige vervanger die ik
P10 Led (DMD) met Arduino Nano V.3: 4 stappen
P10 Led (DMD) Arduino Nano V.3 gebruiken: In mijn vorige artikel. Ik heb al laten zien hoe je het Output-apparaat op Arduino kunt gebruiken. De uitvoerapparaten omvatten "7-segmenten", "RGB-ring", "Led Matrix" en "2x16 LCD".In dit artikel laat ik je ook zien hoe t
De helderheid van LED regelen met behulp van Arduino en Bluetooth-module (HC-05): 4 stappen
De helderheid van LED regelen met behulp van Arduino en Bluetooth-module (HC-05): Inleiding In deze tutorial gaan we de helderheid van LED regelen met behulp van Arduino UNO, Bluetooth-module (HC-05) en Android-applicatie voor Bluetooth (Bluetooth Terminal)
Hoe u gebruikersniveaus van NUMA toevoegt aan uw exemplaar van N met behulp van NumADD Firefox AddOn: 4 stappen
Gebruikersniveaus van NUMA toevoegen aan uw exemplaar van N NumADD Firefox-add-on gebruiken: Elke gebruiker van Metanet's N-database op gebruikersniveau NUMA weet hoe onhandig de interface is voor het kopiëren van door gebruikers gemaakte niveaus naar uw exemplaar van het spel. NumADD, elimineert de noodzaak van kopiëren en plakken en maakt het overzetten van niveaus het werk van één muisklik