Difference between revisions of "Böpdisplayen"
| Line 1: | Line 1: | ||
En sida om den omtalade böpdisplayen! | En sida om den omtalade böpdisplayen! | ||
[[File:display.jpg|thumb|400px|Böpdisplayen]] | |||
== Uppbyggnad/Displaygränssnitt == | == Uppbyggnad/Displaygränssnitt == | ||
Displayen är uppbyggd av ett flertal seriekopplade [[wikipedia:Skiftregister|skiftregister]] där varje databit bestämmer om ett segment i en siffra skall vara tänt (1) eller släckt (0). Eftersom varje siffra endast består av 7 segment och varje skiftregister har 8 utgångar krävs det att man efter att ha skiftat ut varje siffras på/av-segment (totalt 7 bitar) även skiftar ut en "dummybit" för att alla bitar ska stämma överens med respektive segment. | |||
Skiftregisterna är av typen MC74HC4094A ([https://www.onsemi.com/pub/Collateral/MC74HC4094A-D.PDF|datablad]) | |||
== | == Inbyggd Styrenhet == | ||
Displayen har en egen inbyggd styrenhet som sköter uppdatering av innehållet. Den är byggd med en Arduino Nano. | Displayen har en egen inbyggd styrenhet som sköter uppdatering av innehållet. Den är byggd med en Arduino Nano. | ||
| Line 33: | Line 37: | ||
=== Hårdvara === | === Hårdvara === | ||
[[File:backside_controller.jpg| | [[File:backside_controller.jpg|thumb|400px| Pinout för styrenheten]] | ||
På bilden till höger syns hur kontakterna på styrkortet är kopplade. Uppe till vänster kommer +12V och omvandlas till +5V för displayen och styrenheten. Displayen ansluts och styrs med kontakten uppe till höger. Kontakten längst ner till höger är till för kommunikation och bryter ut GND (jord), +5V, RX och TX från Arduino Nano:n. De seriella kommandona skickas till RX-pinnen (recieve). Observera att styrenheten och apparaten som skickar kommandon måste sammankopplas via jord för att kommunikationen ska fungera. På bilden syns hur den monterade BNC-kontakten är inkopplad. | På bilden till höger syns hur kontakterna på styrkortet är kopplade. Uppe till vänster kommer +12V och omvandlas till +5V för displayen och styrenheten. Displayen ansluts och styrs med kontakten uppe till höger. Kontakten längst ner till höger är till för kommunikation och bryter ut GND (jord), +5V, RX och TX från Arduino Nano:n. De seriella kommandona skickas till RX-pinnen (recieve). Observera att styrenheten och apparaten som skickar kommandon måste sammankopplas via jord för att kommunikationen ska fungera. På bilden syns hur den monterade BNC-kontakten är inkopplad. | ||
<div style="clear: both"></div> | <div style="clear: both"></div> | ||
=== Mjukvara === | === Mjukvara === | ||
Mjukvaran, i form av en Arduinosketch, ges nedan. | Mjukvaran, i form av en Arduinosketch, ges nedan. | ||
Revision as of 21:18, 4 April 2018
En sida om den omtalade böpdisplayen!
Uppbyggnad/Displaygränssnitt
Displayen är uppbyggd av ett flertal seriekopplade skiftregister där varje databit bestämmer om ett segment i en siffra skall vara tänt (1) eller släckt (0). Eftersom varje siffra endast består av 7 segment och varje skiftregister har 8 utgångar krävs det att man efter att ha skiftat ut varje siffras på/av-segment (totalt 7 bitar) även skiftar ut en "dummybit" för att alla bitar ska stämma överens med respektive segment.
Skiftregisterna är av typen MC74HC4094A ([1])
Inbyggd Styrenhet
Displayen har en egen inbyggd styrenhet som sköter uppdatering av innehållet. Den är byggd med en Arduino Nano.
Kommunikation
Kommunikation med den inbyggda styrenheten sker via en enkelriktad (simplex) seriell länk med följande specifikationer:
- Hastighet: 115200 baud
- Databitar: 8 st
- Paritetetsbitar: Inga (None)
- Stopbitar: 1 st
Detta motsvarar upplägget 8N1 och är standard i Arduinobiblioteket. Den seriella länken finns tillgänglig via en BNC-kontakt på styrenheten (yttre = jord, inre = signal).
OBS! Eftersom Arduino Nano:n kör med spänningen 5 Volt är det viktigt att inte skicka in mer än det via serielänken!
Kommandon
Styrenheten accepterar flera kommandon via den seriella länken. Gemensamt är att de alla består av ett kommandotecken följt av en eller flera datatecken (x). Accepterade datatecken är siffrorna 0-9, alla andra tecken behandlas som blanksteg och ger en tom siffra.
- Sxxxxxxxx – uppdaterar hela displayen med nya siffror xxxxxxxx.
- R – uppdaterar endast displayen med det innehåll som redan finns.
- I – skriver ett heltal (integer) till displayen. Heltalets siffror följer I i kommandosekvensen. För att styrenheten skall veta när alla siffror tagits emot krävs det att det sista tecknet ej är en siffra.
- [A-H]x – uppdaterar motsvarande displaysiffra [A-H, se bild] med innehållet som direkt följer bokstaven.
Hårdvara
På bilden till höger syns hur kontakterna på styrkortet är kopplade. Uppe till vänster kommer +12V och omvandlas till +5V för displayen och styrenheten. Displayen ansluts och styrs med kontakten uppe till höger. Kontakten längst ner till höger är till för kommunikation och bryter ut GND (jord), +5V, RX och TX från Arduino Nano:n. De seriella kommandona skickas till RX-pinnen (recieve). Observera att styrenheten och apparaten som skickar kommandon måste sammankopplas via jord för att kommunikationen ska fungera. På bilden syns hur den monterade BNC-kontakten är inkopplad.
Mjukvara
Mjukvaran, i form av en Arduinosketch, ges nedan.
<syntaxhighlight lang="c" line='line'> KOD KOMMER SNART! </syntaxhighlight>