Serwisy partnerskie:
Close icon
Serwisy partnerskie

Bezprzewodowy licznik odwiedzin oparty na Arduino

Informacja o całkowitej liczbie osób znajdujących się w budynku takim jak szpital, centrum handlowe czy fabryka pozwala na dostarczenie kluczowych informacji dla pracowników ochrony podczas sytuacji kryzysowych. W artykule przedstawiono implementację bezprzewodowego licznika odwiedzin opartego na Arduino.
Article Image
Fotografia 1. Autorski prototyp nadajnika
Fotografia 2. Autorski prototyp odbiornika

Wykonane przez autorów prototypy nadajnika i odbiornika zostały przedstawione odpowiednio na fotografii 1 i fotografii 2, natomiast ich schematy blokowe na rysunku 3 i rysunku 4.

Rysunek 3. Schemat blokowy nadajnika
Rysunek 4. Schemat blokowy odbiornika

Układ i działanie

Główne komponenty użyte w tym projekcie to:

Płytka Arduino Uno

Arduino Uno jest płytką rozwojową opartą o mikrokontroler AVR ATmega328P z sześcioma analogowymi pinami wejściowymi i 14 cyfrowymi pinami I/O. Mikrokontroler posiada 32 kB pamięci ISP flash, 2 kB pamięci RAM, 1 kB EEPROM i może pracować z częstotliwością zegara 16 MHz. Płytka Arduino Uno (Board1) zapewnia możliwość komunikacji szeregowej poprzez UART, SPI oraz I2C. W tym projekcie płytka ta jest wykorzystywana jako odbiornik.

Cyfrowe piny I/O 12, 11, 7, 6, 5 i 4 płytki Board1 są używane do interfejsu z wyświetlaczem LCD, a jej cyfrowe piny I/O 2 i 3 są skonfigurowane jako piny przerwania.

HT12E

Enkodery 212 to seria układów scalonych CMOS LSI używanych zwykle w systemach zdalnego sterowania. Są one w stanie zakodować informacje składające się z N bitów adresu i 12-N bitów danych. Każde wejście adresu/danych może być ustawione na jeden z dwóch stanów logicznych. Zaprogramowany adres/dane są przesyłane wraz z bitami nagłówka za pośrednictwem radiowym lub podczerwieni po otrzymaniu sygnału wyzwalającego.

HT12D

Dekodery 212 to seria układów LSI CMOS, które są sparowane z nadajnikami HT12E i przeznaczone do stosowania w systemach zdalnego sterowania. Dekodery odbierają szereg adresów i danych z zaprogramowanych enkoderów serii 212, które są przesyłane przez nośnik za pomocą fal radiowych lub podczerwieni. Porównują one trzy razy, w sposób ciągły, szereg danych wejściowych z ich adresami lokalnymi. Jeśli nie zostaną znalezione żadne błędy lub niedopasowane kody, kody danych wejściowych są dekodowane i przekazywane do pinów wyjściowych. Dekodery 212 są w stanie zdekodować informacje, które składają się z N bitów adresu i 12-N bitów danych. Aby transmisja była poprawna, bity adresowe zarówno kodera jak i dekodera muszą być takie same.

16×2 znakowy LCD

Wyświetlacz LCD jest używany do wyświetlania całkowitej liczby gości wchodzących do budynku. Wyświetlacz LCD posiada szesnaście kolumn i dwa wiersze do wyświetlania danych. Zastosowany tutaj podświetlany wyświetlacz LCD jest połączony z Arduino w trybie 4-bitowym. Piny LCD RS, EN, D4, D5, D6, D7 są podłączone do cyfrowych pinów I/O odpowiednio 12, 11, 7, 6, 5, 4 odbiornika z Arduino Uno.

Moduły 434MHz

Moduły nadajnika (TX) i odbiornika (RX) 434 MHz są urządzeniami elektronicznymi służącymi do nadawania i odbierania sygnałów o częstotliwości radiowej pomiędzy dwoma urządzeniami. Moduły te są szeroko stosowane w projektowaniu elektronicznym, aby uniknąć złożoności w projektowaniu obwodów radiowych. Częstotliwość nośna modułów używanych tutaj to 434 MHz.

LM358

Ten układ scalony ma dwa niezależne wzmocniacze operacyjne z wewnętrzną kompensacją częstotliwości, które zostały zaprojektowane specjalnie do pracy z jednego źródła zasilania o szerokim zakresie napięć. Możliwa jest również praca z rozdzielonych źródeł zasilania. W tym projekcie LM358 jest używany jako podwójny komparator do generowania impulsu, gdy osoba wchodzi lub wychodzi.

Dioda LED IR i fotodioda

Para diod LED IR i fotodioda IR jest używana do wykrywania wejścia lub wyjścia osoby. W tym projekcie zastosowano dwie takie pary - jedną przy bramce wejściowej i jedną przy bramce wyjściowej.

Schematy połączeń nadajnika i odbiornika są pokazane odpowiednio na rysunku 5 i rysunku 6.

Rysunek 5. Schemat połączeń nadajnika
Rysunek 6. Schemat ideowy odbiornika

Kiedy odwiedzający wchodzi do hali, chwilowo blokuje falę IR nadawaną przez diodę IR LED na bramie wejściowej, a część energii fali IR odbitej od ciała odwiedzającego jest wykrywana przez fotodiodę IR. Układ LM358 działa jako podwójny komparator i przetwarza chwilową fluktuację wykrytą przez fotodiodę na impuls. Impuls ten jest przesyłany do odbiornika przez nadajnik 434 MHz. Dwa wyjścia komparatora (jedno dla wejścia i jedno dla wyjścia) są podłączone do dwóch pinów danych enkodera HT12E.

Po udanej transmisji bezprzewodowej impulsy docierają na piny danych dekodera HT12D po stronie odbiornika. Dwa piny danych dekodera HT12D są podłączone do dwóch pinów przerwania płytki Arduino UNO.

Kiedy osoba przechodzi przez bramkę wejściową, impuls jest generowany na pin 7 (OUT2) LM358, który jest podłączony do pinu AD9 w HT12E. Ten sam impuls jest przesyłany i pojawia się na pinie D9 w HT12D na odbiorniku. Pin D9 jest połączony z pinem 3 (pin przerwania) płytki Arduino. Podprogram przerwania wykonuje się i zwiększa liczbę gości o jeden. Analogiczna operacja jest wykonywana podczas wychodzenia osoby, z wyjątkiem tego, że używane są oddzielne linie danych HT12E (pin AD8) i HT12D (pin D8) a pin 2 w Arduino jest używany jako pin przerwania.

Program działający w mikrokontrolerze Arduino monitoruje przerwania i zwiększa/zmniejsza liczbę odwiedzających oraz wyświetla ją na wyświetlaczu LCD 16×2. Arduino IDE jest używane do programowania płytki Arduino Uno.

Budowa i testowanie

Podłącz płytkę Arduino do komputera i wybierz odpowiedni port COM oraz nazwę płytki z menu Tools w Arduino IDE. Następnie wgraj kod źródłowy visitor_counter_wl.ino na płytkę Arduino klikając na przycisk Upload w IDE.

Schemat płytki drukowanej nadajnika pokazano na rysunku 7, a rozmieszczenie jego elementów na rysunku 8. Po zmontowaniu układu na płytce należy podłączyć baterię 9 V do BATT.1.

Układ płytki drukowanej odbiornika pokazany jest na rysunku 9, a jego rozmieszczenie elementów na rysunku 10. Po zmontowaniu układu na płytce należy podłączyć baterię 9 V do BATT.2.


W celu rozwiązywania problemów, należy sprawdzić sygnały w różnych punktach testowych zaznaczonych na rysunku 5 i rysunku 6 za pomocą multimetru. Oczekiwane sygnały w różnych punktach testowych są wymienione w tabeli.

Do pobrania
Download icon Bezprzewodowy licznik odwiedzin oparty na Arduino Download icon Bezprzewodowy licznik odwiedzin oparty na Arduino - schemat montażowy i PCB
AUTOR
Źródło
www.electronicsforu.com
Udostępnij
UK Logo