Talaan ng mga Nilalaman:

Arduino PC: 4 na Hakbang
Arduino PC: 4 na Hakbang

Video: Arduino PC: 4 na Hakbang

Video: Arduino PC: 4 na Hakbang
Video: Как сделать 4-канальное реле Wi-Fi ESP8266 ESP01 | ESP01 Домашняя автоматизация | УдаленныйXY 2024, Hulyo
Anonim
Arduino PC
Arduino PC

Kahit na ang isang microcontroller ay isang computer sa isang chip na may isang integrated processor, memorya at I / O peripherals, sa isang mag-aaral pa rin, nararamdamang hindi ito naiiba mula sa ibang mga DIP integrated circuit. Samakatuwid, dinisenyo namin ang isang proyekto na "Arduino PC" bilang isang takdang-aralin para sa mga mag-aaral sa high school na dumalo sa kursong "Digital Electronics". Kinakailangan ang mga ito na magdisenyo at gayahin ang isang electronic circuit sa Tinkercad upang makamit ang ibinigay na mga kinakailangan sa proyekto (tinalakay sa ibaba). Ang layunin ay upang paganahin ang mga mag-aaral na makita ang mga microcontroller bilang isang ganap na computer (kahit na pinaghigpitan sa kakayahan) na maaaring magamit sa isang pasadyang keyboard at isang LCD (Liquid Crystal Display). Pinapayagan din kaming suriin ang kanilang kahusayan sa paggamit ng mga konseptong natutunan sa klase.

Para sa proyekto sa pagtatalaga na ito, inirerekumenda namin ang Tinkercad upang ang mga mag-aaral ay hindi kailangang manatili sa paligid ng digital electronics lab para sa mga sangkap, at maaaring gumana sa kanilang sariling kaginhawaan. Gayundin, madali para sa mga nagtuturo na subaybayan ang katayuan ng proyekto ng bawat mag-aaral sa Tinkercad sa sandaling ito ay naibahagi nila.

Inaatasan ng proyekto ang mga mag-aaral na:

  1. Magdisenyo ng isang pasadyang keyboard na may 15 mga input key (10 mga key para sa digit 0-9 at 5 para sa mga tagubilin +, -, x, / at =) at maximum na 4 na kumokonekta (data) na mga pin (bukod sa 2 pin na ginamit para sa pagbibigay ng suplay ng kuryente) para sa pagpapadala ng input sa Arduino Uno.
  2. Mag-interface ng isang LCD sa Arduino Uno.
  3. Sumulat ng simpleng code para sa Arduino Uno upang bigyang kahulugan ang key na pinindot at ipakita ito sa LCD.
  4. Upang maisagawa ang simpleng pagpapatakbo ng matematika (higit sa mga integer input) na ipinapalagay ang lahat ng mga input at resulta ay palaging integer sa loob ng saklaw na -32, 768 hanggang 32, 767.

Ang proyektong ito ay tumutulong sa mga mag-aaral sa pag-aaral na

  1. I-encode ang iba't ibang mga pag-input sa mga binary code.
  2. Magdisenyo ng isang binary encoder gamit ang digital circuit (ito ang puso ng disenyo ng circuit circuit).
  3. Kilalanin (i-decode) ang mga indibidwal na input mula sa kanilang mga binary encode.
  4. Sumulat ng mga code ng Arduino.

Mga gamit

Nangangailangan ang proyekto ng:

  1. Pag-access sa isang personal na computer na may isang matatag na koneksyon sa internet.
  2. Isang modernong browser na maaaring suportahan ang Tinkercad.
  3. Isang account sa Tinkercad.

Hakbang 1: Pagdidisenyo ng Circuit ng Keyboard

Pagdidisenyo ng Circuit ng Keyboard
Pagdidisenyo ng Circuit ng Keyboard

