Sadržaj:

Izrada kapacitivnog senzora tekućine: 8 koraka (sa slikama)
Izrada kapacitivnog senzora tekućine: 8 koraka (sa slikama)

Video: Izrada kapacitivnog senzora tekućine: 8 koraka (sa slikama)

Video: Izrada kapacitivnog senzora tekućine: 8 koraka (sa slikama)
Video: Zoran Kalinić: Osnove tehničkih materijala 2024, Novembar
Anonim
Izrada kapacitivnog senzora tekućine
Izrada kapacitivnog senzora tekućine

Kapacitivni tekući sponzor oslanja se na činjenicu da će se kapacitet ili naboj između 2 metalne ploče promijeniti (u ovom slučaju povećati) ovisno o materijalu koji se nalazi između njih. To nam omogućuje stvaranje senzora razine koji je siguran za upotrebu sa bilo kojom tekućinom, ovaj će se koristiti u kolicima s benzinom (benzinom). Jedna ploča je zakačena za zemlju. Drugi se spaja na pin 23. Postoji otpornik od 820K ohma od pina 22 do 23. Senzor radi tako da napuni kondenzator (bocu za vodu) i mjeri koliko je vremena potrebno za istjecanje kroz otpornik.

Korak 1: Dijelovi

Delovi
Delovi

1. Ploča za kruh bez lemljenja strogo nije potrebna, ali će je uvelike olakšati, pogotovo ako kasnije planirate dodati druge stvari. 2. Arduino, koristim Arduino mega, ali standardni bi trebao imati dovoljno pinova. 3. LCD prikaz znakova. 4. Neki izgledi i završeci, uključujući žicu i otpornik od 1 MΩ. 5. Računalo, znate, ono s čime čitate moje instrukcije. 6. Strpljenje.

Korak 2: Povežite LCD i dopustite svom stvaranju da razgovara sa svijetom

Povezivanje LCD -a i puštanje vaše kreacije da razgovara sa svijetom
Povezivanje LCD -a i puštanje vaše kreacije da razgovara sa svijetom

Kao i svaki korak u ovom uputstvu, postoji mnogo načina za to. Pokazaću vam svoju omiljenu.

Vaš LCD ima 16 lemnih jastučića s rupom za grlo, pa prvo morate pričvrstiti igle. Ako imate patent, preporučujem vam da kupite ovakvo zaglavlje https://www.sparkfun.com/commerce/product_info.php?products_id=117. Ali ako želite završiti što je brže moguće (poput mene), možete koristiti žicu. Jednostavno izrežite 16 komada žice na otprilike 1/2 (13 mm (duže je u redu)). Zatim ih lemite na ploču.

Korak 3: Povezivanje LCD -a Nastavak

Povezivanje LCD -a Nastavak
Povezivanje LCD -a Nastavak
Povezivanje LCD -a Nastavak
Povezivanje LCD -a Nastavak

Grijesi Koristim posebne znakove, povezat ću sve žice.

Pin 1 Uzemljenje Pin 2 +5 Volt Pin 3 Podešavanje kontrasta Pin 4 RS Pin 5 R/W Ide na uzemljenje Pin 6-14 Podaci Pin 15 Pozadinsko osvetljenje Utikač 16 Pozadinsko osvetljenje Uzemljenje

Korak 4: Linije podataka

Linije podataka
Linije podataka
Linije podataka
Linije podataka

Sada morate spojiti Arduino na LCD. Nije važno koje pinove koristite, ali preporučujem da slijedite shemu.

Korak 5: Uključite MaHaHaHa

Snaga MaHaHaHa
Snaga MaHaHaHa

USB priključak na vašem računaru ima dovoljno snage za pokretanje Arduina i LED pozadinsko svjetlo, pa samo spojite uzemljenje i ograde na ploči za kruh na napajanje na Arduino ploči.

Korak 6: Napravite kapacitivni senzor

Napravite kapacitivni senzor
Napravite kapacitivni senzor
Napravite kapacitivni senzor
Napravite kapacitivni senzor

Za testiranje sam koristio aluminijsku foliju i plastičnu bocu za vodu. Radit će s bilo kojim spremnikom sve dok nije metalni.

Možete koristiti bilo koju vrstu žice, ali sve nezaštićene linije pružit će loše performanse. Možete koristiti bilo koja 2 pina, ja sam odabrao 22 i 23. Spojite jednu stranu na masu, a drugu na otpornik i 2 U/I pina.

Korak 7: Programiranje

Programiranje
Programiranje

Morate dodati 2 datoteke biblioteke da bi ovo funkcioniralo LiquidCrystal.h https://arduino.cc/en/Tutorial/LiquidCrystalCapSense.h https://www.arduino.cc/playground/Main/CapSenseCopy i prošlo ovo u Arduino 0017 ili novije. // Kapacitivni osjetnik tekućine // Vadim 7. prosinca 2009. #include #include // Ovim se namješta veličina lcd const int numRows = f = 4; const int numCols = 20; // Ovim se postavljaju pinovi za lcd (RS, Enable, podaci 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 ("Gorivo"); lcd.setCursor (0, 3); lcd.print ("E"); } void loop () {dugo gorivo; lcd.createChar (2, blok); long start = millis (); gorivo = cs_22_23.capSenseRaw (200); // Temratue čini malu razliku pa pustite da radi 5 minuta prije podešavanja. // Podesite ovaj broj tako da izlaz bude što je moguće bliže nuli. gorivo = gorivo - 7200; // Zatim napunite conataner // Poništi komentar i podesite ovo tako da izlaz, kada je spremnik pun, // bude što bliže 100. // gorivo = gorivo /93; lcd.setCursor (0, 0); lcd.print (""); lcd.setCursor (0, 0); lcd.print (gorivo); if (gorivo> = 6) {lcd.setCursor (1, 3); lcd.print (2, BYTE); } else {lcd.setCursor (1, 3); lcd.print (""); } if (gorivo> = 12) {lcd.setCursor (2, 3); lcd.print (2, BYTE); } else {lcd.setCursor (2, 3); lcd.print (""); } if (gorivo> = 17) {lcd.setCursor (3, 3); lcd.print (2, BYTE); } else {lcd.setCursor (3, 3); lcd.print (""); } if (gorivo> = 23) {lcd.setCursor (4, 3); lcd.print (2, BYTE); } else {lcd.setCursor (4, 3); lcd.print (""); } if (gorivo> = 28) {lcd.setCursor (5, 3); lcd.print (2, BYTE); } else {lcd.setCursor (5, 3); lcd.print (""); } if (gorivo> = 34) {lcd.setCursor (6, 3); lcd.print (2, BYTE); } else {lcd.setCursor (6, 3); lcd.print (""); } if (gorivo> = 39) {lcd.setCursor (7, 3); lcd.print (2, BYTE); } else {lcd.setCursor (7, 3); lcd.print (""); } if (gorivo> = 44) {lcd.setCursor (8, 3); lcd.print (2, BYTE); } else {lcd.setCursor (8, 3); lcd.print (""); } if (gorivo> = 50) {lcd.setCursor (9, 3); lcd.print (2, BYTE); } else {lcd.setCursor (9, 3); lcd.print (""); } if (gorivo> = 55) {lcd.setCursor (10, 3); lcd.print (2, BYTE); } else {lcd.setCursor (10, 3); lcd.print (""); } if (gorivo> = 60) {lcd.setCursor (11, 3); lcd.print (2, BYTE); } else {lcd.setCursor (11, 3); lcd.print (""); } if (gorivo> = 64) {lcd.setCursor (12, 3); lcd.print (2, BYTE); } else {lcd.setCursor (12, 3); lcd.print (""); } if (gorivo> = 69) {lcd.setCursor (13, 3); lcd.print (2, BYTE); } else {lcd.setCursor (13, 3); lcd.print (""); } if (gorivo> = 74) {lcd.setCursor (14, 3); lcd.print (2, BYTE); } else {lcd.setCursor (14, 3); lcd.print (""); } if (gorivo> = 78) {lcd.setCursor (15, 3); lcd.print (2, BYTE); } else {lcd.setCursor (15, 3); lcd.print (""); } if (gorivo> = 83) {lcd.setCursor (16, 3); lcd.print (2, BYTE); } else {lcd.setCursor (16, 3); lcd.print (""); } if (gorivo> = 87) {lcd.setCursor (17, 3); lcd.print (2, BYTE); } else {lcd.setCursor (17, 3); lcd.print (""); } if (gorivo> = 92) {lcd.setCursor (18, 3); lcd.print (2, BYTE); } else {lcd.setCursor (18, 3); lcd.print (""); } if (gorivo> = 96) {lcd.setCursor (19, 3); lcd.print ("F"); } else {lcd.setCursor (19, 3); lcd.print (""); } kašnjenje (50); }

Korak 8: Stvari

Ovo je savršeno za mjerenje hlapljivih tekućina, čak radi i unutar spremnika za propan. Zabavi se. Sve i sve informacije su samo u obrazovne svrhe i ne mogu biti odgovoran ako se raznesete.

Preporučuje se: