Indholdsfortegnelse:

Scorebordsprojekt med P10 LED -display ved hjælp af DMD: 6 trin (med billeder)
Scorebordsprojekt med P10 LED -display ved hjælp af DMD: 6 trin (med billeder)

Video: Scorebordsprojekt med P10 LED -display ved hjælp af DMD: 6 trin (med billeder)

Video: Scorebordsprojekt med P10 LED -display ved hjælp af DMD: 6 trin (med billeder)
Video: How to Make Mechanical 7 Segment Display from Cardboard 2024, Juli
Anonim
Scorebordsprojekt med P10 LED -display ved hjælp af DMD
Scorebordsprojekt med P10 LED -display ved hjælp af DMD

Ofte mødes vi på et fodboldstadion; der er et kæmpe LED -bord, der fungerer som resultattavle. Så også på andre sportsområder, også ofte kender vi resultattavlen på skærmen lavet af LED. Selvom det ikke er muligt, er der også et felt, der stadig bruger et manuelt bord.

I dette projekt opretter vi en resultattavle ved hjælp af Dot-matrix Display ved hjælp af Bluetooth-baseret Android Smartphone som controller.

Trin 1: Materialer, du har brug for

Materialer du har brug for
Materialer du har brug for
Materialer du har brug for
Materialer du har brug for
Materialer du har brug for
Materialer du har brug for

Du får brug for:

  • Arduino Uno
  • SFE DMD -stik
  • P10 Udendørs/ Semi Udendørs
  • HC-05 Bluetooth-modul
  • Strømforsyning 5 Volt
  • Taktkontakt
  • Brødbræt
  • Jumper Wires

Trin 2: Ledningsføring

Ledninger
Ledninger

Når komponenterne er blevet indsamlet, skal du forbinde hver komponent i henhold til skematikken ovenfor.

Trin 3: Kode

Kode
Kode

Når hver komponent er tilsluttet, skal du sørge for, at komponenten er korrekt installeret, før du tænder den. Fastgør også DMD -stikket i henhold til stiften vist på printkortet. Tilslut Arduino til din pc / bærbare, og upload programmet herunder.

// Indsæt filbibliotek #inkludere #include #include

// Definere funktion

#define bCLEAR A1 #define bRIGHT A2 #define bLEFT A0 #define Panjang 2 // Antal højde på display P10 #definer Lebar 1 // Antal bredder på display P10

SoftDMD dmd (Panjang, Lebar);

// Deklaration Variabel byte Lysstyrke; byte debounce = 100; int rightScore = 0; int leftScore = 0; int i; char dmdBuff [10]; forkælelse BT; // Opsætningsfunktion, udført når arduino nulstillede tomrumsopsætning () {Lysstyrke = EEPROM.read (0); dmd.setBrightness (10); dmd.selectFont (MyBigFont); dmd.begin (); dmd.clearScreen (); Serial.begin (9600); pinMode (bCLEAR, INPUT_PULLUP); pinMode (bRIGHT, INPUT_PULLUP); pinMode (bLEFT, INPUT_PULLUP);

blinkDisplay ();

} // Blink displayfunktion, få displayet til at blinke ugyldigt blinkDisplay () {dmd.clearScreen (); forsinkelse (300); sprintf (dmdBuff, "%d", leftScore); dmd.drawString (0, 0, dmdBuff); dmd.drawString (29, 0, "-"); sprintf (dmdBuff, "%2d", rightScore); dmd.drawString (43, 0, dmdBuff); forsinkelse (300); dmd.clearScreen (); forsinkelse (300); sprintf (dmdBuff, "%d", leftScore); dmd.drawString (0, 0, dmdBuff); dmd.drawString (29, 0, "-"); sprintf (dmdBuff, "%2d", rightScore); dmd.drawString (43, 0, dmdBuff); forsinkelse (300); dmd.clearScreen (); forsinkelse (300); } // GOAL -funktion, vis MÅL -tekst, når der indsættes tomrum GOAL () {dmd.clearScreen (); forsinkelse (400); dmd.drawString (5, 0, "MÅL !!!"); forsinkelse (400); dmd.clearScreen (); forsinkelse (400); dmd.drawString (5, 0, "MÅL !!!"); forsinkelse (3000); } // Loop -funktion, udført gentagne gange void loop () {if (Serial.available ()) {BT = Serial.read (); } hvis (digitalRead (bCLEAR) == LOW || BT == 'X') {forsinkelse (debounce); leftScore = 0; rightScore = 0; dmd.clearScreen (); BT = 0; } hvis (digitalRead (bLEFT) == LOW || BT == 'A') {forsinkelse (debounce); leftScore ++; MÅL(); blinkDisplay (); BT = 0; } hvis (digitalRead (bRIGHT) == LOW || BT == 'B') {forsinkelse (debounce); rightScore ++; MÅL(); 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); forsinkelse (300); hvis (digitalRead (bLEFT) == LOW && digitalRead (bRIGHT) == LOW) {dmd.clearScreen (); forsinkelse (debounce); setBrightness: Brightness = EEPROM.read (0); hvis (digitalRead (bLEFT) == LOW) {forsinkelse (debounce); Lysstyrke ++;} hvis (digitalRead (bRIGHT) == LOW) {forsinkelse (debounce); Lysstyrke--;} EEPROM.write (0, Lysstyrke); dmd.setBrightness (Lysstyrke); sprintf (dmdBuff, "%3d", Brightness); dmd.drawString (16, 0, dmdBuff); forsinkelse (50);

hvis (digitalRead (bCLEAR) == 0) {dmd.clearScreen (); forsinkelse (debounce); loop ();}

ellers {gå til setBrightness;}}}

Trin 4: Ansøgning

Ansøgning
Ansøgning

Hvis der opstår en fejl under upload af programmet, har du brug for et eksisterende DMD -bibliotek med yderligere skrifttyper for at understøtte visningen af resultattavlen, download DMD2 -biblioteker. Billedet ovenfor er resultattavlen.

Trin 5: Android -applikation

Android -applikation
Android -applikation
Android -applikation
Android -applikation

SFE Scoreboard android apps kan downloades her. Her er hovedvisningen af SFE Score Board -appen.

Sådan bruges det som følger:

  1. Installer applikationen på din Android -smartphone.
  2. Åbn appen, hvis der er en meddelelse om at aktivere bluetooth, klik på ja.
  3. For at oprette forbindelse til bluetooth -modulet skal du klikke på Bluetooth -ikonet øverst i applikationen, det viser en bluetooth -liste, der har virket sammen med din enhed.
  4. Men hvis navnet på dit bluetooth -modul ikke er tilgængeligt på enheden, skal du først foretage parring ved at gå ind i Bluetooth -indstillingsmenuen på din enhed. Når scanningsprocessen er fuldført og navnet på dit bluetooth -modul vises, skal du foretage parring. Hvis du bliver bedt om at indtaste en adgangskode, skal du indtaste adgangskode 1234 for modulstandarden, hvis den ikke er blevet udskiftet.
  5. Hvis applikationen er tilsluttet, kan du allerede få adgang til resultattavlen ved hjælp af din Android -enhed.

Trin 6: Kontroller videoen for at vide mere

Anbefalede: