Spisu treści:

Budowa pojemnościowego czujnika cieczy: 8 kroków (ze zdjęciami)
Budowa pojemnościowego czujnika cieczy: 8 kroków (ze zdjęciami)

Wideo: Budowa pojemnościowego czujnika cieczy: 8 kroków (ze zdjęciami)

Wideo: Budowa pojemnościowego czujnika cieczy: 8 kroków (ze zdjęciami)
Wideo: Ups. 2024, Listopad
Anonim
Budowa pojemnościowego czujnika cieczy
Budowa pojemnościowego czujnika cieczy

Pojemnościowy sponsor płynny polega na tym, że pojemność lub ładunek między 2 metalowymi płytkami zmieni się (w tym przypadku wzrośnie) w zależności od tego, jaki materiał znajduje się między nimi. Dzięki temu możemy stworzyć czujnik poziomu, który jest bezpieczny do użycia z każdą cieczą, ten będzie używany w wózku z benzyną (benzyną). Jedna płyta jest zaczepiona do podłoża. Drugi łączy się z pinem 23. Od pinu 22 do 23 jest rezystor 820K omów. Czujnik działa poprzez ładowanie kondensatora (butelki z wodą) i mierzenie czasu potrzebnego do spuszczenia przez rezystor.

Krok 1: Części

Części
Części

1. Deska do krojenia chleba bez lutu nie jest absolutnie potrzebna, ale znacznie ułatwia to, zwłaszcza jeśli planujesz później dodać inne rzeczy. 2. Arduino, używam Arduino mega, ale standardowy powinien mieć wystarczająco dużo pinów. 3. Wyświetlacz znakowy LCD. 4. Kilka drobiazgów, w tym trochę drutu i rezystor 1MΩ. 5. Komputer, wiesz, ta rzecz, której używasz do czytania moich instrukcji. 6. Cierpliwość.

Krok 2: Podłączanie wyświetlacza LCD i pozwalanie Twojemu stworzeniu rozmawiać ze światem

Podłączanie wyświetlacza LCD i pozwalanie swojemu dziełu rozmawiać ze światem
Podłączanie wyświetlacza LCD i pozwalanie swojemu dziełu rozmawiać ze światem

Jak każdy krok w tej instrukcji, istnieje wiele sposobów na zrobienie tego. Pokażę ci mój ulubiony.

Twój lcd ma 16 podkładek lutowniczych, więc pierwszą rzeczą jest dołączenie kilku pinów. Jeśli masz patent, polecam zakup nagłówka takiego jak ten https://www.sparkfun.com/commerce/product_info.php?products_id=117. Ale jeśli chcesz zrobić to tak szybko, jak to możliwe (tak jak ja), możesz użyć drutu. Po prostu odetnij 16 kawałków drutu na około 1/2 (13mm (dłuższy jest w porządku)). Następnie przylutuj je do płytki.

Krok 3: Podłączanie wyświetlacza LCD Ciąg dalszy

Podłączanie wyświetlacza LCD Ciąg dalszy
Podłączanie wyświetlacza LCD Ciąg dalszy
Podłączanie wyświetlacza LCD Ciąg dalszy
Podłączanie wyświetlacza LCD Ciąg dalszy

Grzechy używam znaków specjalnych będę łączył wszystkie przewody.

Styk 1 Uziemienie Styk 2 +5 V Styk 3 Regulacja kontrastu Styk 4 RS Styk 5 R/W Idzie do masy Styk 6-14 Dane Styk 15 Zasilanie podświetlenia Styk 16 Uziemienie podświetlenia

Krok 4: Linie danych

Linie danych
Linie danych
Linie danych
Linie danych

Teraz musisz podłączyć Arduino do lcd. Nie ma znaczenia jakich pinów użyjesz, ale polecam postępować zgodnie ze schematem.

Krok 5: Moc MahaHaHa

Moc mahahaha
Moc mahahaha

Port USB w twoim komputerze ma wystarczającą moc, aby uruchomić Arduino i podświetlenie led, więc po prostu podłącz uziemienie i szyny zasilające na płycie chlebowej do wyjścia zasilania na płycie Arduino.

Krok 6: Zrób czujnik pojemnościowy

Zrób czujnik pojemnościowy
Zrób czujnik pojemnościowy
Zrób czujnik pojemnościowy
Zrób czujnik pojemnościowy

Do testów użyłem folii aluminiowej i plastikowej butelki na wodę. Będzie działać z każdym pojemnikiem, o ile nie jest metalowy.

Możesz użyć dowolnego rodzaju przewodu, ale wszelkie nieekranowane linie zapewnią słabą wydajność. Możesz użyć dowolnych 2 pinów, wybrałem 22 i 23. Podłącz jedną stronę do masy, a drugą do rezystora i 2 pinów I/O.

Krok 7: Programowanie

Programowanie
Programowanie

Aby to zadziałało, musisz dodać 2 pliki biblioteki LiquidCrystal.h https://arduino.cc/en/Tutorial/LiquidCrystalCapSense.h https://www.arduino.cc/playground/Main/CapSenseCopy i wkleić to do Arduino 0017 lub nowsze. //Pojemnościowy czujnik cieczy //Vadim 7 grudnia 2009 #include #include //To ustawienie rozmiaru lcd const int numRows = f=4; const int numCols = 20; //To ustawia piny dla lcd (RS, Enable, data 0-7) LiquidCrystal lcd (53, 52, 51, 50, 49, 48, 47, 46, 45, 44); #define Tempin 0x48 #define Tempout 0x49 CapSense cs_22_23 = CapSense(22, 23); blok uint8_t[8] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; uint8_t tl[8] = {0x0F, 0x08, 0x08, 0x08, 0x08, 0x08, 0x0F, 0x0F}; uint8_t tr[8] = {0x16, 0x11, 0x11, 0x11, 0x11, 0x11, 0x1D, 0x15}; uint8_t bl[8] = {0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x1F}; uint8_t br[8] = {0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x12, 0x18}; void setup() { lcd.begin(numRows, numCols); lcd.createChar(4, tl); lcd.createChar(5, tr); lcd.createChar(6, bl); lcd.createChar(7, br); lcd.setCursor(18, 0); lcd.print(4, BYTE); lcd.setCursor(19, 0); lcd.print(5, BYTE); lcd.setCursor(18, 1); lcd.print(6, BYTE); lcd.setCursor(19, 1); lcd.print(7, BYTE); lcd.setCursor(0, 2); lcd.print("Paliwo"); lcd.setCursor(0, 3); lcd.print("E"); } void loop() { długie paliwo; lcd.createChar(2, blok); długi start = mili(); paliwo = cs_22_23.capSenseRaw(200); //Temratue trochę zmienia, więc pozwól mu działać przez 5 minut przed dostrojeniem. //Dostosuj tę liczbę tak, aby wynik był jak najbardziej zbliżony do zera. paliwo = paliwo - 7200; //Następnie zapełnij kontener //Usuń komentarz i dostosuj go tak, aby wynik, gdy kontener jest pełny, //wynosił jak najbliżej 100. //paliwo = paliwo / 93; lcd.setCursor(0, 0); lcd.print(" "); lcd.setCursor(0, 0); lcd.print(paliwo); if (paliwo >= 6) { lcd.setCursor(1, 3); lcd.print(2, BYTE); } else { lcd.setCursor(1, 3); lcd.print(" "); } if (paliwo >= 12) { lcd.setCursor(2, 3); lcd.print(2, BYTE); } else { lcd.setCursor(2, 3); lcd.print(" "); } if (paliwo >= 17) { lcd.setCursor(3, 3); lcd.print(2, BYTE); } else { lcd.setCursor(3, 3); lcd.print(" "); } if (paliwo >= 23) { lcd.setCursor(4, 3); lcd.print(2, BYTE); } else { lcd.setCursor(4, 3); lcd.print(" "); } if (paliwo >= 28) { lcd.setCursor(5, 3); lcd.print(2, BYTE); } else { lcd.setCursor(5, 3); lcd.print(" "); } if (paliwo >= 34) { lcd.setCursor(6, 3); lcd.print(2, BYTE); } else { lcd.setCursor(6, 3); lcd.print(" "); } if (paliwo >= 39) { lcd.setCursor(7, 3); lcd.print(2, BYTE); } else { lcd.setCursor(7, 3); lcd.print(" "); } if (paliwo >= 44) { lcd.setCursor(8, 3); lcd.print(2, BYTE); } else { lcd.setCursor(8, 3); lcd.print(" "); } if (paliwo >= 50) { lcd.setCursor(9, 3); lcd.print(2, BYTE); } else { lcd.setCursor(9, 3); lcd.print(" "); } if (paliwo >= 55) { lcd.setCursor(10, 3); lcd.print(2, BYTE); } else { lcd.setCursor(10, 3); lcd.print(" "); } if (paliwo >= 60) { lcd.setCursor(11, 3); lcd.print(2, BYTE); } else { lcd.setCursor(11, 3); lcd.print(" "); } if (paliwo >= 64) { lcd.setCursor(12, 3); lcd.print(2, BYTE); } else { lcd.setCursor(12, 3); lcd.print(" "); } if (paliwo >= 69) { lcd.setCursor(13, 3); lcd.print(2, BYTE); } else { lcd.setCursor(13, 3); lcd.print(" "); } if (paliwo >= 74) { lcd.setCursor(14, 3); lcd.print(2, BYTE); } else { lcd.setCursor(14, 3); lcd.print(" "); } if (paliwo >= 78) { lcd.setCursor(15, 3); lcd.print(2, BYTE); } else { lcd.setCursor(15, 3); lcd.print(" "); } if (paliwo >= 83) { lcd.setCursor(16, 3); lcd.print(2, BYTE); } else { lcd.setCursor(16, 3); lcd.print(" "); } if (paliwo >= 87) { lcd.setCursor(17, 3); lcd.print(2, BYTE); } else { lcd.setCursor(17, 3); lcd.print(" "); } if (paliwo >= 92) { lcd.setCursor(18, 3); lcd.print(2, BYTE); } else { lcd.setCursor(18, 3); lcd.print(" "); } if (paliwo >= 96) { lcd.setCursor(19, 3); lcd.print("F"); } else { lcd.setCursor(19, 3); lcd.print(" "); } opóźnienie (50); }

Krok 8: Rzeczy

Jest to idealne rozwiązanie do pomiaru lotnych cieczy, nawet działa w zbiorniku z propanem. Baw się dobrze. Wszelkie informacje służą wyłącznie celom edukacyjnym i nie mogę ponosić odpowiedzialności, jeśli wysadzisz się w powietrze.

Zalecana: