Innholdsfortegnelse:

En nøkkelforfatter: 4 trinn
En nøkkelforfatter: 4 trinn

Video: En nøkkelforfatter: 4 trinn

Video: En nøkkelforfatter: 4 trinn
Video: Скауты 24 ЧАСА В МОРОЗИЛЬНОЙ ТЮРЬМЕ МОРОЖЕНЩИКА Рода! Кто выберется первым?! 2024, Juni
Anonim
En nøkkelforfatter
En nøkkelforfatter

Husker du Stephen Hawking? Han var professor i Cambridge og berømt matematiker i rullestolen med en datagenerert stemme. Han led av motorneuronsykdom og mot slutten av livet, etter at han mistet talen, var han i stand til å kommunisere gjennom en talegenererende enhet-først ved bruk av en håndholdt bryter, og til slutt ved å bruke en enkelt kinnmuskel.

Jeg trodde jeg skulle prøve å lage en tekstbryter med én bryter. Bare en bryter - PÅ eller AV. Hva kan du gjøre med det?

Vi må vurdere tiden. Hvis du lukker en bryter og deretter åpner den noen øyeblikk senere, har du kontroll over en annen variabel. Vi kan bruke tidsforsinkelsen mellom lukking og åpning av bryteren for å generere forskjellige innganger og gjøre dem til tekststrenger eller meldinger. Jeg vil kunne skrive "HELLO, WORLD!" og send den til Serial Monitor - alt fra en enkelt knapp.

Det er en millisekund timer som kjører i Arduino. Den klikker med 1 hvert 0,001 sekund. Du kan lese verdien med uttalelsen

int t = millis ();

// Gjør noe

int tt = millis ();

int timeDiff = tt - t;

Rekvisita

Jeg kommer til å bruke varer som de fleste Arduino -brukere allerede vil ha og er ganske billige å kjøpe:

  • Arduino UNO
  • 16 x 2 LCD
  • 220 Ohm og 10K Ohm motstander
  • 10K Ohm potensiometer
  • Knappbryter
  • Brødbrett eller stripebrett
  • Tilkobling av ledninger

Trinn 1: Metoden

Metoden
Metoden

Her har vi et rutenett som inneholder alle bokstavene, sifrene 0 til 9 og kommer med skilletegn. Bokstaven "A" er i rad 1 og kolonne 2. Sifferet "9" er i rad 7 og kolonne 1. (Du vil kanskje skrive ut denne skjermen for å ha foran deg mens du kjører skriptet senere.)

Instruksjonene forteller deg hvordan du bruker bryteren. Hvis du holder knappen nede, teller radverdien sakte fra null. Løft fingeren fra knappen når radverdien er 1.

Hold knappen inne igjen, og kolonnetallet begynner å telle opp fra null. Løft fingeren når den viser 2, og du har valgt "A" fra rad: 1 og kolonne: 2.

Vi må nå overføre "A" til meldingen på nederste rad. Hold nede knappen og løft fingeren på handling 1 - legg til karakteren.

For å sette inn "9" velger vi rad 9 og kolonne 1 og legger den til med handling 1.

Handling 2 fjerner hele meldingen.

Handling 3 Dumper et feil valgt tegn uten å legge det til meldingsstrengen. (Feilvalg er vanlige!)

Handling 4 sender meldingen fra LCD -skjermen til Serial Monitor.

Trinn 2: Koble ting opp

Koble ting opp
Koble ting opp

Hvis du har en Liquid Crystal Display -skjerm, vil du sannsynligvis bruke den hele tiden. Det er en god idé å bygge et lite tilkoblingskort som inneholder LCD -skjermen, potensiometer (for justering av skjermens lysstyrke) og beskyttelsesmotstanden med enkeltledninger for 5 volt og GND. Sporet er kuttet på baksiden av brettet, under 220 Ohm motstand. Jeg la senere til utgangsstikkontakter til brettet for 5V og GND fordi Arduino bare har en enkelt 5V -kontakt. Dette sparer tid, ledninger og testing neste gang du trenger LCD -skjermen i et annet prosjekt. Den "offisielle metoden" er her:

www.arduino.cc/en/Tutorial/HelloWorld

Knappen var koblet til pinne 8 med en 10K opptrekkmotstand og til GND.

Trinn 3: Her er oppsettet mitt

Her er oppsettet mitt
Her er oppsettet mitt

På neste side er en lenke til Tinkercad -versjonen du kan prøve.

Bruk musepekeren og knappen for å lukke og åpne knappbryteren i midten av diagrammet. Du må åpne kodevinduet og deretter den serielle skjermen nederst på siden for å kunne sende en melding fra LCD -skjermen til den serielle skjermen. "Start simulering" -knappen starter kjøring av kode.

Du vil sannsynligvis synes det er ganske vanskelig i begynnelsen. Tenk bare hvor frustrerende det ville være hvis dette var din eneste kommunikasjonsmetode.

Trinn 4: Tinkercad -versjon

Tinkercad -versjon
Tinkercad -versjon

Jeg innebygde en Tinkercad -versjon her, men det var for mange buffer- og timingproblemer for å gi en god opplevelse. Vinduet var også for lite til at kretsen, koden og det essensielle serielle monitorvinduet kunne vises riktig.

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

Her er lenken til Tinkercad -originalen som sannsynligvis er en god del større og mye lettere å ha kodevinduet åpent under simuleringen, slik at du kan se Serial Monitor. De viktigste timene fungerer som de skal.

Jeg håper du har hatt glede av denne instruksen og lært noe underveis.

Jeg deltok i denne instruksen i Arduino -konkurransen og ville være takknemlig for stemmen din hvis du likte den.

Anbefalt: