Około 71% ziemi jest pokryte wodą, ale niestety tylko 2,5% to woda pitna. Oczekuje się, że wraz ze wzrostem liczby ludności, zanieczyszczeniem i zmianami klimatycznymi już w 2025 roku wystąpią trwałe niedobory wody. Z jednej strony istnieją już drobne spory między narodami i stanami dotyczące dzielenia się wodą rzeczną, z drugiej strony my, ludzie, marnujemy dużo wody pitnej z powodu naszego zaniedbania.
Za pierwszym razem może nie wydawać się duży, ale jeśli z kranu kapała kropla wody raz na sekundę, zmarnowanie jednego galona wody zajmie tylko około pięciu godzin, czyli tyle wody, ile przeciętny człowiek przeżyje przez dwie dni. Co więc można zrobić, aby to powstrzymać? Jak zwykle odpowiedzią na to jest udoskonalenie technologii. Jeśli wymienimy wszystkie krany ręczne na inteligentne, które samoczynnie otwierają się i zamykają, nie tylko oszczędzamy wodę, ale także prowadzimy zdrowszy tryb życia, ponieważ nie musimy obsługiwać kranu brudnymi rękami. Dlatego w tym projekcie zbudujemy automatyczny dystrybutor wody za pomocą Arduino i zaworu elektromagnetycznego, który może automatycznie podawać wodę, gdy w pobliżu zostanie umieszczona szklanka. Brzmi fajnie, prawda! Więc zbudujmy jeden…
Wymagane materiały
- Zawór elektromagnetyczny
- Arduino Uno (dowolna wersja)
- HCSR04 - czujnik ultradźwiękowy
- MOSFET IRF540
- Rezystor 1k i 10k
- Płytka prototypowa
- Podłączanie przewodów
Koncepcja pracy
Koncepcja automatycznego dystrybutora wody jest bardzo prosta. Użyjemy HCSR04 czujnik ultradźwiękowy, by sprawdzić, czy każdy obiekt tak, że szkło jest umieszczony przed dozownika. Do sterowania przepływem wody zostanie użyty zawór elektromagnetyczny, który po zasileniu wypłynie, a po odłączeniu zostanie zatrzymany. Napiszemy więc program Arduino, który zawsze sprawdzi, czy w pobliżu kranu znajduje się jakiś obiekt, jeśli tak, to cewka zostanie włączona i poczekamy, aż obiekt zostanie usunięty, po usunięciu obiektu elektrozawór wyłączy się automatycznie zamykając zaopatrzenie w wodę. Dowiedz się więcej o używaniu czujnika ultradźwiękowego z Arduino tutaj.
Schemat obwodu
Pełny schemat obwodu dla dystrybutora wody opartego na Arduino pokazano poniżej
Zawór elektromagnetyczny zastosowany w tym projekcie to zawór 12 V o maksymalnym prądzie znamionowym 1,2 A i ciągłym obciążeniu prądowym 700 mA. Oznacza to, że gdy zawór jest włączony, zużywa około 700 mA, aby utrzymać zawór włączony. Jak wiemy, Arduino to płytka rozwojowa, która działa z napięciem 5 V, dlatego potrzebujemy obwodu sterownika przełączającego, aby elektromagnes mógł go włączać i wyłączać.
Urządzeniem przełączającym zastosowanym w tym projekcie jest N-Channel MOSFET IRF540N. Posiada odpowiednio 3 piny Gate, Source i Drain z pinu 1. Jak pokazano na schemacie obwodu, dodatni zacisk solenoidu jest zasilany przez pin Vin Arduino. Ponieważ użyjemy adaptera 12 V do zasilania Arduino, a zatem pin Vin będzie wyprowadzał 12 V, które można wykorzystać do sterowania elektromagnesem. Ujemny zacisk solenoidu jest połączony z masą poprzez styki Source i Drain tranzystora MOSFET. Więc elektrozawór będzie zasilany tylko wtedy, gdy MOSFET jest włączony.
Pin bramki tranzystora MOSFET służy do włączania i wyłączania. Pozostanie wyłączony, jeśli kołek bramki jest uziemiony i włączy się, jeśli zostanie przyłożone napięcie bramki. Aby tranzystor MOSFET był wyłączony, gdy do styku bramki nie jest podawane żadne napięcie, styk bramki jest przyciągany do masy przez rezystor 10k. Pin 12 Arduino służy do włączania lub wyłączania MOSFET-u, więc pin D12 jest połączony z pinem bramki przez rezystor 1K. Ten rezystor 1K służy do ograniczania prądu.
Ultradźwiękowy czujnik jest zasilany z + 5V oraz kołków naziemnych Arduino. Echa i wyzwalania trzpień jest połączony z kołkiem 8 i trzpienia 9, odpowiednio. Następnie możemy zaprogramować Arduino, aby używał czujnika ultradźwiękowego do pomiaru odległości i włączał MOSFET po wykryciu obiektu. Cały obwód jest prosty, dzięki czemu można go łatwo zbudować na płytce stykowej. Mój wyglądał mniej więcej tak poniżej po wykonaniu połączeń.
Programowanie płytki Arduino
Na potrzeby tego projektu musimy napisać program wykorzystujący czujnik ultradźwiękowy HCSR-04 do pomiaru odległości znajdującego się przed nim obiektu. Gdy odległość jest mniejsza niż 10 cm, musimy włączyć MOSFET, w przeciwnym razie musimy wyłączyć MOSFET. Użyjemy również wbudowanej diody LED podłączonej do pinu 13 i przełączymy ją razem z MOSFETem, abyśmy mogli upewnić się, czy MOSFET jest włączony, czy wyłączony. Kompletny program, aby zrobić to samo jest podany na końcu tej strony. Tuż poniżej wyjaśniłem program, dzieląc go na małe znaczące fragmenty.
Program rozpoczyna się od definicji makr. Mamy wyzwalacz i pin echa dla czujnika ultradźwiękowego oraz pin bramki MOSFET i diodę LED jako I / O dla naszego Arduino. Więc zdefiniowaliśmy, do którego pinu będą one podłączone. W naszym sprzęcie mamy podłączony bolec Echo i spust 8 i 9 th cyfrowy pin odpowiednio. Następnie pin MOSFET jest podłączony do pinu 12, a wbudowana dioda LED jest domyślnie podłączona do pinu 13. To samo definiujemy za pomocą następujących linii
# zdefiniować wyzwalacz 9 # zdefiniować echo 8 # zdefiniować diodę LED 13 # zdefiniować MOSFET 12
W funkcji setup deklarujemy, które piny są wejściowe, a które wyjściowe. W naszym sprzęcie tylko pin Echo czujnika ultradźwiękowego (US) jest pinem wejściowym, a wszystkie pozostałe są pinami wyjściowymi. Dlatego używamy funkcji pinMode Arduino, aby określić to samo, co pokazano poniżej
pinMode (wyzwalacz, WYJŚCIE); pinMode (echo, INPUT); pinMode (LED, WYJŚCIE); pinMode (MOSFET, WYJŚCIE);
Wewnątrz głównej funkcji pętli wywołujemy funkcję o nazwie Measure_distance (). Ta funkcja wykorzystuje czujnik US do pomiaru odległości obiektu przed nim i aktualizuje wartość do zmiennej „ odległość” . Aby zmierzyć odległość za pomocą czujnika US, pin wyzwalający musi być najpierw przytrzymany nisko przez dwie mikrosekundy, a następnie utrzymywany wysoko przez dziesięć mikrosekund i ponownie trzymany nisko przez dwie mikrosekundy. Spowoduje to wysłanie dźwiękowego podmuchu sygnałów ultradźwiękowych do powietrza, które zostaną odbite przez obiekt znajdujący się przed nim, a pin echa odbierze odbite przez niego sygnały. Następnie wykorzystujemy wartość czasu do obliczenia odległości obiektu przed czujnikiem. Jeśli chcesz wiedzieć