- Wymagane komponenty
- Tworzenie struktury dla Arduino Coin Sorter
- Schemat obwodu
- Programowanie Arduino
- Działanie licznika monet Arduino
Wcześniej zbudowaliśmy maszynę do liczenia walut papierowych opartą na Arduino, wykorzystującą czujnik koloru. Teraz w tym projekcie budujemy maszynę liczącą Arduino za pomocą czujników IR. Ta maszyna liczy i sortuje monety w różnych sekcjach za pomocą czujnika podczerwieni. Tutaj układa się układ, w którym czujniki podczerwieni są umieszczone w celu wykrywania różnych monet, a Arduino UNO służy do przetwarzania danych i wyświetlania całkowitej wartości zliczania na wyświetlaczu LCD 16x2.
Wymagane komponenty
- Arduino UNO
- Czujnik podczerwieni
- Płytka prototypowa
- 16 * 2 alfanumeryczny wyświetlacz LCD
- Moduł I2C do alfanumerycznego wyświetlacza LCD 16x2 (1602)
- Podłączanie przewodów
Tworzenie struktury dla Arduino Coin Sorter
Krok 1: Weź karton i zaznacz różne rozmiary monet, jak pokazano na poniższym rysunku. Następnie ostrożnie pokrój zaznaczone porcje. Cięcie tych części musi być wykonane dokładnie; w przeciwnym razie projekt może nie działać idealnie.
Krok 2: Umieść powyższy układ w konstrukcji nachylonej, jak na poniższym obrazku. Po wykonaniu aranżacji sprawdź ją wkładając różne monety na skarpę, aby upewnić się, że aranżacja działa idealnie. Jeśli moneta nie wkłada się prawidłowo, nieznacznie zwiększ rozmiar otworu zgodnie z monetą i sprawdź ponownie, aż do pomyślnej operacji.
Krok 3: Umieść czujniki podczerwieni w pobliżu ścieżki wyjściowej poszczególnych monet. Bardzo ważne jest prawidłowe umieszczenie czujników i skalibrowanie ich potencjometrem. Następnie ponownie włóż monety, aby sprawdzić działanie czujnika. Dowiedz się więcej o obwodzie czujnika podczerwieni tutaj.
Schemat obwodu
Poniżej znajduje się schemat obwodu maszyny liczącej Arduino:
W tym przypadku czujniki podczerwieni są umieszczone na różnych ścieżkach wyjściowych maszyny do sortowania monet, aby wykryć monety. Po włożeniu monety do tego licznika monet Arduino, wchodzi ona do dedykowanej ścieżki zgodnie z konstrukcją mechaniczną, a odpowiedni czujnik podczerwieni wyczuwa monetę i podaje WYSOKĄ wartość wyjściową do Arduino, którą można odczytać za pomocą pinów analogowych Arduino. Czujnik podczerwieni, który daje WYSOKĄ wartość, decyduje o wartości monety jak rupie 2/5/10.
Tutaj alfanumeryczny wyświetlacz LCD 16x2 jest połączony z Arduino za pomocą modułu I2C, aby wyświetlić liczbę monet włożonych do pudełka. Ten wyświetlacz LCD można również podłączyć bezpośrednio do Arduino bez użycia modułu I2C, ale wymaga to większej liczby połączeń. Aby to uprościć, zastosowano moduł I2C wraz z wyświetlaczem LCD, który wykorzystuje tylko 2 piny, tj. SCL, SDA do połączenia LCD z Arduino. Do zasilania Arduino służy zasilacz 12VDC, 1 AMP AC-DC, który można podłączyć bezpośrednio do gniazda zasilania Arduino.
Po drobnych poprawkach kompletna konfiguracja sortownika monet opartego na Arduino będzie wyglądać następująco:
Programowanie Arduino
Po udanych połączeniach sprzętowych czas na programowanie Arduino. Pełny kod dla Arduino znajduje się w dolnej części tego samouczka. Poniżej podano szczegółowe wyjaśnienie kodu:
Pierwszą rzeczą do zrobienia w programie jest dołączenie wszystkich wymaganych bibliotek. Tutaj, w moim przypadku, dołączyłem bibliotekę „ LiquidCrystal_I2C.h” do korzystania z interfejsu I2C LCD i „ Wire.h ” do korzystania z funkcjonalności I2C na Arduino.
#zawierać
Wewnątrz setup (), polecenia LCD są napisane w celu wyświetlenia komunikatu powitalnego na LCD.
lcd.init (); podświetlenie LCD(); lcd.setCursor (0,0); lcd.print ("NA PODSTAWIE ARDUINO"); lcd.setCursor (0,1); lcd.print ("SORTOWANIE MONET"); opóźnienie (2000); lcd.clear ();
Wewnątrz pętli () funkcja analogRead służy do odczytu wartości czujnika podczerwieni z różnych kanałów analogowych Arduino i przechowywania ich w różnych zmiennych.
int s1 = analogRead (A0); int s2 = analogRead (A1); int s3 = analogRead (A2);
Następnie zapisywany jest poniższy kod, aby wykryć monety i zwiększyć wartość licznika monet. Tutaj wartość flagi f1 jest używana, aby uniknąć wielokrotnego liczenia monet.
if (s1> = 200 && f1 == 0) {f1 = 1; } else if (s1 <200 && f1 == 1) {f1 = 0; c1 ++; }
Na koniec wartości zliczane są wyświetlane na wyświetlaczu LCD za pomocą poniższych poleceń.
lcd.setCursor (0,0); lcd.print ("RS10 RS2 RS5"); lcd.setCursor (1,1); lcd.print (c1); lcd.setCursor (7,1); lcd.print (c2); lcd.setCursor (14,1); lcd.print (c3);
Działanie licznika monet Arduino
Po zakończeniu konfiguracji i wgraniu kodu włącz zasilanie 12 V DC. Najpierw na wyświetlaczu LCD pojawi się wiadomość powitalna, a po kilku sekundach na wyświetlaczu pojawi się ekran z liczbą wszystkich dostępnych monet. Na początku pokaże zero, ponieważ nie włożyliśmy jeszcze żadnych monet.
Następnie włóż dowolną monetę (Rs. 2/5/10) w górną część maszyny, gdzie napisano „ Insert Coin ”. Teraz zobaczysz, że wartość liczby monet musi zostać zaktualizowana na wyświetlaczu LCD. Następnie włóż kilka monet o różnych wartościach i sprawdź liczbę odpowiednich monet na wyświetlaczu LCD.
Pełny kod wraz z filmem znajduje się poniżej.