Level 5

"Et komplet tastatur"

Formål: Vi tilslutter et komplet tastatur med cifre fra 0-9, samt *,#,A,B,C,D

Du skal bruge:

  • 1 x Micro:bit
  • 1 x Breakoutboard
  • 1 x OLED-display
  • 1 x Breadboard
  • 4 x 1000k ohm modstande
  • 3 x 220 ohm modstande
  • 1 x 10k ohm modstand
  • jumper
  • 1 x keypad (4x4)
  • 3 x dupont stik han-hun
  • 8 x dupont stik han-han


Tilslut micro:bit + breakoutboard + OLED-display

Tag dit breadboard og placer modstandene og jumperen som vist på billedet

Forbind dit keypad med breadboard ved at bruge de 8 han-han dupont stik.

Forbind Breadboard og breakoutboard med de 3 han-hun dupont stik til PIN1.

Kalibrering

Nu er keypad klar til at blive kalibreret.

Lav et skema på papir til at notere dine værdier på.

Når man trykker ned på en af tasterne, løber strømmen igennem en del af modstandene. Vejen er forskellig for hver tast på keypad. Dette gør at der kommer forskellig strøm til breakoutboardets PIN1, som kan ses som et tal mellem 0 og 1023.

Når vi trykker på en tast får vi altså en bestemt værdi. Den skal skrives ned for hver tast. Du kan ikke nødvendigvis bruge mine tal direkte - de vil nok være tæt på, men du bliver nød til at tage udgangspunkt i dit eget byggeri. På billedet kan du se at der er tilsluttet flere komponenter. Det er en Buzzer og to LED, som vi tilføjede i level 2 og 3. Dem skal du selv tilføje til koden, hvis du vil have dem med, men der er hjælp at hente fra level 2 og 3.

I mit tilfælde var der en enkelt tast (6), som svingede lidt imellem 819 og 820. Dette kan vi tage højde for i programmering. I min egen afprøvning var der flere taster der ikke reagerede hver gang. Løsningen er at gøre det samme som ved tast (6) som også ligger og svinger lidt.

Herunder finder du det lille program jeg bruger til at kalibrere med. Holder du tasten nede læser den 1 gang hver 100ms - hvorved du kan se om den skulle stå og svinge lidt i værdien, som ved tast (6) i vores eksempel.

Tastaturet

Når du har alle tasternes PIN1 værdier, kan du begynde at sætte dem ind i koden.

Men først skal der laves en ny variabel. Jeg har kaldt min A1 (analog 1) - det betyder ikke noget hvad navnet er. Det vi skal bruge den til er at læse hvilken tast der bliver trykket på.

Hvis du ikke har lavet en variabel før kan du på billedet se hvor den ligger i menuen

Du skal trykke på "Opret en variabel..."

Skriv et navn - det du vil kalde variablen

Jeg har kaldt min A1 - den ligger allerede øverst i min række af variabler

Sammenlign de næste to billeder. Før og efter

Læg mærke til det, der er inden i "hvis" blokken. Udover at "afspil tone" er fjernet er de ellers ens. Lad bare din tone blive hvis den er der i forvejen. Det er ret lækkert med lyd på tastaturet.

Læg mærke til at "926" svarer til "1" på mit nedskrevne kalibreringsark.

Når værdien på A1 bliver 926, fordi jeg har trykket på tasten 1, så huskes det som et tastetryk akkurat som ved vores ADKeyboard tidligere.

Bemærk at "Sæt A1 til analog læs pin (P1)" står øverst og UDENFOR "hvis" blokken.

"Sæt A1 til analog læs pin (P1)" er placeret der af hensyn til at kunne se det hele på een gang i denne vejledning. Normalt ville man placere den i "ved start" blokken. Men det gør det samme.

Før


Efter

Tasten "6"

Den ene tast (6) stod og svingede lidt mellem 819 og 820. Andre taster viste sig ved afprøvning ligeledes at have brug et interval for at den blev læst ordentligt af programmet.

Ved at lave et interval (se gul sekskant)

vil alt imellem 819 og 820 blive registreret som tasten "6".

Under "Logik" finder disse blokke.

"Mindre end" tegnet kan klikkes på og ændres til "Mindre end eller lig med"


Afprøvning

Test nu om alle taster dukker op på OLED-displayet.

Hvis en tast ikke registreres, så lav et interval ligesom ved tast "6"

Færdig

Tillykke! Nu har du et komplet tastatur. Det er en god ide lige at bruge tid på at få lyd på tasterne (se level 2). Der er også mulighed for at tilføje en større skærm (LCD).