- Wymagane materiały:
- Schemat obwodu:
- Program kalkulatora Arduino:
- Symulacja kalkulatora Arduino:
- Działanie kalkulatora Arduino:
Programowanie jest zawsze zabawne, a Arduino to wspaniała platforma, jeśli dopiero zaczynasz korzystać z programowania wbudowanego. W tym samouczku zbudujemy własny kalkulator z Arduino. Wartości można przesłać za pomocą klawiatury (klawiatura 4 × 4), a wynik można wyświetlić na ekranie LCD (matryca 16 × 2). Ten kalkulator może wykonywać proste operacje, takie jak dodawanie, odejmowanie, mnożenie i dzielenie liczb całkowitych. Ale kiedy zrozumiesz tę koncepcję, możesz wdrożyć nawet funkcje naukowe dzięki wbudowanym funkcjom Arduino.
Pod koniec tego projektu będziesz wiedział, jak używać wyświetlacza LCD 16x2 i klawiatury z Arduino, a także jak łatwo jest je programować przy użyciu łatwo dostępnych bibliotek. Zrozumiesz również, jak zaprogramować Arduino do wykonania określonego zadania.
Wymagane materiały:
- Arduino Uno (każda wersja będzie działać)
- Wyświetlacz LCD 16 × 2
- Klawiatura 4 × 4
- Bateria 9V
- Płytka prototypowa i przewody połączeniowe
Schemat obwodu:
Pełny schemat obwodu tego projektu kalkulatora Arduino podano powyżej. Połączenie + 5V i uziemienie pokazane na schemacie obwodu można uzyskać z 5V i pinu uziemiającego Arduino. Samo Arduino można zasilać z laptopa lub przez gniazdo DC za pomocą adaptera 12V lub baterii 9V.
Obsługujemy LCD w trybie 4-bitowym z Arduino, więc tylko ostatnie cztery bity danych LCD są podłączone do Arduino. Klawiatura będzie miała 8 pinów wyjściowych, które należy podłączyć od pinu 0 do pinu 7, jak pokazano powyżej. Możesz skorzystać z poniższej tabeli połączeń, aby zweryfikować połączenie z Arduino, możesz również sprawdzić połączenie klawiatury 4x4 z Arduino.
Nazwa pinu Arduino: |
Połączony z: |
D0 |
1 st PIN na klawiaturze |
D1 |
2 ND PIN na klawiaturze |
D2 |
3 rd PIN na klawiaturze |
D3 |
4- ty pin klawiatury |
D4 |
5 p PIN na klawiaturze |
D5 |
6 th PIN na klawiaturze |
D6 |
7 th PIN na klawiaturze |
D7 |
8 th PIN na klawiaturze |
D8 |
Zarejestruj wybierz pin LCD (pin 4) |
D9 |
Włącz pin LCD (pin 6) |
D10 |
Dane pin 4 (pin 11) |
D11 |
Dane pin 4 (pin 11) |
D12 |
Dane pin 4 (pin 11) |
D13 |
Dane pin 4 (pin 11) |
+ 5V |
Podłączony do styku Vdd wyświetlacza LCD (pin 2) |
Ziemia |
Podłączony do pinów Vss, Vee i RW wyświetlacza LCD (styki 1,3 i 5) |
Niektóre płyty Arduino mogą wyświetlać błąd podczas przesyłania programu, jeśli coś jest podłączone do pinów 0 i pin1, więc jeśli wystąpią jakiekolwiek objawy, po prostu usuń klawiaturę podczas przesyłania programu.
Po wykonaniu połączeń twój sprzęt będzie wyglądał jak poniżej
Program kalkulatora Arduino:
Kompletny Arduino Program dla tego projektu jest podany na końcu tego projektu. Kod jest podzielony na małe znaczące fragmenty i wyjaśniony poniżej.
Jak wspomniano wcześniej, będziemy łączyć LCD i klawiaturę z Arduino za pomocą bibliotek. Więc najpierw dodajmy je do naszego Arduino IDE. Biblioteka dla LCD jest już domyślnie dołączona do Arduino, więc nie musimy się tym martwić. W przypadku biblioteki Keypad kliknij łącze, aby pobrać ją z Github. Otrzymasz plik ZIP, następnie dodaj tę bibliotekę do Arduino za pomocą Sketch -> Include Library -> Add.ZIP file i wskaż lokalizację tego pobranego pliku. Po zakończeniu jesteśmy gotowi do programowania.
Mimo że korzystaliśmy z biblioteki do obsługi klawiatury, musimy wspomnieć o kilku szczegółach (pokazanych poniżej) na temat klawiatury do Arduino. Zmienna ROWS i COLS powie, ile wierszy i kolumn ma nasza klawiatura, a mapa klawiszy pokazuje kolejność, w jakiej klawisze są obecne na klawiaturze. Klawiatura, której używam w tym projekcie, wygląda tak poniżej, aby mapa klawiszy również reprezentowała to samo.
Dalej poniżej wspomnieliśmy, do których pinów podłączona jest klawiatura za pomocą tablicy zmiennych rowPins i colPins .
stały bajt ROWS = 4; // Cztery wiersze bajt stały COLS = 4; // Trzy kolumny // Zdefiniuj znaki mapy klawiszy keys = {{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, { '7', '8', '9', 'C'}, {'*', '0', '#', 'D'}}; byte rowPins = {0, 1, 2, 3}; // Podłącz klawiaturę ROW0, ROW1, ROW2 i ROW3 do tych pinów Arduino. bajt colPins = {4, 5, 6, 7}; // Podłącz klawiaturę COL0, COL1 i COL2 do tych pinów Arduino.
Kiedy już wspomnimy, jakiego typu klawiatury używamy i jak jest podłączona, możemy utworzyć klawiaturę, korzystając z tych szczegółów, korzystając z poniższej linii
Keypad kpd = Keypad (makeKeymap (keys), rowPins, colPins, ROWS, COLS); // Utwórz klawiaturę
Podobnie musimy powiedzieć, do których pinów Arduino jest podłączony wyświetlacz LCD. Zgodnie z naszym schematem obwodu definicje byłyby takie, jak poniżej
const int rs = 8, en = 9, d4 = 10, d5 = 11, d6 = 12, d7 = 13; // Piny do których podłączony jest LCD LiquidCrystal lcd (rs, en, d4, d5, d6, d7); // stwórz LCD
Wewnątrz funkcji konfiguracji wyświetlamy tylko nazwę projektu, a następnie przechodzimy do pętli while, w której znajduje się główny projekt.
Zasadniczo musimy sprawdzić, czy coś jest wpisywane na klawiaturze, jeśli jest wpisywane, musimy rozpoznać, co jest wpisywane, a następnie przekonwertować to na zmienną po naciśnięciu „=”, musimy obliczyć wynik i ostatecznie go wyświetlić na wyświetlaczu LCD. Dokładnie to robi się wewnątrz funkcji pętli, jak pokazano poniżej
key = kpd.getKey (); // zapisywanie wartości wciśniętego klawisza w postaci znaku if (key! = NO_KEY) DetectButtons (); if (wynik == true) CalculateResult (); DisplayResult ();
To, co dzieje się w każdej funkcji, jest wyjaśnione za pomocą linii komentarzy, przejrzyj cały kod poniżej, baw się przy nim, aby zrozumieć, jak to naprawdę działa. Jeśli masz jakiekolwiek wątpliwości co do konkretnej linii, możesz skorzystać z sekcji komentarzy lub forum.
Symulacja kalkulatora Arduino:
Możemy też spróbować zasymulować projekt za pomocą oprogramowania Proteus. Proteus nie posiada własnego komponentu Arduino, ale można go łatwo pobrać i dodać do swojej biblioteki. Gdy masz już komponent Arduino w Proteus, po prostu dodaj alfanumeryczny wyświetlacz LCD i klawiaturę, aby wykonać połączenie, jak pokazano na schemacie obwodu.
Następnie pobierz plik hex stąd i dodaj go do Arduino poprzez dwukrotne kliknięcie na płycie w Proteusie i wskaż „plik programu” na ten pobrany plik hex. Migawka symulacji jest pokazana poniżej, cała praca jest pokazana na poniższym filmie.
Uwaga: Podany plik hex nie jest tym samym, co oryginał programu podanego poniżej. Został zmodyfikowany, ponieważ mapa klawiatury symulacji jest inna, a rzeczywista klawiatura sprzętowa jest inna.
Działanie kalkulatora Arduino:
Wykonaj połączenia zgodnie ze schematem połączeń i prześlij poniższy kod. Jeśli pokazuje błąd, upewnij się, że dodałeś bibliotekę zgodnie z instrukcją podaną powyżej. Możesz także wypróbować symulację, aby sprawdzić, czy problem dotyczy sprzętu. Jeśli wszystko jest zrobione tak, jak powinno, twój sprzęt będzie wyglądał jak poniżej z wyświetlaczem LCD
Ponieważ zastosowana tutaj klawiatura nie ma odpowiednich oznaczeń, przyjąłem, że alfabety są operatorami, jak podano poniżej
Znak na klawiaturze |
Zakłada się |
"ZA" |
Dodawanie (+) |
"B" |
Odejmowanie (-) |
"DO" |
Mnożenie (*) |
"RE" |
Podział (/) |
„*” |
Wyczyść (C) |
„#” |
Równe (=) |
Możesz użyć markera, aby napisać, co faktycznie reprezentuje każdy przycisk.
Po wykonaniu tej czynności możesz od razu zacząć korzystać z kalkulatora. Wpisuje liczbę i pojawi się w drugiej linii, naciśnij operand i wpisz drugą liczbę, a na koniec naciśnij klawisz „#”, aby uzyskać wynik. Możesz także spróbować zbudować kalkulator Arduino oparty na ekranie dotykowym.