INHOUDSOPGAWE:

Bou van 'n kapasitiewe vloeistofsensor: 8 stappe (met foto's)
Bou van 'n kapasitiewe vloeistofsensor: 8 stappe (met foto's)

Video: Bou van 'n kapasitiewe vloeistofsensor: 8 stappe (met foto's)

Video: Bou van 'n kapasitiewe vloeistofsensor: 8 stappe (met foto's)
Video: 🛜Neil Degrasse Tyson, WRONG about Tesla?!? 🛜 ​⁠@joerogan (30min) 2024, November
Anonim
Bou 'n kapasitiewe vloeistofsensor
Bou 'n kapasitiewe vloeistofsensor

'N Kapasitiewe vloeibare borg maak staat daarop dat die kapasitansie of lading tussen 2 metaalplate sal verander (in hierdie geval toeneem), afhangende van die materiaal tussen hulle. Dit stel ons in staat om 'n niveausensor te skep wat veilig is vir gebruik met enige vloeistof; hierdie een sal in 'n karretjie met petrol (petrol) gebruik word. Een bord is aan die grond gehaak. Die ander skakel met pen 23. Daar is 'n weerstand van 820K ohm van pen 22 tot 23. Die sensor werk deur die kondensator (die waterbottel) te laai en te meet hoe lank dit neem om deur die weerstand te dreineer.

Stap 1: Onderdele

Dele
Dele

1. Dit is absoluut nie nodig om 'n broodbord sonder soldeer te gebruik nie, maar maak dit baie makliker, veral as u van plan is om later ander goed by te voeg. 2. Arduino, ek gebruik 'n Arduino mega, maar 'n standaard moet net genoeg penne hê. 3. LCD karakter vertoon. 4. 'n Paar eindpunte, insluitend 'n draad en 'n 1MΩ -weerstand. 5. 'n Rekenaar, die ding wat u gebruik om my instruksies mee te lees. 6. Geduld.

Stap 2: Koppel die LCD aan en laat u skepping met die wêreld praat

Koppel die LCD en laat u skepping met die wêreld praat
Koppel die LCD en laat u skepping met die wêreld praat

Soos elke stap in hierdie instruksies, is daar baie maniere om dit te doen. Ek sal jou my gunsteling wys.

U lcd het 16 soldeerblokkies met gate, dus die eerste ding is om 'n paar penne vas te maak. As u patent is, beveel ek aan dat u 'n kop soos hierdie https://www.sparkfun.com/commerce/product_info.php?products_id=117 koop. Maar as u so vinnig as moontlik (soos ek) klaar wil wees, kan u draad gebruik. Sny eenvoudig 16 stukke draad ongeveer 13 mm (langer is goed). Soldeer dit dan aan die bord.

Stap 3: Verbind die LCD Vervolg

Die aansluiting van die LCD vervolg
Die aansluiting van die LCD vervolg
Die aansluiting van die LCD vervolg
Die aansluiting van die LCD vervolg

Sondes Ek gebruik spesiale karakters. Ek verbind al die drade.

Pin 1 Grondpen 2 +5 Volt Pin 3 Kontrasaanpassing Pin 4 RS Pin 5 R/W Gaan na grondpen 6-14 Data Pin 15 Back-light Power Pin 16 Back-light Ground

Stap 4: Data lyne

Data lyne
Data lyne
Data lyne
Data lyne

Nou moet u die Arduino aan die lcd koppel. Dit maak nie saak watter penne u gebruik nie, maar ek beveel aan dat u die skematiese volg.

Stap 5: Skakel MaHaHaHa in

Krag MaHaHaHa
Krag MaHaHaHa

Die usb-poort op u rekenaar het genoeg krag om die Arduino en agterligte te laat werk, dus koppel net die grond en die rails op u broodbord aan op die krag op die Arduino-bord.

Stap 6: Maak 'n kapasitiewe sensor

Maak 'n kapasitiewe sensor
Maak 'n kapasitiewe sensor
Maak 'n kapasitiewe sensor
Maak 'n kapasitiewe sensor

Vir die toets het ek aluminiumfoelie en 'n plastiekwaterbottel gebruik; dit werk saam met enige houer, solank dit nie metaal is nie.

U kan enige tipe draad gebruik, maar enige nie -afgedekte lyne lewer swak prestasie. U kan 2 penne gebruik. Ek kies 22 en 23. Koppel die een kant aan die grond en die ander aan 'n weerstand en 2 I/O -penne.

Stap 7: Programmering

Programmering
Programmering

U moet 2 biblioteeklêers byvoeg om hierdie LiquidCrystal.h https://arduino.cc/en/Tutorial/LiquidCrystalCapSense.h https://www.arduino.cc/playground/Main/CapSenseCopy te laat werk en dit in Arduino 0017 te verwerk of nuwer. // Kapasitiewe vloeistofsensor // Vadim 7 Desember 2009 #include #include // Dit is om die grootte van die lcd const int numRows = f = 4 in te stel; const int numCols = 20; // Dit bepaal die penne vir die 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 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}; ongeldige opstelling () {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"); } leemte lus () {lang brandstof; lcd.createChar (2, blok); lang begin = millis (); brandstof = cs_22_23.capSenseRaw (200); // Temratue maak 'n bietjie verskil, so laat dit vir 5 minute loop voordat dit ingestel word. // Pas hierdie getal aan sodat die uitset so na as moontlik aan nul is. brandstof = brandstof - 7200; // Vul dan die conataner in // Un-comment en pas dit aan sodat die uitset, wanneer die houer vol is, // so naby as 100 is. // brandstof = brandstof /93; lcd.setCursor (0, 0); lcd.print (""); lcd.setCursor (0, 0); lcd.print (brandstof); as (brandstof> = 6) {lcd.setCursor (1, 3); lcd.print (2, BYTE); } anders {lcd.setCursor (1, 3); lcd.print (""); } as (brandstof> = 12) {lcd.setCursor (2, 3); lcd.print (2, BYTE); } anders {lcd.setCursor (2, 3); lcd.print (""); } as (brandstof> = 17) {lcd.setCursor (3, 3); lcd.print (2, BYTE); } anders {lcd.setCursor (3, 3); lcd.print (""); } as (brandstof> = 23) {lcd.setCursor (4, 3); lcd.print (2, BYTE); } anders {lcd.setCursor (4, 3); lcd.print (""); } as (brandstof> = 28) {lcd.setCursor (5, 3); lcd.print (2, BYTE); } anders {lcd.setCursor (5, 3); lcd.print (""); } as (brandstof> = 34) {lcd.setCursor (6, 3); lcd.print (2, BYTE); } anders {lcd.setCursor (6, 3); lcd.print (""); } as (brandstof> = 39) {lcd.setCursor (7, 3); lcd.print (2, BYTE); } anders {lcd.setCursor (7, 3); lcd.print (""); } as (brandstof> = 44) {lcd.setCursor (8, 3); lcd.print (2, BYTE); } anders {lcd.setCursor (8, 3); lcd.print (""); } as (brandstof> = 50) {lcd.setCursor (9, 3); lcd.print (2, BYTE); } anders {lcd.setCursor (9, 3); lcd.print (""); } as (brandstof> = 55) {lcd.setCursor (10, 3); lcd.print (2, BYTE); } anders {lcd.setCursor (10, 3); lcd.print (""); } as (brandstof> = 60) {lcd.setCursor (11, 3); lcd.print (2, BYTE); } anders {lcd.setCursor (11, 3); lcd.print (""); } as (brandstof> = 64) {lcd.setCursor (12, 3); lcd.print (2, BYTE); } anders {lcd.setCursor (12, 3); lcd.print (""); } if (brandstof> = 69) {lcd.setCursor (13, 3); lcd.print (2, BYTE); } anders {lcd.setCursor (13, 3); lcd.print (""); } if (brandstof> = 74) {lcd.setCursor (14, 3); lcd.print (2, BYTE); } anders {lcd.setCursor (14, 3); lcd.print (""); } as (brandstof> = 78) {lcd.setCursor (15, 3); lcd.print (2, BYTE); } anders {lcd.setCursor (15, 3); lcd.print (""); } if (brandstof> = 83) {lcd.setCursor (16, 3); lcd.print (2, BYTE); } anders {lcd.setCursor (16, 3); lcd.print (""); } as (brandstof> = 87) {lcd.setCursor (17, 3); lcd.print (2, BYTE); } anders {lcd.setCursor (17, 3); lcd.print (""); } as (brandstof> = 92) {lcd.setCursor (18, 3); lcd.print (2, BYTE); } anders {lcd.setCursor (18, 3); lcd.print (""); } as (brandstof> = 96) {lcd.setCursor (19, 3); lcd.print ("F"); } anders {lcd.setCursor (19, 3); lcd.print (""); } vertraging (50); }

Stap 8: goed

Dit is ideaal vir die meting van vlugtige vloeistowwe, selfs in 'n propaantenk. Hê pret. Alle inligting is slegs vir opvoedkundige doeleindes, en ek kan nie verantwoordelik gehou word as u uself opblaas nie.

Aanbeveel: