Innehållsförteckning:

Arduino PC: 4 steg
Arduino PC: 4 steg

Video: Arduino PC: 4 steg

Video: Arduino PC: 4 steg
Video: #4 Как запрограммировать ПЛК Outseal Arduino — защелка и переворот 2024, Juli
Anonim
Arduino PC
Arduino PC

Även om en mikrokontroller är en dator på ett chip med en integrerad processor, minne och I/O -kringutrustning, fortfarande för en student, känns det knappast annorlunda än andra integrerade DIP -kretsar. Därför utformade vi ett projekt "Arduino PC" som ett uppdrag för de gymnasieelever som går kursen "Digital elektronik". Det kräver att de designar och simulerar en elektronisk krets i Tinkercad för att uppnå de givna projektkraven (diskuteras nedan). Målet är att göra det möjligt för eleverna att se mikrokontroller som en fullvärdig dator (men begränsad i kapacitet) som kan användas med ett anpassat tangentbord och en LCD (Liquid Crystal Display). Det låter oss också kontrollera deras förmåga att använda de begrepp som lärt sig i klassen.

För detta uppdragsprojekt rekommenderar vi Tinkercad så att eleverna inte behöver hålla sig kvar i det digitala elektroniklaboratoriet för komponenterna och kan arbeta på egen hand. Det är också lätt för instruktörer att spåra statusen för varje elevs projekt via Tinkercad när det delas av dem.

Projektet kräver att eleverna:

  1. Designa ett anpassat tangentbord med 15 inmatningstangenter (10 tangenter för siffra 0-9 och 5 för instruktioner +, -, x, / och =) och maximalt 4 anslutnings (data) stift (bortsett från de 2 stiften som används för strömförsörjning) för att skicka ingång till Arduino Uno.
  2. Gränssnitt en LCD med Arduino Uno.
  3. Skriv en enkel kod för Arduino Uno för att tolka tangenten som trycks in och visa den på LCD -skärmen.
  4. För att utföra de enkla matematiska operationerna (över heltalsinmatningar) förutsatt att alla ingångar och resultat alltid är heltal inom intervallet -32, 768 till 32, 767.

Detta projekt hjälper eleverna att lära sig

  1. Koda olika ingångar till binära koder.
  2. Designa en binär kodare med digital krets (detta är hjärtat i tangentbordskretsdesign).
  3. Identifiera (avkoda) de enskilda ingångarna från deras binära kodningar.
  4. Skriv Arduino -koder.

Tillbehör

Projektet kräver:

  1. Tillgång till en persondator med en stabil internetuppkoppling.
  2. En modern webbläsare som kan stödja Tinkercad.
  3. Ett Tinkercad -konto.

Steg 1: Designa tangentbordskretsen

Designa tangentbordskretsen
Designa tangentbordskretsen

Att utforma tangentbordskretsen är en av projektets huvudkomponenter, vilket kräver att eleverna kodar var och en av de 15 tangentinsignalerna i olika 4-bitars mönster. Även om det finns 16 distinkta 4-bitarsmönster, krävs dock endast ett 4-bitarsmönster för att representera standardtillståndet, dvs. när ingen tangent trycks in. Därför tilldelade vi i vår implementering 0000 (dvs. 0b0000) för att representera standardläget. Sedan kodade vi decimalsiffrorna 1-9 med deras faktiska 4-bitars binära representation (dvs 0001, 0010, 0011, 0100, 0101, 0110, 0111, 1000 och 1001 respektive) och decimalsiffran 0 med 1010 (dvs., 0b1010). De matematiska operationerna '+', '-', 'x', '/' och '=' kodades som 1011, 1100, 1101, 1110 respektive 1111.

Efter att ha fixat kodningarna utformade vi kretsen som visas i figuren, där tangenterna har representerats av omkopplare (tryckknappar).

Steg 2: Gränssnitt på LCD -skärmen

Gränssnitt på LCD -skärmen
Gränssnitt på LCD -skärmen

För att se utgången från Arduino Uno används en 16x2 LCD. Kretsarna för gränssnitt mellan LCD och Arduino är ganska standard. Faktum är att Tinkercad tillhandahåller en färdigbyggd Arduino Uno-krets som har en 16x2 LCD-skärm. Dock kan man ändra några av Arduino Uno -stiften som är anslutna till LCD -skärmen för att bättre rymma andra kringutrustning som det anpassade tangentbordet som vi utvecklat. I vår implementering använde vi kretsen som visas i figuren.

Steg 3: Skriva kod för Arduino Uno

För att tolka ingången från tangentbordet och för att visa resultatet på LCD måste vi ladda instruktionerna till Arduino Uno. Att skriva kod för Arduino är helt upp till ens egen kreativitet. Kom ihåg att Atmega328p i Arduino Uno är en 8-bitars mikrokontroller. Så man måste improvisera för att få det att upptäcka överflöd och fungera för stora antal. Men vi vill bara verifiera att Arduino Uno kan avkoda ingången och skilja mellan siffror (0-9) och matematiska instruktioner. Därför begränsar vi våra inmatningar till små heltal (-32, 768 till 32, 767) samtidigt som vi säkerställer att utsignalen också faller inom samma intervall. Vidare kan man arbeta runt för att kontrollera andra problem som knappavstängning.

En enkel kod som vi använde vid vår implementering av projektet bifogas. Detta kan kopieras och klistras in i kodredigeraren i Tinkercad.

Steg 4: Att sätta ihop allt

Att sätta ihop allt
Att sätta ihop allt

Till slut kopplade vi strömförsörjningstapparna på tangentbordet till Arduino och kopplade datastiften (som bär 4-bitars data) till de digitala stiften 10, 11, 12 och 13 (i den ordning som nämns i Arduino -kod). Vi anslöt också en lysdiod (via ett 330-ohm motstånd) till var och en av datastiften för att se den binära kodningen för varje tangent på tangentbordet. Slutligen trycker vi på "Start Simulation" -knappen för att testa systemet.

Rekommenderad: