Podobne czujniki istnieją tak samo jak generatory RC. Okazuje się jednak, że można „nauczyć”, jak mierzyć zmieniającą się pojemność czujnika Arduino - oprogramowanie, zewnętrzny generator nie jest do tego wymagany. I możesz zrobić sam czujnik zrób to sam - o takich domowej roboty mówi autorowi Instructables pod pseudonimem luismorales-navarro.
Kreator opracowuje cztery szczegóły czujnika i przesyła uzyskane pliki do witryny Tinkercad: dętka, jej okładka, zewnętrzna rura i jej okładka. Drukuje te części na drukarce 3D.
Owija rury folią aluminiową, mocuje do nich przewody. Tutaj, od miedzi do aluminium - możesz, cóż, wpłynąć na dokładność, to wszystko. W obwodach mocy nie jest to możliwe, nawet jeśli „jest tylko kilkadziesiąt miliamperów”.
Mistrz zbiera czujnik, uszczelnia go klejem topliwym, upewnia się, że nie przecieka, a ciecz nigdzie nie styka się z folią. W końcu wymagane jest, aby czujnik był pojemnościowy, a nie rezystancyjny.
Łączy się z Arduino, jak pokazano poniżej. Z dodatkowych elementów wymagany jest tylko jeden opornik. Oczywiście instrukcja może być zatytułowana w następujący sposób: „Sensacja! Wskaźnik poziomu z jednego opornika!”, Ale od razu jest jasne, że jest to „owsianka z siekiery”.
Master sprawdza działanie czujnika za pomocą najprostszego programu wymagającego biblioteki CapacitiveSensing:
/ * * Szkic demonstracyjny biblioteki CapitiveSense
* Paul Badger 2008 * Wykorzystuje rezystor o wysokiej wartości, np. 10 M pomiędzy pinem wysyłającym a pinem odbiorczym
* Czułość efektów rezystora, eksperymentuj z wartościami, 50K - 50M. Większe wartości rezystorów dają większe wartości czujników.
* Styk odbiorczy to styk czujnika - wypróbuj różne ilości folii / metalu na tym styku
* /
CapacitiveSensor cs_4_2 = CapacitiveSensor (4.2);
// 10M rezystor pomiędzy pinami 4 i 2, pin 2 jest pinem czujnika, dodaj drut i / lub folię, jeśli to pożądane, void setup () {cs_4_2.set_CS_AutocaL_Millis (0xFFFFFFFF);
// wyłącz autokalibrację na kanale 1 - tak jak na przykład Serial.begin (9600); } void loop () {long start = millis (); long total1 = cs_4_2.capacitiveSensor (30); Serial.print (millis () - start);
// sprawdź wydajność w milisekundach Serial.print ("\ t");
// znak tabulacji do debugowania odstępów okienkowych Serial.print (total1);
// wyjście czujnika wydruku 1 Serial.print ("\ t"); opóźnienie (10);
// dowolne opóźnienie w celu ograniczenia danych do portu szeregowego}
Nie zdziw się brakiem linii - tak właśnie zrobił oryginał. Dane pomiarowe są wysyłane do monitora portu szeregowego. W przyszłości proponowany fragment można zintegrować z bardziej złożonymi szkicami, w których realizowany jest alarm o zbyt dużym lub niskim poziomie cieczy, kontrola siłowników.