Innholdsfortegnelse:
- Trinn 1: Deler
- Trinn 2: Koble til LCD -skjermen og la skapelsen din snakke med verden
- Trinn 3: Koble til LCD -skjermen Fortsatt
- Trinn 4: Datalinjer
- Trinn 5: Slå på MaHaHaHa
- Trinn 6: Lag en kapasitiv sensor
- Trinn 7: Programmering
- Trinn 8: Ting
Video: Bygg en kapasitiv væskesensor: 8 trinn (med bilder)
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:26
En kapasitiv væskesponsor er avhengig av at kapasitansen eller ladningen mellom 2 metallplater vil endres (i dette tilfellet øke) avhengig av hvilket materiale som er mellom dem. Dette lar oss lage en nivåsensor som er trygg å bruke med hvilken som helst væske, denne vil bli brukt i en buggy med bensin (bensin). En tallerken er hektet til bakken. Den andre kobles til pin 23. Det er en 820K ohm motstand fra pin 22 til 23. Sensoren fungerer ved å lade kondensatoren (vannflasken) og måle hvor lang tid det tar å tømme gjennom motstanden.
Trinn 1: Deler
1. Et loddfritt brødbrett er strengt tatt ikke nødvendig, men gjør det mye enklere, spesielt hvis du planlegger å legge til andre ting senere. 2. Arduino, jeg bruker en Arduino mega, men en standard skal ha akkurat nok pinner. 3. LCD -tegnvisning. 4. Noen odds og ender, inkludert litt ledning og en 1MΩ motstand. 5. En datamaskin, du vet, den tingen du bruker til å lese instruksjonene mine med. 6. Tålmodighet.
Trinn 2: Koble til LCD -skjermen og la skapelsen din snakke med verden
Som hvert trinn i denne instruksjonsboken er det mange måter å gjøre dette på. Jeg skal vise deg min favoritt.
LCD -skjermen din har 16 hullloddeputer, så det første er å feste noen pinner. Hvis du er patent, anbefaler jeg at du kjøper en overskrift som denne https://www.sparkfun.com/commerce/product_info.php?products_id=117. Men hvis du vil bli ferdig så fort som mulig (som meg), kan du bruke wire. Kutt enkelt 16 stykker wire på 13 mm (lengre er greit). Lodd dem deretter til brettet.
Trinn 3: Koble til LCD -skjermen Fortsatt
Synder Jeg bruker spesialtegn. Jeg skal koble alle ledningene.
Pin 1 Ground Pin 2 +5 Volt Pin 3 Kontrastjuster Pin 4 RS Pin 5 R/W Går til Ground Pin 6-14 Data Pin 15 Back-light Power Pin 16 Back-light Ground
Trinn 4: Datalinjer
Nå må du koble Arduino til LCD -skjermen. Det spiller ingen rolle hvilke pins du bruker, men jeg anbefaler å følge skjematikken.
Trinn 5: Slå på MaHaHaHa
USB-porten på datamaskinen din har nok strøm til å kjøre Arduino og ledet bakgrunnslys, så bare koble bakken og strømskinnene på brødbrettet til strømmen på Arduino-kortet.
Trinn 6: Lag en kapasitiv sensor
For testing brukte jeg aluminiumsfolie og en vannflaske i plast. Den fungerer med hvilken som helst beholder så lenge den ikke er metall.
Du kan bruke alle typer ledninger, men ikke -skjermede linjer gir dårlig ytelse. Du kan bruke 2 pins, jeg valgte 22 og 23. Koble den ene siden til bakken og den andre til en motstand og 2 I/O -pinner.
Trinn 7: Programmering
Du må legge til 2 biblioteksfiler for å få dette til å fungere LiquidCrystal.h https://arduino.cc/en/Tutorial/LiquidCrystalCapSense.h https://www.arduino.cc/playground/Main/CapSenseCopy og forbi dette til Arduino 0017 eller nyere. // Kapasitiv væskesensor // Vadim 7. desember 2009 #include #include // Dette er for å angi størrelsen på lcd const int numRows = f = 4; const int numCols = 20; // Dette angir pinnene for 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 blokk [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}; ugyldig oppsett () {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 ("Drivstoff"); lcd.setCursor (0, 3); lcd.print ("E"); } void loop () {long fuel; lcd.createChar (2, blokk); lang start = millis (); drivstoff = cs_22_23.capSenseRaw (200); // Temratue gjør litt forskjell, så la den gå i 5 minutter før du stiller inn. // Juster dette tallet slik at utgangen er så nær null som mulig. drivstoff = drivstoff - 7200; // Fyll deretter opp conataner // Un-comment og juster dette slik at utgangen, når beholderen er full, // er så nær 100 som mulig. // drivstoff = drivstoff /93; lcd.setCursor (0, 0); lcd.print (""); lcd.setCursor (0, 0); lcd.print (drivstoff); hvis (drivstoff> = 6) {lcd.setCursor (1, 3); lcd.print (2, BYTE); } annet {lcd.setCursor (1, 3); lcd.print (""); } hvis (drivstoff> = 12) {lcd.setCursor (2, 3); lcd.print (2, BYTE); } annet {lcd.setCursor (2, 3); lcd.print (""); } if (drivstoff> = 17) {lcd.setCursor (3, 3); lcd.print (2, BYTE); } annet {lcd.setCursor (3, 3); lcd.print (""); } if (drivstoff> = 23) {lcd.setCursor (4, 3); lcd.print (2, BYTE); } annet {lcd.setCursor (4, 3); lcd.print (""); } if (drivstoff> = 28) {lcd.setCursor (5, 3); lcd.print (2, BYTE); } annet {lcd.setCursor (5, 3); lcd.print (""); } if (drivstoff> = 34) {lcd.setCursor (6, 3); lcd.print (2, BYTE); } annet {lcd.setCursor (6, 3); lcd.print (""); } if (drivstoff> = 39) {lcd.setCursor (7, 3); lcd.print (2, BYTE); } annet {lcd.setCursor (7, 3); lcd.print (""); } hvis (drivstoff> = 44) {lcd.setCursor (8, 3); lcd.print (2, BYTE); } annet {lcd.setCursor (8, 3); lcd.print (""); } if (drivstoff> = 50) {lcd.setCursor (9, 3); lcd.print (2, BYTE); } annet {lcd.setCursor (9, 3); lcd.print (""); } if (drivstoff> = 55) {lcd.setCursor (10, 3); lcd.print (2, BYTE); } annet {lcd.setCursor (10, 3); lcd.print (""); } hvis (drivstoff> = 60) {lcd.setCursor (11, 3); lcd.print (2, BYTE); } annet {lcd.setCursor (11, 3); lcd.print (""); } if (drivstoff> = 64) {lcd.setCursor (12, 3); lcd.print (2, BYTE); } annet {lcd.setCursor (12, 3); lcd.print (""); } if (drivstoff> = 69) {lcd.setCursor (13, 3); lcd.print (2, BYTE); } annet {lcd.setCursor (13, 3); lcd.print (""); } if (drivstoff> = 74) {lcd.setCursor (14, 3); lcd.print (2, BYTE); } annet {lcd.setCursor (14, 3); lcd.print (""); } if (drivstoff> = 78) {lcd.setCursor (15, 3); lcd.print (2, BYTE); } annet {lcd.setCursor (15, 3); lcd.print (""); } if (drivstoff> = 83) {lcd.setCursor (16, 3); lcd.print (2, BYTE); } annet {lcd.setCursor (16, 3); lcd.print (""); } if (drivstoff> = 87) {lcd.setCursor (17, 3); lcd.print (2, BYTE); } annet {lcd.setCursor (17, 3); lcd.print (""); } if (drivstoff> = 92) {lcd.setCursor (18, 3); lcd.print (2, BYTE); } annet {lcd.setCursor (18, 3); lcd.print (""); } if (drivstoff> = 96) {lcd.setCursor (19, 3); lcd.print ("F"); } annet {lcd.setCursor (19, 3); lcd.print (""); } forsinkelse (50); }
Trinn 8: Ting
Dette er perfekt for måling av flyktige væsker, til og med arbeider inne i en propantank. Ha det gøy. All informasjon er kun for utdanningsformål, og jeg kan ikke holdes ansvarlig hvis du sprenger deg selv.
Anbefalt:
Kapasitiv pekepenn for en engangs penn: 6 trinn (med bilder)
Kapasitiv pekepenn for en engangs penn: Jeg har et dusin Uni-ball Micro Roller Ball Pens. Jeg vil legge til en kapasitiv pekepinne på hetten på en av dem. Deretter kan hetten og pennen flyttes fra den ene pennen til den neste når den går tom for blekk. Jeg er takknemlig overfor Jason Poel Smith for hans
VÆSKESENSOR: 5 trinn
VÆSKESENSOR: Har du lagt merke til at når du beveger en vannslange fra side til side, slenger vannstrålen slangeretningen og retter seg etter den når bevegelsen stoppes. Å bestemme vinkelavbøyningen av vannstrålen ved slangens utgang ville gi en
ESP32 kapasitiv berøringsinngang ved bruk av "metalliske hullplugger" for knapper: 5 trinn (med bilder)
ESP32 kapasitiv berøringsinngang ved bruk av "Metallic Hole Plugs" for knapper: Da jeg var i ferd med å fullføre designbeslutninger for et kommende ESP32 WiFi Kit 32 -basert prosjekt som krever inngang med tre knapper, var et merkbart problem at WiFi Kit 32 ikke har en enkelt mekanisk trykknapp, ennå alene tre mekaniske knapper, f
DIY kapasitiv utladning 18650 spotbatterisveiser #6: 11 -trinn (med bilder)
DIY Kapasitiv utladning 18650 spotbatterisveiser #6: Her er den 6. batteri -fanen jeg har laget til dags dato. Siden min første MOT -sveiser har jeg hatt lyst til å gjøre en av disse, og jeg er glad jeg gjorde det! Denne bestemte jeg meg for å gjøre med en kondensator. ProTip er hvordan du lager en enkel Battery Tab -sveiser fra en
Kapasitiv berøring med Evive (Arduino -basert kontroller): 6 trinn (med bilder)
Kapasitiv berøring med Evive (Arduino -basert kontroller): Vet du hvordan smarttelefonens berøringsskjerm fungerer? Smarttelefonen har en rekke berøringssensorer under glassskjermen. I dag er den lett basert på kapasitansberøringsteknologi og til og med en lett berøring. Kapasitiv berøring føles