Innehållsförteckning:

Bygga en kapacitiv vätskesensor: 8 steg (med bilder)
Bygga en kapacitiv vätskesensor: 8 steg (med bilder)

Video: Bygga en kapacitiv vätskesensor: 8 steg (med bilder)

Video: Bygga en kapacitiv vätskesensor: 8 steg (med bilder)
Video: Как построить Desulfating емкостный зарядное устройство, в комплекте с Схема начала до конца 2024, November
Anonim
Bygga en kapacitiv vätskesensor
Bygga en kapacitiv vätskesensor

En kapacitiv vätskesponsor förlitar sig på att kapacitansen eller laddningen mellan 2 metallplattor kommer att förändras (i detta fall öka) beroende på vilket material som är mellan dem. Detta gör att vi kan skapa en nivåsensor som är säker att använda med alla vätskor, den här kommer att användas i en vagn med bensin (bensin). En platta hakas till marken. Den andra ansluter till stift 23. Det finns ett 820K ohm motstånd från stift 22 till 23. Sensorn fungerar genom att ladda kondensatorn (vattenflaskan) och mäta hur lång tid det tar att tömma genom motståndet.

Steg 1: Delar

Delar
Delar

1. En lödfri brödbräda behövs absolut inte, men gör det mycket enklare, särskilt om du planerar att lägga till andra saker senare. 2. Arduino, jag använder en Arduino mega men en standard bör ha tillräckligt med stift. 3. LCD -teckenvisning. 4. Några odds och ändar inklusive lite tråd och ett 1MΩ motstånd. 5. En dator, du vet, det du använder för att läsa mina instruktioner med. 6. Tålamod.

Steg 2: Anslut LCD -skärmen och låt ditt skapande prata med världen

Ansluta LCD -skärmen och låta din skapelse prata med världen
Ansluta LCD -skärmen och låta din skapelse prata med världen

Liksom varje steg i denna instruerbara finns det många sätt att göra detta. Jag visar dig min favorit.

Din LCD -skärm har 16 lödkuddar i hål så det första är att fästa några stift. Om ditt patent rekommenderar jag att du köper en rubrik som denna https://www.sparkfun.com/commerce/product_info.php?products_id=117. Men om du vill bli klar så snabbt som möjligt (som jag) kan du använda tråd. Enkelt skär 16 bitar av tråd på ca 1/2 (13 mm (längre är okej)). Löd sedan dem på brädet.

Steg 3: Anslutning av LCD fortsätter

Anslutning av LCD fortsätter
Anslutning av LCD fortsätter
Anslutning av LCD fortsätter
Anslutning av LCD fortsätter

Synder Jag använder specialtecken Jag kommer att ansluta alla ledningar.

Pin 1 Ground Pin 2 +5 Volt Pin 3 Kontrastjustering Pin 4 RS Pin 5 R/W Går till Ground Pin 6-14 Data Pin 15 Back-light Power Pin 16 Back-light Ground

Steg 4: Datarader

Datalinjer
Datalinjer
Datarader
Datarader

Nu måste du ansluta Arduino till LCD -skärmen. Det spelar ingen roll vilka stift du använder, men jag rekommenderar att du följer schemat.

Steg 5: Strömma MaHaHaHa

Kraft MaHaHaHa
Kraft MaHaHaHa

USB-porten på din dator har tillräckligt med ström för att köra Arduino och ledd bakgrundsbelysning så bara anslut marken och strömskenorna på ditt brödbräda till strömmen på Arduino-kortet.

Steg 6: Gör en kapacitiv sensor

Gör kapacitiv sensor
Gör kapacitiv sensor
Gör kapacitiv sensor
Gör kapacitiv sensor

För testning använde jag aluminiumfolie och en vattenflaska av plast, det fungerar med alla behållare så länge det inte är metall.

Du kan använda vilken typ av tråd som helst, men alla oskärmade linjer ger dålig prestanda. Du kan använda valfri 2 stift, jag valde 22 och 23. Anslut ena sidan till marken och den andra till en motståndare och 2 I/O -stift.

Steg 7: Programmering

Programmering
Programmering

Du måste lägga till 2 biblioteksfiler för att få detta att fungera LiquidCrystal.h https://arduino.cc/en/Tutorial/LiquidCrystalCapSense.h https://www.arduino.cc/playground/Main/CapSenseCopy och förbi detta till Arduino 0017 eller nyare. // Kapacitiv vätskesensor // Vadim 7 december 2009 #include #include // Detta är för att ställa in storleken på lcd const int numRows = f = 4; const int numCols = 20; // Detta anger stiften för 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); uint8_t block [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 ("Bränsle"); lcd.setCursor (0, 3); lcd.print ("E"); } void loop () {long fuel; lcd.createChar (2, block); lång start = millis (); bränsle = cs_22_23.capSenseRaw (200); // Temratue gör lite skillnad så låt den gå i 5 minuter innan du ställer in. // Justera detta nummer så att utgången är så nära noll som möjligt. bränsle = bränsle - 7200; // Fyll sedan på conataner // Avmarkera och justera detta så att utmatningen, när behållaren är full, // är så nära 100 som möjligt. // bränsle = bränsle /93; lcd.setCursor (0, 0); lcd.print (""); lcd.setCursor (0, 0); lcd.print (bränsle); if (bränsle> = 6) {lcd.setCursor (1, 3); lcd.print (2, BYTE); } annat {lcd.setCursor (1, 3); lcd.print (""); } if (bränsle> = 12) {lcd.setCursor (2, 3); lcd.print (2, BYTE); } annat {lcd.setCursor (2, 3); lcd.print (""); } if (bränsle> = 17) {lcd.setCursor (3, 3); lcd.print (2, BYTE); } annat {lcd.setCursor (3, 3); lcd.print (""); } if (bränsle> = 23) {lcd.setCursor (4, 3); lcd.print (2, BYTE); } annat {lcd.setCursor (4, 3); lcd.print (""); } if (bränsle> = 28) {lcd.setCursor (5, 3); lcd.print (2, BYTE); } annat {lcd.setCursor (5, 3); lcd.print (""); } if (bränsle> = 34) {lcd.setCursor (6, 3); lcd.print (2, BYTE); } annat {lcd.setCursor (6, 3); lcd.print (""); } if (bränsle> = 39) {lcd.setCursor (7, 3); lcd.print (2, BYTE); } annat {lcd.setCursor (7, 3); lcd.print (""); } if (bränsle> = 44) {lcd.setCursor (8, 3); lcd.print (2, BYTE); } annat {lcd.setCursor (8, 3); lcd.print (""); } if (bränsle> = 50) {lcd.setCursor (9, 3); lcd.print (2, BYTE); } annat {lcd.setCursor (9, 3); lcd.print (""); } if (bränsle> = 55) {lcd.setCursor (10, 3); lcd.print (2, BYTE); } annat {lcd.setCursor (10, 3); lcd.print (""); } if (bränsle> = 60) {lcd.setCursor (11, 3); lcd.print (2, BYTE); } annat {lcd.setCursor (11, 3); lcd.print (""); } if (bränsle> = 64) {lcd.setCursor (12, 3); lcd.print (2, BYTE); } annat {lcd.setCursor (12, 3); lcd.print (""); } if (bränsle> = 69) {lcd.setCursor (13, 3); lcd.print (2, BYTE); } annat {lcd.setCursor (13, 3); lcd.print (""); } if (bränsle> = 74) {lcd.setCursor (14, 3); lcd.print (2, BYTE); } annat {lcd.setCursor (14, 3); lcd.print (""); } if (bränsle> = 78) {lcd.setCursor (15, 3); lcd.print (2, BYTE); } annat {lcd.setCursor (15, 3); lcd.print (""); } if (bränsle> = 83) {lcd.setCursor (16, 3); lcd.print (2, BYTE); } annat {lcd.setCursor (16, 3); lcd.print (""); } if (bränsle> = 87) {lcd.setCursor (17, 3); lcd.print (2, BYTE); } annat {lcd.setCursor (17, 3); lcd.print (""); } if (bränsle> = 92) {lcd.setCursor (18, 3); lcd.print (2, BYTE); } annat {lcd.setCursor (18, 3); lcd.print (""); } if (bränsle> = 96) {lcd.setCursor (19, 3); lcd.print ("F"); } annat {lcd.setCursor (19, 3); lcd.print (""); } fördröjning (50); }

Steg 8: Saker

Detta är perfekt för mätning av flyktiga vätskor, fungerar även inuti en propantank. Ha så kul. All information är endast för utbildningsändamål och jag kan inte hållas ansvarig om du spränger dig själv.

Rekommenderad: