Inhoudsopgave:

Een capacitieve vloeistofsensor bouwen - Ajarnpa
Een capacitieve vloeistofsensor bouwen - Ajarnpa

Video: Een capacitieve vloeistofsensor bouwen - Ajarnpa

Video: Een capacitieve vloeistofsensor bouwen - Ajarnpa
Video: Hardware-trick! Bouw uw eigen draadloze watersensor in 3 eenvoudige stappen 2024, November
Anonim
Een capacitieve vloeistofsensor bouwen
Een capacitieve vloeistofsensor bouwen

Een capacitieve vloeistofsponsor vertrouwt op het feit dat de capaciteit of lading tussen 2 metalen platen zal veranderen (in dit geval toenemen), afhankelijk van het materiaal ertussen. Hierdoor kunnen we een niveausensor maken die veilig is voor gebruik met elke vloeistof, deze zal worden gebruikt in een buggy met benzine (benzine). Een plaat is vastgehaakt aan de grond. De andere sluit aan op pin 23. Er is een weerstand van 820K ohm van pin 22 naar 23. De sensor werkt door de condensator (de waterfles) op te laden en te meten hoe lang het duurt om door de weerstand te lopen.

Stap 1: Onderdelen

Onderdelen
Onderdelen

1. Een soldeerloze broodplank is absoluut niet nodig, maar maakt het een stuk eenvoudiger, vooral als je van plan bent later andere dingen toe te voegen. 2. Arduino, ik gebruik een Arduino-mega, maar een standaardversie zou net genoeg pinnen moeten hebben. 3. LCD-tekenweergave. 4. Enkele kansen en doelen, inclusief wat draad en een weerstand van 1MΩ. 5. Een computer, weet je, dat ding dat je gebruikt om mijn instructable mee te lezen. 6. Geduld.

Stap 2: Het LCD-scherm aansluiten en uw creatie met de wereld laten praten

Het LCD-scherm aansluiten en uw creatie met de wereld laten praten
Het LCD-scherm aansluiten en uw creatie met de wereld laten praten

Zoals elke stap in deze instructable zijn er veel manieren om dit te doen. Ik zal je mijn favoriet laten zien.

Je lcd heeft 16 soldeerpads met troe-gaten, dus het eerste wat je moet doen, is een paar pinnen bevestigen. Als je patent hebt, raad ik aan om een header als deze te kopen: https://www.sparkfun.com/commerce/product_info.php?products_id=117. Maar als je zo snel mogelijk klaar wilt zijn (zoals ik), dan kun je draad gebruiken. Knip eenvoudig 16 stukjes draad af op ongeveer 1/2 (13 mm (langer is goed)). Soldeer ze vervolgens aan het bord.

Stap 3: Het LCD-scherm aansluiten Vervolg

Het LCD-scherm aansluiten Vervolg
Het LCD-scherm aansluiten Vervolg
Het LCD-scherm aansluiten Vervolg
Het LCD-scherm aansluiten Vervolg

Zonden Ik gebruik speciale tekens. Ik zal alle draden aansluiten.

Pin 1 Massa Pin 2 +5 Volt Pin 3 Contrast aanpassen Pin 4 RS Pin 5 R/W Gaat naar massa Pin 6-14 Data Pin 15 Back-light Power Pin 16 Back-light Ground

Stap 4: Datalijnen

Datalijnen
Datalijnen
Datalijnen
Datalijnen

Nu moet je de Arduino op het lcd-scherm aansluiten. Het maakt niet uit welke pinnen je gebruikt, maar ik raad aan om het schema te volgen.

Stap 5: Macht MaHaHaHa

Macht MaHaHaHa
Macht MaHaHaHa

De usb-poort op je computer heeft genoeg stroom om de Arduino en led-achtergrondverlichting te laten werken, dus sluit gewoon de grond en stroomrails op je breadboard aan op de stroomuitgang op het Arduino-bord.

Stap 6: Maak capacitieve sensor

Maak capacitieve sensor
Maak capacitieve sensor
Maak capacitieve sensor
Maak capacitieve sensor

Voor het testen heb ik aluminiumfolie en een plastic waterfles gebruikt. Het werkt met elke container zolang het geen metaal is.

U kunt elk type draad gebruiken, maar niet-afgeschermde lijnen leveren slechte prestaties. Je kunt elke 2 pinnen gebruiken, ik heb 22 en 23 gekozen. Verbind de ene kant met aarde en de andere met een weerstand en 2 I / O-pinnen.

Stap 7: Programmeren

Programmeren
Programmeren

U moet 2 bibliotheekbestanden toevoegen om dit te laten werken LiquidCrystal.h https://arduino.cc/en/Tutorial/LiquidCrystalCapSense.h https://www.arduino.cc/playground/Main/CapSenseCopy en dit in Arduino 0017 te plakken of nieuwer. //Capacitieve vloeistofsensor //Vadim 7 december 2009 #include #include //Dit is om de grootte van de lcd in te stellen const int numRows = f=4; const int aantalKollen = 20; //Hiermee worden de pinnen voor het lcd-scherm ingesteld (RS, inschakelen, 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 blok[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("Brandstof"); lcd.setCursor(0, 3); lcd.print("E"); } void loop() { lange brandstof; lcd.createChar(2, blok); lange start = millis(); brandstof = cs_22_23.capSenseRaw(200); //Temratue maakt een klein verschil, dus laat het 5 minuten draaien voordat je gaat stemmen. // Pas dit aantal aan zodat de uitvoer zo dicht mogelijk bij nul ligt. brandstof = brandstof - 7200; //Vul dan de conataner //Un-commentaar en pas dit aan zodat de output, wanneer de container vol is, // zo dicht mogelijk bij 100 ligt. //brandstof = brandstof / 93; lcd.setCursor(0, 0); lcd.print(" "); lcd.setCursor(0, 0); lcd.print(brandstof); if (brandstof >= 6) { lcd.setCursor(1, 3); lcd.print(2, BYTE); } else { lcd.setCursor(1, 3); lcd.print(" "); } if (brandstof >= 12) { lcd.setCursor(2, 3); lcd.print(2, BYTE); } else { lcd.setCursor(2, 3); lcd.print(" "); } if (brandstof >= 17) { lcd.setCursor (3, 3); lcd.print(2, BYTE); } else { lcd.setCursor (3, 3); lcd.print(" "); } if (brandstof >= 23) { lcd.setCursor(4, 3); lcd.print(2, BYTE); } else { lcd.setCursor(4, 3); lcd.print(" "); } if (brandstof >= 28) { lcd.setCursor(5, 3); lcd.print(2, BYTE); } else { lcd.setCursor(5, 3); lcd.print(" "); } if (brandstof >= 34) { lcd.setCursor(6, 3); lcd.print(2, BYTE); } else { lcd.setCursor(6, 3); lcd.print(" "); } if (brandstof >= 39) { lcd.setCursor(7, 3); lcd.print(2, BYTE); } else { lcd.setCursor(7, 3); lcd.print(" "); } if (brandstof >= 44) { lcd.setCursor (8, 3); lcd.print(2, BYTE); } else { lcd.setCursor (8, 3); lcd.print(" "); } if (brandstof >= 50) { lcd.setCursor(9, 3); lcd.print(2, BYTE); } else { lcd.setCursor(9, 3); lcd.print(" "); } if (brandstof >= 55) { lcd.setCursor(10, 3); lcd.print(2, BYTE); } else { lcd.setCursor(10, 3); lcd.print(" "); } if (brandstof >= 60) { lcd.setCursor (11, 3); lcd.print(2, BYTE); } else { lcd.setCursor(11, 3); lcd.print(" "); } if (brandstof >= 64) { lcd.setCursor (12, 3); lcd.print(2, BYTE); } else { lcd.setCursor (12, 3); lcd.print(" "); } if (brandstof >= 69) { lcd.setCursor(13, 3); lcd.print(2, BYTE); } else { lcd.setCursor(13, 3); lcd.print(" "); } if (brandstof >= 74) { lcd.setCursor (14, 3); lcd.print(2, BYTE); } else { lcd.setCursor(14, 3); lcd.print(" "); } if (brandstof >= 78) { lcd.setCursor (15, 3); lcd.print(2, BYTE); } else { lcd.setCursor (15, 3); lcd.print(" "); } if (brandstof >= 83) { lcd.setCursor (16, 3); lcd.print(2, BYTE); } else { lcd.setCursor (16, 3); lcd.print(" "); } if (brandstof >= 87) { lcd.setCursor (17, 3); lcd.print(2, BYTE); } else { lcd.setCursor (17, 3); lcd.print(" "); } if (brandstof >= 92) { lcd.setCursor (18, 3); lcd.print(2, BYTE); } else { lcd.setCursor (18, 3); lcd.print(" "); } if (brandstof >= 96) { lcd.setCursor (19, 3); lcd.print("F"); } else { lcd.setCursor(19, 3); lcd.print(" "); } vertraging (50); }

Stap 8: Spullen

Dit is perfect voor het meten van vluchtige vloeistoffen, werkt zelfs in een propaantank. Veel plezier. Alle informatie is alleen voor educatieve doeleinden en ik kan niet verantwoordelijk worden gehouden als je jezelf opblaast.

Aanbevolen: