Innholdsfortegnelse:

8x8 matriseskjerm med BT: 5 trinn (med bilder)
8x8 matriseskjerm med BT: 5 trinn (med bilder)

Video: 8x8 matriseskjerm med BT: 5 trinn (med bilder)

Video: 8x8 matriseskjerm med BT: 5 trinn (med bilder)
Video: Need a seamless HDMI Matrix Switcher? 8x8 HDMI Seamless Matrix #SeamlessHDMIMatrix #8x8hdmimatrix 2024, Juli
Anonim

Jeg kjøpte en 4 -panel 8x8 matrise fra Ebay (Kina) for noen måneder siden.

Jeg ble litt skuffet da jeg skjønte at det var hardt koblet side til side, ikke topp til bunn som de fleste eksemplene på nettet er skrevet for! Se trinn 2.

Jeg antar at jeg kunne ha endret koden (ikke sikker på hvordan), men min vanlige latskap ba meg se etter noe som allerede var skrevet. Jeg kom over et eksempel og holdt meg til det!

Jeg spilte med faste meldinger, men da bestemte jeg meg for å prøve å programmere meldingen via Bluetooth.

Da ville jeg lagre og hente meldinger!

Det var mye prøving og feiling, men etter noen timer med koding fikk jeg det til å fungere.

Jeg prøver fremdeles å finne en praktisk bruk for det !!:-)

Trinn 1: Displayet

Skjermen
Skjermen
Skjermen
Skjermen

Som tidligere nevnt er skjermen koblet til venstre mot høyre, i stedet for topp til bunn.

Jeg er sikker på at annen kode kunne blitt endret for å kompensere for dette!

Jeg husker ikke hvor jeg lastet ned arbeidskoden fra, men et søk etter "cosmicvoid matrix or LedControlMS.h" kan hjelpe. LedControlMS.h lib er påkrevd for dette prosjektet.

Den eneste delen av denne koden jeg endret var antall skjermer som det ser ut til at den var satt til 5, jeg har nettopp endret den til 4.

Jeg har bestilt en annen x4 -skjerm, så jeg kan se hvordan den fungerer med 8 matriser i stedet for 4!

Trinn 2: Bluetooth -bit

Bluetooth -bit
Bluetooth -bit

Hver gang jeg spiller med en Bluetooth -enhet, refererer jeg alltid til denne utmerkede instruerbare!

www.instructables.com/id/Modify-The-HC-05-B…

Denne instruksen vil fortelle deg alt du trenger å vite om hvordan du konfigurerer og kobler HC-05 til en mobiltelefon eller et nettbrett.

Jeg paret med en Samsung Galaxy 6 Edge og en Tab A uten problem.

Jeg endret kommunikasjonshastigheten til 57600.

Trinn 3: BT -kommunikasjon og programmet

BT -kommunikasjon og programmet
BT -kommunikasjon og programmet

For å kommunisere med HC -05 lastet jeg ned en gratis app fra Play Store, det er flere tilgjengelige - den jeg valgte heter Bluetooth Terminal HC -05 - det er en utmerket app!

Når du har koblet HC-05 til en telefon eller et nettbrett Følgende skjer.

Når arduino er tilbakestilt, leser programmet alle meldingene som er lagret i EEPROM og viser dem på telefonen / nettbrettet - se bildet.

Informasjonen som vises er Mem Location (0-9), lengden på meldingen og selve meldingen på hvert sted.

Jeg ordnet koden for å lagre opptil 90 tegnmeldinger på adresse 5 for Msg 0, 105 for Msg 1 …….905 for Msg 9.

Adresse 0, 100…. 900 inneholder meldingslengden.

Den siste lagrede / hentede meldingen vises.

Å sende noe til Arduino via BT erstatter den nåværende meldingen.

For å lagre den viste meldingen (bruk "~" tilde), send ~ 0 for å lagre på posisjon 0, ~ 5 for å lagre på posisjon 5 etc.

For å hente og vise en lagret melding, bruk " ^" (karat), f.eks. ^3 vil laste inn og vise meldingen på Mem -sted 3.

Når en melding lagres eller hentes, lagres gjeldende minneplassering på EEPROM -adressen 1023 - denne brukes ved oppstart for å vise den siste meldingen som ble vist.

Trinn 4: Koden og kraften

Som vanlig er koden min ryddig som tenåringsrom, men jeg har mange kommentarer der inne!

Det kan være noen overflødig kode, da det var litt prøving og feiling.

Skjermrutinen viser det som er i array -melding . Skriften er ikke fullført, så visning av noen tegn vil føre til uforutsigbare resultater!

Hvis noen der ute kan fortelle meg hvordan jeg endrer $ -tegnet for £ -tegnet eller enda bedre kan legge det til, ville jeg være ekstremt takknemlig

Det kan være nødvendig å kode en melding på plass 0 bare for å gi et utgangspunkt, dette kan overskrives når programmet er i gang!

f.eks

EEPROM.write (0, '5'); // lengden på meldingen lagret på plassering 0

EEPROM.write (5, 'L'); // msg lagret på posisjon 05EEPROM.write (6, 'o');

EEPROM.write (7, 'c');

EEPROM.write (8, '');

EEPROM.write (9, '0');

Uten meldinger lagret, ved oppstart, vil skjermen være uforutsigbar, og telefonen / nettbrettet vil vise merkelig, men konsistent informasjon fordi, som med de fleste EEPROM -er, standarddata på alle steder er FF Hex (225 desimaler).

Denne prototypen ble bygget ved hjelp av en Arduino Uno, men jeg vil bruke en pro mini for det ferdige prosjektet.

Jeg har tenkt å bruke 3 x 1,5 V batterier, så for å spare strøm vil jeg slå av HC-05 etter å ha valgt en melding. Bare å koble fra/koble til strømmen er ikke bra nok, da det vil sende feil informasjon til displayet.

Det virker nødvendig å isolere TR & RX -pinnene før du kobler til / fra strømmen!

Trinn 5: Oppdater 2020 - 2 X 4 (8x8) matriseskjermer

Etter en bedre forståelse av MAX7219, har jeg klart å koble to skjermer sammen!

det var bare et par linjer med kode som måtte endres - se vedlagte ino.

Anbefalt: