Liknande sensorer finns lika mycket som RC-generatorer. Men det visar sig att du kan "lära" hur man mäter en sensors förändrade kapacitet Arduino - programvara, en extern generator krävs inte för detta. Och du kan skapa sensorn själv gör det själv - om sådant hemgjorda produkt berättar författaren till Instructables under smeknamnet luismorales-navarro.
Guiden utvecklar fyra sensordetaljer och laddar upp de resulterande filerna till webbplatsen Tinkercad: innerrör, hennes omslag, ytterrör och hennes omslag. Skriver ut dessa delar på en 3D-skrivare.
Packar in rör med aluminiumfolie, fäster ledare på dem. Här koppar till aluminium - du kan väl påverka noggrannheten, det är allt. I kraftkretsar är det inte möjligt, även om det bara finns "bara tiotals milliampar".
Befälhavaren samlar sensorn, tätar den med smältlim, ser till att den inte läcker och vätskan inte kommer i kontakt med folien någonstans. När allt kommer omkring krävs det att sensorn är kapacitiv och inte resistiv.
Ansluts till Arduino som visas nedan. Av de ytterligare komponenterna krävs endast ett motstånd. Naturligtvis kan instruktionen ha rätt: "Sensation! Nivåmätare från ett motstånd!", Men det är omedelbart klart att det här är "gröt från en yxa".
Befälhavaren kontrollerar funktionen hos sensorn med ett enkelt program som kräver CapacitiveSensing-biblioteket:
/ * * CapitiveSense Library Demo Sketch
* Paul Badger 2008 * Använder ett högt värde motstånd t.ex. 10M mellan sändstift och mottagestift
* Motstånd påverkar känslighet, experiment med värden, 50K - 50M. Större motståndsvärden ger större sensorvärden.
* Mottagestift är sensorstiftet - prova olika mängder folie / metall på denna stift
* /
CapacitiveSensor cs_4_2 = CapacitiveSensor (4.2);
// 10M motstånd mellan stift 4 och 2, stift 2 är sensorpinne, lägg till en tråd och eller folie om önskat tomrumsinställning () {cs_4_2.set_CS_AutocaL_Millis (0xFFFFFFFF);
// stänga av autokalibrering på kanal 1 - precis som ett exempel Serial.begin (9600); } void loop () {lång start = millis (); lång total1 = cs_4_2.capacitiveSensor (30); Serial.print (millis () - start);
// kontrollera prestanda i millisekunder Serial.print ("\ t");
// tabbtecken för felsökning av vindavstånd Avstånd Serial.print (total1);
// skrivarsensorutgång 1 Serial.print ("\ t"); fördröjning (10);
// godtycklig försening för att begränsa data till serieport}
Bli inte förvånad över bristen på linjeflöden - det var vad originalet gjorde. Mätningsdata skickas till seriell portmonitor. I framtiden kan det föreslagna fragmentet integreras i mer komplexa skisser, där larmet om för stor eller låg vätskenivå, kontroll av ställdon implementeras.