Slični senzori postoje koliko i RC generatori. Ali ispada da možete "naučiti" kako mjeriti promjenjivu sposobnost senzora Težak - softver, vanjski generator nije potreban za to. A senzor možete napraviti i sami učinite to sami - o takvim domaći proizvod govori autor Instructables pod nadimkom luismorales-navarro.
Čarobnjak razvija četiri pojedinosti o senzoru i prenosi rezultirajuće datoteke na web mjesto Tinkercad: unutarnja cijev, njezin pokrov, vanjska cijev i njezin pokrov, Ispisuje ove dijelove na 3D pisaču.
Omotava cijevi aluminijskom folijom, na njih pričvršćuje vodiče. Evo, bakar do aluminij - možete utjecati na točnost, to je sve. U strujnim krugovima to nije moguće, čak i ako postoje "samo desetine miliampera".
Majstor skuplja senzor, zavari ga vrućim ljepilom, osigurava da ne propušta, a tekućina ne dolazi nigdje u kontakt s folijom. Uostalom, zahtijeva se da senzor bude kapacitivan, a ne otporan.
Povezuje se s Arduinom kao što je prikazano u nastavku. Od dodatnih komponenti potreban je samo jedan otpornik. Naravno, upute bi mogle imati naslov: "Osjećaj! Mjerač nivoa od jednog otpornika!", Ali odmah je jasno da je to "kaša iz sjekire".
Voditelj provjerava operativnost senzora pomoću najjednostavnijeg programa koji zahtijeva knjižnicu CapacitiveSensing:
/ * * Demo skica biblioteke CapitiveSense
* Paul Badger 2008 * Koristi otpornik visoke vrijednosti, npr. 10M između PIN-a za slanje i PIN-a za primanje
* Otpornost na osjetljivost, eksperiment s vrijednostima, 50K - 50M. Veće vrijednosti otpornika daju veće vrijednosti senzora.
* Prijemni pin je pin osjetnika - isprobajte različite količine folije / metala na ovom pinu
* /
CapacitiveSensor cs_4_2 = CapacitiveSensor (4.2);
// 10M otpornik između pinova 4 i 2, pin 2 je senzorski pin, dodajte žicu i / ili foliju ako želite podešavanje praznine () {cs_4_2.set_CS_AutocaL_Millis (0xFFFFFFFF);
// isključiti automatsku kalibraciju na kanalu 1 - baš kao primjer Serial.begin (9600); } void petlje () {long start = millis (); long total1 = cs_4_2.capacitiveSensor (30); Serijski.print (millis () - start);
// provjera performansi u milisekundi Serial.print ("\ t");
// znak tablice za uklanjanje pogrešaka s proredom windown Serial.print (total1);
// ispis senzora za ispis 1 Serial.print ("\ t"); kašnjenje (10);
// proizvoljno kašnjenje radi ograničavanja podataka na serijski ulaz}
Nemojte se iznenaditi nedostatkom linijskih feedova - ovo je ono što je original učinio. Podaci mjerenja šalju se monitoru serijskih portova. Ubuduće se predloženi fragment može integrirati u složenije skice, u kojima se provodi alarm zbog prevelike ili preniske razine tekućine, kontrola pokretača.