- Mga Materyal na Kinakailangan:
- Diagram ng Circuit:
- Programa ng Calculator ng Arduino:
- Simulation ng Arduino Calculator:
- Paggawa ng Arduino Calculator:
Ang programa ay palaging masaya at ang Arduino ay isang kahanga-hangang platform kung nagsisimula ka lang sa naka-embed na programa. Sa tutorial na ito magtatayo kami ng aming sariling calculator kasama ang Arduino. Ang mga halaga ay maaaring maipadala sa pamamagitan ng isang keypad (4 × 4 keypad) at ang resulta ay maaaring makita sa isang LCD screen (16 × 2 Dot-matrix). Ang calculator na ito ay maaaring magsagawa ng mga simpleng pagpapatakbo tulad ng Addition, Pagbabawas, Pagpaparami at Dibisyon na may buong numero. Ngunit kapag naintindihan mo ang konsepto maaari mong ipatupad kahit na mga pang-agham na pag-andar na may built-in na pag-andar ng Arduino.
Sa pagtatapos ng proyektong ito malalaman mo kung paano gumamit ng isang 16x2 LCD at Keypad na may Arduino at gaano din kadali ang mag-program para sa kanila gamit ang madaling magagamit na mga aklatan. Mauunawaan mo rin kung paano i-program ang iyong Arduino para sa pagtupad ng isang partikular na gawain.
Mga Materyal na Kinakailangan:
- Arduino Uno (gagana ang Anumang bersyon)
- 16 × 2 LCD Display
- 4 × 4 Keypad
- 9V Baterya
- Breadboard at Mga kumokonekta na mga wire
Diagram ng Circuit:
Ang kumpletong diagram ng circuit ng Arduino Calculator Project na ito ay ibinigay sa itaas. Ang + 5V at koneksyon sa lupa na ipinakita sa circuit diagram ay maaaring makuha mula sa 5V at ground pin ng Arduino. Ang Arduino mismo ay maaaring pinalakas mula sa iyong laptop o sa pamamagitan ng DC jack gamit ang isang 12V adapter o 9V na baterya.
Pinapatakbo namin ang LCD sa 4-bit mode kasama ang Arduino kaya't ang huling apat na piraso ng data ng LCD ay nakakonekta sa Arduino. Ang Keyboard ay magkakaroon ng 8 output pin na dapat na konektado mula sa pin 0 hanggang pin 7 tulad ng ipinakita sa itaas. Maaari mong gamitin ang sumusunod na talahanayan ng koneksyon upang i-verify ang iyong koneksyon sa Arduino, maaari mo ring suriin ang 4x4 Keypad na interfacing sa Arduino.
Pangalan ng Arduino Pin: |
Nakakonekta sa: |
D0 |
1 st pin ng keyboard |
D1 |
2 nd pin ng keyboard |
D2 |
3 rd pin ng keyboard |
D3 |
Ika- 4 na pin ng keyboard |
D4 |
Ika- 5 na pin ng keyboard |
D5 |
Ika- 6 na pin ng keyboard |
D6 |
Ika- 7 na pin ng keyboard |
D7 |
Ika- 8 na pin ng keyboard |
D8 |
Magrehistro piling pin ng LCD (pin 4) |
D9 |
Paganahin ang pin ng LCD (pin 6) |
D10 |
Data pin 4 (pin 11) |
D11 |
Data pin 4 (pin 11) |
D12 |
Data pin 4 (pin 11) |
D13 |
Data pin 4 (pin 11) |
+ 5V |
Nakakonekta sa Vdd pin ng LCD (pin 2) |
Lupa |
Nakakonekta sa Vss, Vee at RW pin ng LCD (pin 1,3 at 5) |
Ang ilang mga Arduino board ay maaaring magpakita ng isang error habang ina-upload ang programa kung mayroong anumang nakakonekta sa pin 0 at pin1, kaya kung nakakaranas ka ng anumang alisin lamang ang keypad habang ina-upload ang programa.
Kapag tapos na ang iyong mga koneksyon ang iyong hardware ay magmumukhang ganito sa ibaba
Programa ng Calculator ng Arduino:
Ang kumpletong programa ng Arduino para sa proyektong ito ay ibinibigay sa pagtatapos ng proyektong ito. Ang code ay nahahati sa maliit na makahulugang mga tipak at ipinaliwanag sa ibaba.
Tulad ng sinabi kanina ay mag-i- interface kami ng isang LCD at keypad kasama ang Arduino gamit ang mga aklatan. Kaya't idagdag muna natin ang mga ito sa ating Arduino IDE. Ang silid-aklatan para sa LCD ay isinama na sa iyong Arduino bilang default kaya hindi namin kailangang mag-alala tungkol dito. Para sa Keypad library mag-click sa link upang i-download ito mula sa Github. Makakakuha ka ng isang ZIP file, pagkatapos ay idagdag ang lib na ito sa Arduino sa pamamagitan ng Sketch -> Isama ang Library -> Magdagdag ng.ZIP file at ituro ang lokasyon sa na-download na file. Kapag tapos na kami ay nakaayos na para sa pagprograma.
Kahit na gumamit kami ng isang silid-aklatan para sa paggamit ng isang keypad kailangan naming banggitin ang ilang mga detalye (ipinapakita sa ibaba) tungkol sa keypad sa Arduino. Sasabihin ng variable na ROWS at COLS kung ilang mga row at haligi ang mayroon ang aming keypad at ipinapakita ng keymap ang pagkakasunud-sunod kung saan naroroon ang mga key sa keyboard. Ang keypad na ginagamit ko sa proyektong ito ay mukhang ito sa ibaba sa pangunahing mapa ay kumakatawan sa pareho.
Sa ibaba pa nabanggit namin kung aling mga pin ang Keypad ay konektado gamit ang variable array rowPins at colPins .
const byte ROWS = 4; // Four row const byte COLS = 4; // Three column // // Define the Keymap char keys = {{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, { '7', '8', '9', 'C'}, {'*', '0', '#', 'D'}}; byte rowPins = {0, 1, 2, 3}; // Ikonekta ang keypad ROW0, ROW1, ROW2 at ROW3 sa mga pin na Arduino na ito. byte colPins = {4, 5, 6, 7}; // Ikonekta ang keypad COL0, COL1 at COL2 sa mga pin na Arduino na ito.
Kapag nabanggit na namin kung anong uri ng keypad ang ginagamit namin at kung paano ito nakakonekta, makakalikha kami ng keypad gamit ang mga detalyeng iyon gamit ang linya sa ibaba
Keypad kpd = Keypad (makeKeymap (key), rowPins, colPins, ROWS, COLS); // Lumikha ng Keypad
Katulad din kailangan nating sabihin sa kung aling mga pin ng Arduino na konektado ang LCD. Ayon sa aming circuit diagram ang mga kahulugan ay magiging katulad sa ibaba
Const int rs = 8, en = 9, d4 = 10, d5 = 11, d6 = 12, d7 = 13; // Pins kung saan ang LCD ay konektado sa LiquidCrystal lcd (rs, en, d4, d5, d6, d7); // lumikha ng LCD
Sa loob ng pag- andar ng pag- setup , ipapakita lamang namin ang pangalan ng proyekto at pagkatapos ay magpatuloy habang loop kung saan nakasalalay ang pangunahing proyekto.
Talaga, kailangan nating suriin kung may nai-type sa keypad, kung na-type dapat nating makilala kung ano ang nai-type at pagkatapos ay i-convert ito sa isang variable kapag pinindot ang "=" kailangan nating kalkulahin ang resulta at sa wakas ay ipakita ito sa LCD. Ito mismo ang ginagawa sa loob ng pag- andar ng loop tulad ng ipinakita sa ibaba
key = kpd.getKey (); // pag-iimbak ng pinindot na key na halaga sa isang char kung (key! = NO_KEY) Detect Buttons (); kung (resulta == totoo) CalculateResult (); DisplayResult ();
Ang nangyayari sa loob ng bawat pag-andar ay ipinaliwanag gamit ang mga linya ng komento, dumaan sa kumpletong code sa ibaba, kumubkob dito upang maunawaan kung paano talaga ito gumagana. Kung mayroon kang anumang pagdududa sa isang tukoy na linya, huwag mag-atubiling gamitin ang seksyon ng komento o ang mga forum.
Simulation ng Arduino Calculator:
Maaari din naming subukang gayahin ang proyekto gamit ang Proteus software. Ang Proteus ay walang sangkap na Arduino sa sarili nitong, ngunit madaling mai-download at maidagdag sa silid-aklatan nito. Kapag mayroon ka ng sangkap ng Arduino sa Proteus, idagdag lamang ang Alphanumeric LCD at Keypad upang gawin ang koneksyon tulad ng ipinakita sa circuit diagram.
Pagkatapos i-download ang hex file mula dito at idagdag ito sa Arduino sa pamamagitan ng pag-double click sa board sa Proteus at ituro ang "file ng programa" sa na-download na hex file. Ang isang snap shot ng simulation ay ipinapakita sa ibaba, ang kumpletong pagtatrabaho ay ipinapakita sa video sa ibaba.
Tandaan: Ang ibinigay na hex file ay hindi katulad ng orihinal ng program na ibinigay sa ibaba. Nabago ito mula noong ang keymap ng simulate keypad at ang aktwal na keypad ng hardware ay magkakaiba.
Paggawa ng Arduino Calculator:
Gawin ang mga koneksyon ayon sa bawat diagram ng circuit at i-upload ang code sa ibaba. Kung nagpapakita ito ng error siguraduhing naidagdag mo ang library ayon sa tagubilin na ibinigay sa itaas. Maaari mo ring subukan ang kunwa upang suriin kung ang problema ay nasa iyong hardware. Kung ang lahat ay tapos na ayon sa dapat na maging, pagkatapos ang iyong hardware ay magmumukhang ganito sa ibaba sa LCD na ipinapakita ito
Dahil ang keypad na ginamit dito ay walang tamang mga marka dito ay ipinalagay ko na ang mga Alphabet ay mga operator tulad ng nakalista sa ibaba
Character sa Keypad |
Ipinapalagay na |
"A" |
Dagdag (+) |
"B" |
Pagbawas (-) |
"C" |
Pagpaparami (*) |
"D" |
Dibisyon (/) |
"*" |
Malinaw (C) |
"#" |
Katumbas (=) |
Maaari mong gamitin ang isang marker upang magsulat sa kung ano talaga ang kinakatawan ng bawat pindutan.
Sa tapos na, maaari mong direktang simulan ang paggamit ng calculator. Uri ng numero at lilitaw sa pangalawang linya pindutin ang operand at i-type ang iyong pangalawang numero sa wakas pindutin ang "#" key upang makuha ang iyong resulta. Maaari mo ring subukang buuin ang calculator ng Arduino batay sa Touchscreen.