Ang pagdidisenyo ng keyboard circuit ay isa sa mga pangunahing bahagi ng proyekto, na hinihiling sa mga mag-aaral na i-encode ang bawat isa sa 15 key input sa magkakaibang mga 4-bit pattern. Bagaman mayroong 16 magkakaibang mga pattern na 4-bit, gayunpaman, ang isang 4-bit na pattern ay eksklusibong kinakailangan upang kumatawan sa default na estado ibig sabihin, kapag walang pinindot na susi. Samakatuwid sa aming pagpapatupad, nagtalaga kami ng 0000 (ibig sabihin, 0b0000) na kumatawan sa default na estado. Pagkatapos, na-encode namin ang decimal digit na 1-9 sa pamamagitan ng kanilang aktwal na 4-bit na binary na representasyon (ibig sabihin, 0001, 0010, 0011, 0100, 0101, 0110, 0111, 1000 at 1001 ayon sa pagkakabanggit), at ang decimal digit na 0 ng 1010 (ie, 0b1010). Ang pagpapatakbo ng matematika na '+', '-', 'x', '/' at '=' ay na-encode bilang 1011, 1100, 1101, 1110 at 1111 ayon sa pagkakabanggit.

Naayos ang mga pag-encode, dinisenyo namin ang circuit tulad ng ipinakita sa figure, kung saan ang mga key ay kinatawan ng mga switch (pindutan ng push).

Hakbang 2: Ang pagitan ng LCD

Ang pagitan ng LCD
Ang pagitan ng LCD

Upang matingnan ang output ng Arduino Uno, isang 16x2 LCD ang ginagamit. Ang circuitry para sa interfacing ng LCD sa Arduino ay medyo pamantayan. Sa katunayan, nagbibigay ang Tinkercad ng paunang built na Arduino Uno circuit na nakipag-interfaced sa isang 16x2 LCD. Gayunpaman, maaaring baguhin ng isa ang ilan sa mga pin ng Arduino Uno na nag-interfaced sa LCD upang mas mahusay na mapaunlakan ang iba pang mga peripheral tulad ng pasadyang keyboard na binuo namin. Sa aming pagpapatupad, ginamit namin ang circuit na ipinakita sa pigura.

Hakbang 3: Pagsulat ng Code para sa Arduino Uno

Upang bigyang kahulugan ang input na nagmumula sa keyboard, at upang maipakita ang resulta sa LCD, kailangan naming i-load ang mga tagubilin sa Arduino Uno. Ang pagsulat ng code para sa Arduino ay hanggang sa sariling pagkamalikhain. Tandaan na ang Atmega328p sa Arduino Uno ay isang 8-bit microcontroller. Kaya kailangang mag-improvise ang isa upang makita itong maka-overflow at magtrabaho para sa malalaking numero. Gayunpaman, nais lamang naming i-verify na ang Arduino Uno ay maaaring mag-decode ng input at makilala ang pagitan ng mga numero (0-9) at mga tagubilin sa matematika. Samakatuwid, pinaghihigpitan namin ang aming mga input sa maliliit na integer (-32, 768 hanggang 32, 767) habang tinitiyak na ang output ay bumagsak din sa parehong saklaw. Dagdag dito, maaaring gumana ang isa upang suriin ang iba pang mga isyu tulad ng pag-debit ng pindutan.

Ang isang simpleng code na ginamit namin sa aming pagpapatupad ng proyekto ay nakakabit. Maaari itong makopya at mai-paste sa code editor sa Tinkercad.

Hakbang 4: Pagsasama-sama sa Lahat

Pinagsasama ang Lahat
Pinagsasama ang Lahat

Sa huli, nag-interfaced kami ng mga power supply pin ng keyboard sa Arduino at ikinonekta ang mga data pin (na nagdadala ng 4-bit data) sa mga digital na pin na 10, 11, 12 at 13 (sa pagkakasunud-sunod na nabanggit sa Arduino code). Ikinonekta din namin ang isang LED (sa pamamagitan ng isang resistor na 330-ohm) sa bawat isa sa mga pin ng data upang matingnan ang binary encoding ng bawat key sa keyboard. Sa wakas, na-hit namin ang pindutang "Start Simulation" upang subukan ang system.

Inirerekumendang: