Indholdsfortegnelse:

Arduino PC: 4 trin
Arduino PC: 4 trin

Video: Arduino PC: 4 trin

Video: Arduino PC: 4 trin
Video: Multiple Servo Motor Control with Joystick and Arduino 2024, Juli
Anonim
Arduino pc
Arduino pc

Selvom en mikrokontroller er en computer på en chip med en integreret processor, hukommelse og I/O -periferiudstyr, stadig for en studerende, føles den næppe anderledes end andre DIP -integrerede kredsløb. Derfor designede vi et projekt "Arduino PC" som en opgave for gymnasieeleverne, der deltager i kurset "Digital Electronics". Det kræver, at de designer og simulerer et elektronisk kredsløb i Tinkercad for at nå de givne projektkrav (diskuteret nedenfor). Målet er at give eleverne mulighed for at se mikrokontrollere som en fuldgyldig computer (dog begrænset i kapacitet), som kan bruges med et brugerdefineret tastatur og en LCD (Liquid Crystal Display). Det giver os også mulighed for at kontrollere deres dygtighed i at bruge de begreber, vi har lært i klassen.

Til dette opgaveprojekt anbefaler vi Tinkercad, så eleverne ikke behøver at holde sig til det digitale elektroniklaboratorium for komponenterne og kan arbejde efter egen bekvemmelighed. Det er også let for instruktører at spore status for hver elevs projekt over Tinkercad, når det er delt af dem.

Projektet kræver, at eleverne:

  1. Design et brugerdefineret tastatur med 15 input -taster (10 taster til ciffer 0-9 og 5 for instruktioner +, -, x, / og =) og maksimalt 4 tilslutning (data) ben (bortset fra de 2 ben, der bruges til at levere strømforsyning) til at sende input til Arduino Uno.
  2. Tilslut en LCD med Arduino Uno.
  3. Skriv en enkel kode til Arduino Uno for at fortolke tasten, der trykkes ned, og vise den på LCD -skærmen.
  4. For at udføre de enkle matematiske operationer (over heltal input) forudsat at alle input og resultater altid er heltal inden for området -32, 768 til 32, 767.

Dette projekt hjælper eleverne med at lære at

  1. Kode forskellige input til binære koder.
  2. Design en binær encoder ved hjælp af digitalt kredsløb (dette er hjertet i tastaturkredsløbsdesign).
  3. Identificer (afkode) de enkelte input fra deres binære kodninger.
  4. Skriv Arduino -koder.

Forbrugsvarer

Projektet kræver:

  1. Adgang til en personlig computer med en stabil internetforbindelse.
  2. En moderne browser, der kan understøtte Tinkercad.
  3. En Tinkercad -konto.

Trin 1: Design af tastaturkredsløbet

Design af tastaturkredsløbet
Design af tastaturkredsløbet

Design af tastaturkredsløbet er en af projektets hovedkomponenter, som kræver, at eleverne koder hver af de 15 nøgleindgange i forskellige 4-bit mønstre. Selvom der er 16 forskellige 4-bit mønstre, kræves der dog udelukkende et 4-bit mønster for at repræsentere standardtilstanden, dvs. når der ikke trykkes på en tast. Derfor tildelte vi i vores implementering 0000 (dvs. 0b0000) til at repræsentere standardtilstanden. Derefter koder vi decimalcifrene 1-9 ved deres faktiske 4-bit binære repræsentation (dvs. 0001, 0010, 0011, 0100, 0101, 0110, 0111, 1000 og 1001) og decimalcifret 0 med 1010 (dvs., 0b1010). De matematiske operationer '+', '-', 'x', '/' og '=' blev kodet som henholdsvis 1011, 1100, 1101, 1110 og 1111.

Efter at have rettet kodningerne, designede vi kredsløbet som vist på figuren, hvor tasterne er blevet repræsenteret af kontakter (trykknapper).

Trin 2: Grænseflade på LCD -skærmen

Grænseflade til LCD
Grænseflade til LCD

For at se output fra Arduino Uno bruges en 16x2 LCD. Kredsløbet til grænseflade mellem LCD og Arduino er ret standard. Faktisk leverer Tinkercad et præbygget Arduino Uno-kredsløb, der er forbundet med en 16x2 LCD. Imidlertid kan man ændre nogle af Arduino Uno -benene, der er forbundet med LCD'en for bedre at kunne rumme andre eksterne enheder som det brugerdefinerede tastatur, som vi udviklede. I vores implementering brugte vi kredsløbet vist i figuren.

Trin 3: Skrivningskode til Arduino Uno

For at fortolke input fra tastaturet og vise resultatet på LCD, skal vi indlæse instruktionerne i Arduino Uno. At skrive kode til Arduino er helt op til ens egen kreativitet. Husk, at Atmega328p i Arduino Uno er en 8-bit mikrokontroller. Så man er nødt til at improvisere for at få det til at registrere overløb og arbejde for store antal. Vi vil dog bare kontrollere, at Arduino Uno kan afkode input og differentiere mellem tal (0-9) og matematiske instruktioner. Derfor begrænser vi vores input til små heltal (-32, 768 til 32, 767) og sikrer samtidig, at output også falder i samme område. Ydermere kan man arbejde rundt for at kontrollere andre problemer som knapfrakobling.

En simpel kode, som vi brugte i vores implementering af projektet, er vedhæftet. Dette kan kopieres og indsættes i kodeeditoren i Tinkercad.

Trin 4: Sæt alt sammen

Sætter alt sammen
Sætter alt sammen

Til sidst har vi tilsluttet strømforsyningstappene på tastaturet til Arduinoens og tilsluttet datastifterne (som bærer 4-bit data) til de digitale ben 10, 11, 12 og 13 (i rækkefølge som nævnt i Arduino -kode). Vi tilsluttede også en LED (via en 330-ohm modstand) til hver af datastifterne for at se den binære kodning af hver tast på tastaturet. Endelig trykker vi på knappen "Start Simulation" for at teste systemet.

Anbefalede: