Съдържание:

Изграждане на капацитивен сензор за течност: 8 стъпки (със снимки)
Изграждане на капацитивен сензор за течност: 8 стъпки (със снимки)

Видео: Изграждане на капацитивен сензор за течност: 8 стъпки (със снимки)

Видео: Изграждане на капацитивен сензор за течност: 8 стъпки (със снимки)
Видео: Capacitive sensors DC M18 / Капацитивен сензор M18 2024, Ноември
Anonim
Изграждане на капацитивен сензор за течност
Изграждане на капацитивен сензор за течност

Капацитивният течен спонсор разчита на факта, че капацитетът или зарядът между 2 метални пластини ще се промени (в този случай ще се увеличи) в зависимост от материала, който е между тях. Това ни позволява да създадем сензор за ниво, който е безопасен за използване с всякаква течност, този ще се използва в бъги с бензин (бензин). Едната плоча е закачена към земята. Другият се свързва към щифт 23. Има резистор от 820K ома от щифт 22 до 23. Сензорът работи, като зарежда кондензатора (бутилката с вода) и измерва колко време отнема да се източи през резистора.

Стъпка 1: Части

Части
Части

1. Дъска за хляб без спойка строго не е необходима, но го прави много по-лесно, особено ако планирате да добавите други неща по-късно. 2. Arduino, използвам Arduino мега, но стандартният трябва да има достатъчно щифтове. 3. LCD дисплей с символи. 4. Някои коефициенти и краища, включително някои проводници и 1MΩ резистор. 5. Компютър, знаете, това нещо, което използвате, за да прочетете инструкциите ми. 6. Търпение.

Стъпка 2: Свързване на LCD дисплея и позволяване на вашето творение да говори със света

Свързване на LCD дисплея и позволяване на вашето творение да говори със света
Свързване на LCD дисплея и позволяване на вашето творение да говори със света

Както всяка стъпка в тази инструкция, има много начини да направите това. Ще ви покажа моята любима.

Вашият LCD има 16 подложки за запояване с дупки, така че първото нещо е да прикрепите няколко щифта. Ако вашият патент препоръчвам закупуване на заглавка като тази https://www.sparkfun.com/commerce/product_info.php?products_id=117. Но ако искате да свършите възможно най -бързо (като мен), можете да използвате проводник. Просто изрежете 16 парчета тел на около 1/2 (13 мм (по -дълъг е добре)). След това ги запоявайте към дъската.

Стъпка 3: Свързване на LCD Продължава

Свързване на LCD Продължава
Свързване на LCD Продължава
Свързване на LCD Продължава
Свързване на LCD Продължава

Грехове Използвам специални знаци Ще свържа всички проводници.

ПИН 1 Заземен щифт 2 +5 Волтов щифт 3 Регулиране на контраста ПИН 4 RS ПИН 5 R/W Преминава към заземяващ ПИН 6-14 ПИН за данни 15 Захранващ щифт за задно осветяване 16 Заден светлинен заземяващ

Стъпка 4: Линии за данни

Линии за данни
Линии за данни
Линии за данни
Линии за данни

Сега трябва да свържете Arduino към lcd. Не е важно какви щифтове използвате, но препоръчвам да следвате схемата.

Стъпка 5: Захранване MaHaHaHa

Мощност MaHaHaHa
Мощност MaHaHaHa

USB портът на вашия компютър има достатъчно мощност, за да стартира Arduino и LED подсветка, така че просто свържете земята и захранващите релси на дъската за хляб към захранването на платката Arduino.

Стъпка 6: Направете капацитивен сензор

Направете капацитивен сензор
Направете капацитивен сензор
Направете капацитивен сензор
Направете капацитивен сензор

За тестване използвах алуминиево фолио и пластмасова бутилка за вода, тя ще работи с всеки контейнер, стига да не е метален.

Можете да използвате всякакъв вид тел, но всички екранирани линии ще осигурят лоша производителност. Можете да използвате всякакви 2 пина, аз избрах 22 и 23. Свържете едната страна към земята, а другата към резистор и 2 I/O пина.

Стъпка 7: Програмиране

Програмиране
Програмиране

Трябва да добавите 2 библиотечни файла, за да работи тази работа LiquidCrystal.h https://arduino.cc/en/Tutorial/LiquidCrystalCapSense.h https://www.arduino.cc/playground/Main/CapSenseCopy и мина през това в Arduino 0017 или по -нова. // Капацитивен сензор за течност // Вадим 7 декември 2009 г. #include #include // Това е за задаване на размера на lcd const int numRows = f = 4; const int numCols = 20; // Това задава щифтовете за 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 блок [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 ("Гориво"); lcd.setCursor (0, 3); lcd.print ("E"); } void loop () {дълго гориво; lcd.createChar (2, блок); дълъг старт = millis (); гориво = cs_22_23.capSenseRaw (200); // Temratue прави малко разлика, така че оставете да работи 5 минути преди настройка. // Регулирайте това число, така че изходът да е възможно най -близо до нула. гориво = гориво - 7200; // След това попълнете конататора // Декоментирайте и го регулирайте така, че изходът, когато контейнерът е пълен, // да е възможно най-близо до 100. // гориво = гориво /93; lcd.setCursor (0, 0); lcd.print (""); lcd.setCursor (0, 0); lcd.print (гориво); if (гориво> = 6) {lcd.setCursor (1, 3); lcd.print (2, BYTE); } else {lcd.setCursor (1, 3); lcd.print (""); } if (гориво> = 12) {lcd.setCursor (2, 3); lcd.print (2, BYTE); } else {lcd.setCursor (2, 3); lcd.print (""); } if (гориво> = 17) {lcd.setCursor (3, 3); lcd.print (2, BYTE); } else {lcd.setCursor (3, 3); lcd.print (""); } if (гориво> = 23) {lcd.setCursor (4, 3); lcd.print (2, BYTE); } else {lcd.setCursor (4, 3); lcd.print (""); } if (гориво> = 28) {lcd.setCursor (5, 3); lcd.print (2, BYTE); } else {lcd.setCursor (5, 3); lcd.print (""); } if (гориво> = 34) {lcd.setCursor (6, 3); lcd.print (2, BYTE); } else {lcd.setCursor (6, 3); lcd.print (""); } if (гориво> = 39) {lcd.setCursor (7, 3); lcd.print (2, BYTE); } else {lcd.setCursor (7, 3); lcd.print (""); } if (гориво> = 44) {lcd.setCursor (8, 3); lcd.print (2, BYTE); } else {lcd.setCursor (8, 3); lcd.print (""); } if (гориво> = 50) {lcd.setCursor (9, 3); lcd.print (2, BYTE); } else {lcd.setCursor (9, 3); lcd.print (""); } if (гориво> = 55) {lcd.setCursor (10, 3); lcd.print (2, BYTE); } else {lcd.setCursor (10, 3); lcd.print (""); } if (гориво> = 60) {lcd.setCursor (11, 3); lcd.print (2, BYTE); } else {lcd.setCursor (11, 3); lcd.print (""); } if (гориво> = 64) {lcd.setCursor (12, 3); lcd.print (2, BYTE); } else {lcd.setCursor (12, 3); lcd.print (""); } if (гориво> = 69) {lcd.setCursor (13, 3); lcd.print (2, BYTE); } else {lcd.setCursor (13, 3); lcd.print (""); } if (гориво> = 74) {lcd.setCursor (14, 3); lcd.print (2, BYTE); } else {lcd.setCursor (14, 3); lcd.print (""); } if (гориво> = 78) {lcd.setCursor (15, 3); lcd.print (2, BYTE); } else {lcd.setCursor (15, 3); lcd.print (""); } if (гориво> = 83) {lcd.setCursor (16, 3); lcd.print (2, BYTE); } else {lcd.setCursor (16, 3); lcd.print (""); } if (гориво> = 87) {lcd.setCursor (17, 3); lcd.print (2, BYTE); } else {lcd.setCursor (17, 3); lcd.print (""); } if (гориво> = 92) {lcd.setCursor (18, 3); lcd.print (2, BYTE); } else {lcd.setCursor (18, 3); lcd.print (""); } if (гориво> = 96) {lcd.setCursor (19, 3); lcd.print ("F"); } else {lcd.setCursor (19, 3); lcd.print (""); } забавяне (50); }

Стъпка 8: Неща

Това е идеално за измерване на летливи течности, дори работи в резервоар с пропан. Забавлявай се. Всякаква информация е само за образователни цели и не мога да нося отговорност, ако се взривите.

Препоръчано: