Lignende sensorer findes lige så meget som RC-generatorer. Men det viser sig, at du kan "lære", hvordan man måler en sensors skiftende kapacitet Arduino - software, en ekstern generator er ikke påkrævet for dette. Og du kan lave selve sensoren gør det selv - om sådan hjemmelavet produkt fortæller forfatteren af Instructables under kaldenavnet luismorales-navarro.
Guiden udvikler fire sensordetaljer og uploader de resulterende filer til Tinkercad-webstedet: indre rør, hendes dækning, ydre rør og hendes dækning. Udskriver disse dele på en 3D-printer.
Ombrydes rør med aluminiumsfolie, fastgør ledere til dem. Her kobber til aluminium - du kan godt påvirke nøjagtigheden, det er alt. I strømkredsløb er det ikke muligt, selvom der er "kun snesevis af milliampere".
Skibsføreren opsamler sensoren, forsegler den med varmt smeltelim, sørger for, at den ikke lækker, og væsken ikke kommer i kontakt med folien nogen steder. Når alt kommer til alt kræves det, at sensoren er kapacitiv og ikke modstandsdygtig.
Opretter forbindelse til Arduino som vist nedenfor. Af de ekstra komponenter kræves kun en modstand. Naturligvis kunne instruktionen have titlen: "Sensation! Niveaumåler fra en modstand!", Men det er øjeblikkeligt klart, at dette er "grød fra en øks".
Masteren kontrollerer sensibiliteten med sensoren med det enkleste program, der kræver biblioteket CapacitiveSensing:
/ * * CapitiveSense Library Demo Sketch
* Paul Badger 2008 * Bruger en modstand med høj værdi f.eks. 10M mellem sendestift og modtagestift
* Modstand påvirker følsomhed, eksperimenterer med værdier, 50K - 50M. Større modstandsværdier giver større sensorværdier.
* Modtagestiften er sensorpinden - prøv forskellige mængder folie / metal på denne pin
* /
CapacitiveSensor cs_4_2 = CapacitiveSensor (4.2);
// 10M modstand mellem stifter 4 & 2, stift 2 er sensorpind, tilføj en ledning og eller folie om ønsket tomrumsopsætning () {cs_4_2.set_CS_AutocaL_Millis (0xFFFFFFFF);
// Sluk for autokalibrering på kanal 1 - lige som et eksempel Serial.begin (9600); } void loop () {lang start = millis (); lang total1 = cs_4_2.capacitiveSensor (30); Serial.print (millis () - start);
// Kontroller ydelsen i millisekunder Serial.print ("\ t");
// fanekarakter for debug windown-afstand Serial.print (total1);
// print sensor output 1 Serial.print ("\ t"); forsinkelse (10);
// vilkårlig forsinkelse for at begrænse data til seriel port}
Bliv ikke overrasket over manglen på linjefeeds - det er, hvad originalen gjorde. Måledata sendes til serielportmonitoren. I fremtiden kan det foreslåede fragment integreres i mere komplekse skitser, hvor alarmen om for højt eller lavt væskeniveau, kontrol af aktuatorer implementeres.