Indholdsfortegnelse:

En nøgleforfatter: 4 trin
En nøgleforfatter: 4 trin

Video: En nøgleforfatter: 4 trin

Video: En nøgleforfatter: 4 trin
Video: Нож перочинный складной многофункциональный Victorinox Explorer модель 1.6703 Red - лучший швейцарец 2024, Juni
Anonim
En nøgleforfatter
En nøgleforfatter

Kan du huske Stephen Hawking? Han var professor i Cambridge og berømt matematiker i kørestolen med en computergenereret stemme. Han led af motorneuronsygdom og mod slutningen af sit liv, efter at han havde mistet talen, var han i stand til at kommunikere gennem en talegenererende enhed-i første omgang ved brug af en håndholdt switch og til sidst ved at bruge en enkelt kindmuskel.

Jeg tænkte, at jeg ville prøve at oprette en enkelt switch -tekstskriverenhed. Kun en kontakt - TIL eller FRA. Hvad kan du gøre ved det?

Vi skal overveje tiden. Hvis du lukker en switch og derefter åbner den nogle øjeblikke senere, har du kontrol over en anden variabel. Vi kan gøre brug af tidsforsinkelsen mellem lukning og åbning af kontakten til at generere forskellige input og gøre dem til tekststrenge eller meddelelser. Jeg vil gerne kunne skrive "HEJ, VERDEN!" og send den til Serial Monitor - alt fra en enkelt knap.

Der kører en millisekundstimer i din Arduino. Den klikker med 1 hvert 0,001 sekund. Du kan læse dens værdi med erklæringen

int t = millis ();

// Gør noget

int tt = millis ();

int timeDiff = tt - t;

Forbrugsvarer

Jeg vil bruge varer, som de fleste Arduino -brugere allerede vil have, og som er ret billige at købe:

  • Arduino UNO
  • 16 x 2 LCD
  • 220 Ohm og 10K Ohm modstande
  • 10K Ohm potentiometer
  • Knapkontakt
  • Brødbræt eller stripboard
  • Tilslutning af ledninger

Trin 1: Metoden

Metoden
Metoden

Her har vi et gitter, der indeholder alle bogstaverne, cifrene 0 til 9 og kommer tegnsætningstegn. Bogstavet "A" er i række 1 og kolonne 2. Cifret "9" er i række 7 og kolonne 1. (Du vil måske udskrive denne skærm for at have foran dig, mens du kører scriptet senere.)

Instruktionerne fortæller dig, hvordan du bruger kontakten. Hvis du holder knappen nede, tæller rækkeværdien langsomt op fra nul. Løft fingeren fra knappen, når rækkeværdien er 1.

Hold knappen nede igen, og kolonnetallet begynder at tælle op fra nul. Løft fingeren, når den viser 2, og du har valgt "A" fra række: 1 og kolonne: 2.

Vi skal nu overføre "A" til meddelelsen i nederste række. Hold knappen nede, og løft din finger på handling 1 - tilføj karakteren.

For at indsætte "9" vælger vi række 9 og kolonne 1 og tilføjer den derefter med handling 1.

Handling 2 sletter hele budskabet.

Handling 3 Dumper et forkert valgt tegn uden at tilføje det til meddelelsesstrengen. (Fejlvalg er almindelige!)

Handling 4 sender beskeden fra LCD -skærmen til den serielle skærm.

Trin 2: Tilslut ting

Tilslut tingene
Tilslut tingene

Hvis du har en Liquid Crystal Display -skærm, vil du sandsynligvis bruge den hele tiden. Det er en god idé at bygge et lille tilslutningskort med LCD, potentiometer (til justering af skærmens lysstyrke) og beskyttelsesmodstanden med enkelte ledninger til 5 volt og GND. Sporet skæres på bagsiden af brættet under 220 Ohm modstanden. Jeg tilføjede senere udgangsstik til kortet til 5V og GND, fordi Arduino kun har et enkelt 5V -stik. Dette sparer tid, ledninger og test næste gang du har brug for LCD'en i et andet projekt. Den "officielle metode" er her:

www.arduino.cc/en/Tutorial/HelloWorld

Knappen blev forbundet til pin 8 med en 10K pull-up modstand og til GND.

Trin 3: Her er min opsætning

Her er mit setup
Her er mit setup

På den næste side er et link til en Tinkercad -version, du kan prøve.

Brug musemarkøren og knappen til at lukke og åbne knapkontakten i midten af diagrammet. Du skal åbne kodevinduet og derefter den serielle skærm nederst på siden for at gøre det muligt at sende en besked fra LCD -skærmen til den serielle skærm. Knappen "Start Simulation" starter kodeudførelsen.

Du vil sandsynligvis finde det ret svært i starten. Tænk bare, hvor frustrerende det ville være, hvis dette var din eneste kommunikationsmetode.

Trin 4: Tinkercad -version

Tinkercad version
Tinkercad version

Jeg indlejrede en Tinkercad -version her, men der var for mange buffer- og timingproblemer til at give en god oplevelse. Vinduet var også for lille til, at kredsløbet, koden og det væsentlige serielle monitorvindue kunne vises korrekt.

www.tinkercad.com/things/daSgRAOl0g1-oneke…

Her er linket til Tinkercad -originalen, som sandsynligvis er en smule større og meget lettere at have kodevinduet åbent under simuleringen, så du kan se Serial Monitor. De vigtige timinger fungerer korrekt.

Jeg håber, at du har nydt denne instruktive og lært noget undervejs.

Jeg deltog i denne instruks i Arduino -konkurrencen og ville være taknemmelig for din stemme, hvis du nød den.

Anbefalede: