- Nepieciešamie materiāli:
- Ķēdes shēma:
- Arduino kalkulatora programma:
- Arduino kalkulatora simulācija:
- Arduino kalkulatora darbība:
Programmēšana vienmēr ir jautra, un Arduino ir lieliska platforma, ja jūs tikai sākat darbu ar iegulto programmēšanu. Šajā apmācībā mēs izveidosim savu kalkulatoru ar Arduino. Vērtības var nosūtīt, izmantojot tastatūru (4 × 4 tastatūra), un rezultātu var apskatīt LCD ekrānā (16 × 2 punktu matrica). Šis kalkulators varēja veikt vienkāršas darbības, piemēram, saskaitīšana, atņemšana, reizināšana un dalīšana ar veseliem skaitļiem. Bet, kad jūs saprotat šo koncepciju, jūs varat īstenot pat zinātniskas funkcijas, izmantojot Arduino iebūvētās funkcijas.
Šī projekta beigās jūs zināt, kā lietot 16x2 LCD un tastatūru kopā ar Arduino, kā arī to, cik viegli viņiem ir ieprogrammēt, izmantojot viegli pieejamās bibliotēkas. Jūs arī sapratīsit, kā programmēt savu Arduino konkrēta uzdevuma veikšanai.
Nepieciešamie materiāli:
- Arduino Uno (jebkura versija darbosies)
- 16 × 2 LCD displejs
- 4 × 4 tastatūra
- 9V akumulators
- Maizes dēlis un savienojošie vadi
Ķēdes shēma:
Šī Arduino kalkulatora projekta pilnā shēma ir dota iepriekš. + 5V un zemējuma savienojumu, kas parādīts ķēdes shēmā, var iegūt no Arduino 5V un zemējuma tapas. Pats Arduino var darbināt no klēpjdatora vai caur līdzstrāvas ligzdu, izmantojot 12V adapteri vai 9V akumulatoru.
Mēs darbināmies LCD ar Arduino 4 bitu režīmā, tāpēc Arduino ir pievienoti tikai pēdējie četri LCD datu biti. Tastatūrai būs 8 izejas tapas, kuras jāsavieno no tapas 0 līdz tapai 7, kā parādīts iepriekš. Lai pārbaudītu savienojumu ar Arduino, varat izmantot šo savienojuma tabulu, kā arī pārbaudīt 4x4 tastatūras saskarni ar Arduino.
Arduino tapas nosaukums: |
Savienots ar: |
D0 |
1 st pin no klaviatūras |
D1 |
2 nd pin no klaviatūras |
D2 |
3 rd pin no klaviatūras |
D3 |
4 th pin no klaviatūras |
D4 |
5 th pin no klaviatūras |
D5 |
6 th pin no klaviatūras |
D6 |
7 th pin no klaviatūras |
D7 |
8 th pin no klaviatūras |
D8 |
Reģistrēt LCD atlasīto tapu (4. tapa) |
D9 |
Iespējot LCD tapu (6. tapa) |
D10 |
4. datu tapa (11. tapa) |
D11 |
4. datu tapa (11. tapa) |
D12 |
4. datu tapa (11. tapa) |
D13 |
4. datu tapa (11. tapa) |
+ 5V |
Savienots ar LCD Vdd tapu (2. kontakts) |
Zeme |
Savienots ar LCD Vss, Vee un RW tapām (1,3 un 5 tapas) |
Dažos Arduino dēļos, augšupielādējot programmu, var parādīties kļūda, ja kaut kas ir saistīts ar tapām 0 un pin1, tādēļ, ja rodas kādas problēmas, programmas augšupielādes laikā vienkārši noņemiet tastatūru.
Kad savienojumi ir izveidoti, aparatūra turpmāk izskatīsies apmēram tā
Arduino kalkulatora programma:
Pilnīga Arduino programmu šim projektam tiek dota beigās šo projektu. Kods ir sadalīts mazos nozīmīgos gabalos un paskaidrots tālāk.
Kā jau iepriekš teicām, mēs saskarēsim LCD un tastatūru ar Arduino, izmantojot bibliotēkas. Tāpēc vispirms pievienosim tos mūsu Arduino IDE. LCD bibliotēka jau pēc noklusējuma ir iekļauta jūsu Arduino, tāpēc mums par to nav jāuztraucas. Tastatūras bibliotēkai noklikšķiniet uz saites, lai to lejupielādētu no Github. Jūs saņemsiet ZIP failu, pēc tam pievienojiet šo lib Arduino, izmantojot Sketch -> Include Library -> Add.ZIP failu un norādiet atrašanās vietu uz šo lejupielādēto failu. Kad tas ir izdarīts, mēs visi esam gatavi programmēšanai.
Lai gan tastatūras izmantošanai mēs esam izmantojuši bibliotēku, mums jāpiemin neliela informācija (parādīta zemāk) par Arduino tastatūru. Mainīgais ROWS un COLS pateiks, cik rindu un kolonnu ir mūsu tastatūrai, un taustiņu karte parāda secību, kādā taustiņi atrodas uz tastatūras. Tastatūra, kuru es izmantoju šajā projektā, izskatās šādi zemāk, lai taustiņu karte arī pārstāv to pašu.
Tālāk mēs esam minējuši, ar kurām tapām tastatūra ir savienota, izmantojot mainīgo masīvu rowPins un colPins .
konst baits ROWS = 4; // Četras rindas konst baits COLS = 4; // Trīs kolonnas // Definējiet taustiņu taustiņu taustiņus = {{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, { '7', '8', '9', 'C'}, {'*', '0', '#', 'D'}}; baitu rindaPins = {0, 1, 2, 3}; // Savienojiet tastatūras ROW0, ROW1, ROW2 un ROW3 ar šīm Arduino tapām. baits colPins = {4, 5, 6, 7}; // Savienojiet tastatūras COL0, COL1 un COL2 ar šīm Arduino tapām.
Kad mēs esam minējuši, kāda veida tastatūru mēs izmantojam un kā tā ir savienota, mēs varam izveidot tastatūru, izmantojot šo informāciju, izmantojot zemāk esošo līniju
Tastatūra kpd = Tastatūra (makeKeymap (taustiņi), rowPins, colPins, ROWS, COLS); // Izveidojiet tastatūru
Līdzīgi mums arī jāpasaka, pie kurām Arduino tapām LCD ir savienots. Saskaņā ar mūsu shēmu definīcijas būtu kā zemāk
const int rs = 8, en = 9, d4 = 10, d5 = 11, d6 = 12, d7 = 13; // Piespraudes, kurām ir pievienots LCD, LiquidCrystal lcd (rs, en, d4, d5, d6, d7); // izveidot LCD
Iestatīšanas funkcijas iekšpusē mēs vienkārši parādām projekta nosaukumu un pēc tam pārejam uz while loop, kur atrodas galvenais projekts.
Būtībā mums ir jāpārbauda, vai tastatūrā tiek rakstīts kaut kas, ja rakstīts, mums jāatpazīst ievadītais un pēc tam jāpārvērš par mainīgo, kad tiek nospiests “=”, mums ir jāaprēķina rezultāts un pēc tam tas beidzot jāparāda uz LCD. Tas ir tieši tas, kas tiek darīts cilpa funkcijas iekšpusē, kā parādīts zemāk
atslēga = kpd.getKey (); // nospiestās atslēgas vērtības saglabāšana char, ja (atslēga! = NO_KEY) DetectButtons (); if (rezultāts == patiess) CalculateResult (); DisplayResult ();
Tas, kas notiek katras funkcijas iekšienē, tiek izskaidrots, izmantojot komentāru rindiņas, iziet cauri visam zemāk redzamajam kodam, pļāpājiet ar to, lai saprastu, kā tas faktiski darbojas. Ja jums ir kādas šaubas par konkrētu līniju, nekautrējieties izmantot komentāru sadaļu vai forumus.
Arduino kalkulatora simulācija:
Mēs varam arī mēģināt simulēt projektu, izmantojot programmatūru Proteus. Proteus nav atsevišķa Arduino komponenta, taču to var viegli lejupielādēt un pievienot savai bibliotēkai. Kad Proteus ir pieejams Arduino komponents, vienkārši pievienojiet burtciparu LCD un tastatūru, lai izveidotu savienojumu, kā parādīts ķēdes shēmā.
Tad lejupielādējiet hex failu no šejienes un pievienojiet to Arduino, veicot dubultklikšķi uz Proteus borta un norādiet “programmas failu” uz šo lejupielādēto hex failu. Simulācijas momentuzņēmums ir parādīts zemāk, un pilnīgs darbs ir parādīts zemāk esošajā video.
Piezīme. Dotais hex fails nav tāds pats kā zemāk norādītās programmas oriģināls. Tā ir modificēta, jo simulācijas tastatūras un faktiskās aparatūras tastatūras taustiņu karte ir atšķirīga.
Arduino kalkulatora darbība:
Veiciet savienojumus atbilstoši shēmai un augšupielādējiet kodu zemāk. Ja tas parāda kļūdu, pārliecinieties, vai esat pievienojis bibliotēku saskaņā ar iepriekš sniegtajām instrukcijām. Varat arī izmēģināt simulāciju, lai pārbaudītu, vai problēma ir saistīta ar jūsu aparatūru. Ja viss tiek darīts tā, kā tam vajadzētu būt, tad aparatūra izskatīsies kaut kas līdzīgs šim, LCD parādot to
Tā kā šeit izmantotajai tastatūrai nav atbilstošu marķējumu, es esmu pieņēmis, ka alfabēti ir operatori, kā norādīts zemāk
Raksts uz tastatūras |
Pieņemts, ka ir |
“A” |
Papildinājums (+) |
“B” |
Atņemšana (-) |
“C” |
Reizināšana (*) |
“D” |
Nodaļa (/) |
“*” |
Dzēst (C) |
“#” |
Vienāds (=) |
Jūs varat izmantot marķieri, lai uzrakstītu to, ko katra poga faktiski apzīmē.
Kad tas izdarīts, jūs varat sākt tieši izmantot kalkulatoru. Ierakstiet numuru un parādīsies otrajā rindiņā, nospiediet operandu un ierakstiet otro numuru, visbeidzot, nospiediet taustiņu “#”, lai iegūtu rezultātu. Varat arī mēģināt izveidot šo skārienekrāna bāzes Arduino kalkulatoru.