Cuprins:

Construirea unui senzor de lichid capacitiv: 8 pași (cu imagini)
Construirea unui senzor de lichid capacitiv: 8 pași (cu imagini)

Video: Construirea unui senzor de lichid capacitiv: 8 pași (cu imagini)

Video: Construirea unui senzor de lichid capacitiv: 8 pași (cu imagini)
Video: Bazele pneumaticii - Senzori 2024, Noiembrie
Anonim
Construirea unui senzor de lichid capacitiv
Construirea unui senzor de lichid capacitiv

Un sponsor lichid capacitiv se bazează pe faptul că capacitatea sau sarcina dintre 2 plăci metalice se vor schimba (în acest caz crescând) în funcție de materialul dintre ele. Acest lucru ne permite să creăm un senzor de nivel care să fie sigur pentru utilizarea cu orice lichid, acesta va fi folosit într-un buggy cu benzină (benzină). O placă este legată de sol. Celălalt se conectează la pinul 23. Există un rezistor de 820K ohmi de la pinul 22 la 23. Senzorul funcționează încărcând condensatorul (sticla de apă) și măsurând cât durează scurgerea prin rezistor.

Pasul 1: Piese

Părți
Părți

1. O placă de lipit fără lipire nu este strict necesară, dar simplifica-o mult, mai ales dacă intenționați să adăugați alte lucruri mai târziu. 2. Arduino, folosesc un mega Arduino, dar unul standard ar trebui să aibă doar suficiente pini. 3. Afișaj LCD cu caractere. 4. Unele cote și capete, inclusiv unele fire și un rezistor de 1MΩ. 5. Știi, un computer pe care îl folosești pentru a-mi citi instructivul. 6. Răbdare.

Pasul 2: Conectarea ecranului LCD și lăsarea creației dvs. să vorbească cu lumea

Conectarea ecranului LCD și lăsarea creației dvs. să vorbească cu lumea
Conectarea ecranului LCD și lăsarea creației dvs. să vorbească cu lumea

Ca fiecare pas din acest instructable, există multe modalități de a face acest lucru. Îți voi arăta preferatul meu.

LCD-ul dvs. are 16 plăcuțe de lipit cu gaură, așa că primul lucru este să atașați niște pini. Dacă brevetul dvs. vă recomand să achiziționați un antet de genul acesta https://www.sparkfun.com/commerce/product_info.php?products_id=117. Dar dacă doriți să faceți cât mai repede posibil (ca mine), atunci puteți folosi sârmă. Tăiați simplu 16 bucăți de sârmă la aproximativ 1/2 (13 mm (mai lung este bine)). Apoi lipiți-le pe tablă.

Pasul 3: Conectarea ecranului LCD a continuat

Conectarea ecranului LCD a continuat
Conectarea ecranului LCD a continuat
Conectarea ecranului LCD a continuat
Conectarea ecranului LCD a continuat

Păcate Folosesc caractere speciale Voi conecta toate firele.

Pin 1 Masă Pin 2 +5 Volți Pin 3 Reglare contrast Pin 4 RS Pin 5 R / W Merge la masă Pin 6-14 Pin de date 15 Lumina de fundal Pin de alimentare 16 Lumina de fundal Masă

Pasul 4: Linii de date

Linii de date
Linii de date
Linii de date
Linii de date

Acum trebuie să conectați Arduino la ecranul LCD. Nu contează ce pini folosiți, dar vă recomand să urmați schema.

Pasul 5: Puterea MaHaHaHa

Puterea MaHaHaHa
Puterea MaHaHaHa

Portul USB de pe computerul dvs. are suficientă putere pentru a rula Arduino și iluminarea din spate a ledului, deci conectați la sol și șinele de alimentare de pe placa de pâine la puterea de pe placa Arduino.

Pasul 6: Faceți senzor capacitiv

Faceți senzor capacitiv
Faceți senzor capacitiv
Faceți senzor capacitiv
Faceți senzor capacitiv

Pentru testare am folosit folie de aluminiu și o sticlă de apă din plastic, va funcționa cu orice recipient atât timp cât nu este metalic.

Puteți utiliza orice tip de sârmă, dar toate liniile fără ecranare vor oferi performanțe slabe. Puteți folosi oricare 2 pini, eu am ales 22 și 23. Conectați o parte la masă și cealaltă la un rezistor și 2 pini I / O.

Pasul 7: Programare

Programare
Programare

Trebuie să adăugați 2 fișiere de bibliotecă pentru ca acest lucru să funcționeze LiquidCrystal.h https://arduino.cc/en/Tutorial/LiquidCrystalCapSense.h https://www.arduino.cc/playground/Main/CapSenseCopy și treceți acest lucru în Arduino 0017 sau mai nou. // Senzor lichid capacitiv // Vadim 7 decembrie 2009 #include #include // Aceasta este pentru a seta dimensiunea lcd const int numRows = f = 4; const int numCols = 20; // Aceasta setează pinii pentru 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); bloc uint8_t [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 („Combustibil”); lcd.setCursor (0, 3); lcd.print ("E"); } void loop () {combustibil lung; lcd.createChar (2, bloc); start lung = milis (); fuel = cs_22_23.capSenseRaw (200); // Temratue face un pic de difrență, așa că lăsați-l să ruleze 5 minute înainte de acord. // Reglați acest număr astfel încât ieșirea să fie cât mai aproape de zero. combustibil = combustibil - 7200; // Apoi umpleți conatanerul // Anulați comentariile și ajustați-le astfel încât ieșirea, când containerul este plin, // să fie cât mai aproape de 100 posibil. // combustibil = combustibil / 93; lcd.setCursor (0, 0); lcd.print (""); lcd.setCursor (0, 0); imprimare lcd (combustibil); if (combustibil> = 6) {lcd.setCursor (1, 3); lcd.print (2, BYTE); } else {lcd.setCursor (1, 3); lcd.print (""); } if (combustibil> = 12) {lcd.setCursor (2, 3); lcd.print (2, BYTE); } else {lcd.setCursor (2, 3); lcd.print (""); } if (combustibil> = 17) {lcd.setCursor (3, 3); lcd.print (2, BYTE); } else {lcd.setCursor (3, 3); lcd.print (""); } if (combustibil> = 23) {lcd.setCursor (4, 3); lcd.print (2, BYTE); } else {lcd.setCursor (4, 3); lcd.print (""); } if (combustibil> = 28) {lcd.setCursor (5, 3); lcd.print (2, BYTE); } else {lcd.setCursor (5, 3); lcd.print (""); } if (combustibil> = 34) {lcd.setCursor (6, 3); lcd.print (2, BYTE); } else {lcd.setCursor (6, 3); lcd.print (""); } if (combustibil> = 39) {lcd.setCursor (7, 3); lcd.print (2, BYTE); } else {lcd.setCursor (7, 3); lcd.print (""); } if (combustibil> = 44) {lcd.setCursor (8, 3); lcd.print (2, BYTE); } else {lcd.setCursor (8, 3); lcd.print (""); } if (combustibil> = 50) {lcd.setCursor (9, 3); lcd.print (2, BYTE); } else {lcd.setCursor (9, 3); lcd.print (""); } if (combustibil> = 55) {lcd.setCursor (10, 3); lcd.print (2, BYTE); } else {lcd.setCursor (10, 3); lcd.print (""); } if (combustibil> = 60) {lcd.setCursor (11, 3); lcd.print (2, BYTE); } else {lcd.setCursor (11, 3); lcd.print (""); } if (combustibil> = 64) {lcd.setCursor (12, 3); lcd.print (2, BYTE); } else {lcd.setCursor (12, 3); lcd.print (""); } if (combustibil> = 69) {lcd.setCursor (13, 3); lcd.print (2, BYTE); } else {lcd.setCursor (13, 3); lcd.print (""); } if (combustibil> = 74) {lcd.setCursor (14, 3); lcd.print (2, BYTE); } else {lcd.setCursor (14, 3); lcd.print (""); } if (combustibil> = 78) {lcd.setCursor (15, 3); lcd.print (2, BYTE); } else {lcd.setCursor (15, 3); lcd.print (""); } if (combustibil> = 83) {lcd.setCursor (16, 3); lcd.print (2, BYTE); } else {lcd.setCursor (16, 3); lcd.print (""); } if (combustibil> = 87) {lcd.setCursor (17, 3); lcd.print (2, BYTE); } else {lcd.setCursor (17, 3); lcd.print (""); } if (combustibil> = 92) {lcd.setCursor (18, 3); lcd.print (2, BYTE); } else {lcd.setCursor (18, 3); lcd.print (""); } if (combustibil> = 96) {lcd.setCursor (19, 3); lcd.print ("F"); } else {lcd.setCursor (19, 3); lcd.print (""); } întârziere (50); }

Pasul 8: Lucruri

Acest lucru este perfect pentru măsurarea lichidelor volatile, chiar și în interiorul unui rezervor de propan. A se distra. Orice informație are doar scop educativ și nu pot fi tras la răspundere dacă vă aruncați în aer.

Recomandat: