Obsah:
Video: Budování kapacitního snímače kapaliny: 8 kroků (s obrázky)
2025 Autor: John Day | [email protected]. Naposledy změněno: 2025-01-13 06:57
Kapacitní tekutý sponzor spoléhá na skutečnost, že kapacita nebo náboj mezi 2 kovovými deskami se změní (v tomto případě se zvýší) v závislosti na tom, jaký materiál je mezi nimi. To nám umožňuje vytvořit snímač hladiny, který je bezpečný pro použití s jakoukoli kapalinou, tento bude použit v kočárku s benzínem (benzínem). Jedna deska je zavěšena na zem. Druhý se připojí ke kolíku 23. Od pinu 22 do 23 je odpor 820 K ohmů. Senzor funguje tak, že nabije kondenzátor (láhev s vodou) a měří, jak dlouho trvá, než se přes odpor vypustí.
Krok 1: Díly
1. Deska na chléb bez pájení je striktně nepotřebná, ale je mnohem snazší, zvláště pokud plánujete přidat další věci později. 2. Arduino, používám Arduino mega, ale standardní by mělo mít jen tolik pinů. 3. LCD znakový displej. 4. Některé šance a konce včetně nějakého drátu a odporu 1MΩ. 5. Počítač, víš, ta věc, se kterou čteš moje instrukce. 6. Trpělivost.
Krok 2: Připojení displeje LCD a nechte své dílo mluvit se světem
Jako každý krok v tomto pokynu existuje mnoho způsobů, jak to udělat. Ukážu vám své oblíbené.
Váš LCD displej má 16 pájecích podložek s otvorem, takže první věcí je připojit několik kolíků. Pokud máte svůj patent, doporučuji zakoupit záhlaví takto https://www.sparkfun.com/commerce/product_info.php?products_id=117. Ale pokud to chcete udělat co nejrychleji (jako já), můžete použít drát. Jednoduše ustřihněte 16 kusů drátu asi 13 mm (delší je v pořádku). Poté je připájejte k desce.
Krok 3: Připojení LCD Pokračování
Hříchy Používám speciální znaky Budu připojovat všechny dráty.
Kolík 1 Uzemňovací kolík 2 +5 V kolík 3 Nastavení kontrastu Kolík 4 RS Kolík 5 R/W jde k uzemnění Kolík 6-14 Datový kolík 15 Podsvícení Napájecí kolík 16 Podsvícení Uzemnění
Krok 4: Datové řádky
Nyní musíte připojit Arduino k LCD. Nezáleží na tom, jaké piny používáte, ale doporučuji postupovat podle schématu.
Krok 5: Napájení MaHaHaHa
USB port na vašem počítači má dostatek energie pro provoz Arduina a podsvícení LED, takže stačí připojit zemnicí a napájecí lišty na desce chleba k napájení na desce Arduino.
Krok 6: Vytvořte kapacitní senzor
Pro testování jsem použil hliníkovou fólii a plastovou láhev s vodou, bude fungovat s jakýmkoli kontejnerem, pokud není kovový.
Můžete použít jakýkoli typ drátu, ale jakékoli nestíněná vedení poskytnou špatný výkon. Můžete použít libovolné 2 piny, já jsem vybral 22 a 23. Připojte jednu stranu k zemi a druhou k rezistoru a 2 I/O pinům.
Krok 7: Programování
Aby to fungovalo, musíte přidat 2 soubory knihovny LiquidCrystal.h https://arduino.cc/en/Tutorial/LiquidCrystalCapSense.h https://www.arduino.cc/playground/Main/CapSenseCopy a vložit to do Arduina 0017 nebo novější. // Kapacitní kapalinový senzor // Vadim 7. prosince 2009 #include #include // Toto je nastavení velikosti lcd const int numRows = f = 4; const int numCols = 20; // Tím se nastaví piny pro 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); blok 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 („Palivo“); lcd.setCursor (0, 3); lcd.print ("E"); } void loop () {dlouhé palivo; lcd.createChar (2, blok); dlouhý start = milis (); palivo = cs_22_23.capSenseRaw (200); // Temratue je trochu rozdíl, takže jej před laděním nechte běžet 5 minut. // Upravte toto číslo tak, aby byl výstup co nejblíže nule. palivo = palivo - 7200; // Potom vyplňte konatátor // Odkomentujte a upravte to tak, aby se výstup, když je kontejner plný, // co nejvíce blížil 100. // palivo = palivo /93; lcd.setCursor (0, 0); lcd.print (""); lcd.setCursor (0, 0); lcd.print (palivo); if (palivo> = 6) {lcd.setCursor (1, 3); lcd.print (2, BYTE); } else {lcd.setCursor (1, 3); lcd.print (""); } if (palivo> = 12) {lcd.setCursor (2, 3); lcd.print (2, BYTE); } else {lcd.setCursor (2, 3); lcd.print (""); } if (palivo> = 17) {lcd.setCursor (3, 3); lcd.print (2, BYTE); } else {lcd.setCursor (3, 3); lcd.print (""); } if (palivo> = 23) {lcd.setCursor (4, 3); lcd.print (2, BYTE); } else {lcd.setCursor (4, 3); lcd.print (""); } if (palivo> = 28) {lcd.setCursor (5, 3); lcd.print (2, BYTE); } else {lcd.setCursor (5, 3); lcd.print (""); } if (palivo> = 34) {lcd.setCursor (6, 3); lcd.print (2, BYTE); } else {lcd.setCursor (6, 3); lcd.print (""); } if (palivo> = 39) {lcd.setCursor (7, 3); lcd.print (2, BYTE); } else {lcd.setCursor (7, 3); lcd.print (""); } if (palivo> = 44) {lcd.setCursor (8, 3); lcd.print (2, BYTE); } else {lcd.setCursor (8, 3); lcd.print (""); } if (palivo> = 50) {lcd.setCursor (9, 3); lcd.print (2, BYTE); } else {lcd.setCursor (9, 3); lcd.print (""); } if (palivo> = 55) {lcd.setCursor (10, 3); lcd.print (2, BYTE); } else {lcd.setCursor (10, 3); lcd.print (""); } if (palivo> = 60) {lcd.setCursor (11, 3); lcd.print (2, BYTE); } else {lcd.setCursor (11, 3); lcd.print (""); } if (palivo> = 64) {lcd.setCursor (12, 3); lcd.print (2, BYTE); } else {lcd.setCursor (12, 3); lcd.print (""); } if (palivo> = 69) {lcd.setCursor (13, 3); lcd.print (2, BYTE); } else {lcd.setCursor (13, 3); lcd.print (""); } if (palivo> = 74) {lcd.setCursor (14, 3); lcd.print (2, BYTE); } else {lcd.setCursor (14, 3); lcd.print (""); } if (palivo> = 78) {lcd.setCursor (15, 3); lcd.print (2, BYTE); } else {lcd.setCursor (15, 3); lcd.print (""); } if (palivo> = 83) {lcd.setCursor (16, 3); lcd.print (2, BYTE); } else {lcd.setCursor (16, 3); lcd.print (""); } if (palivo> = 87) {lcd.setCursor (17, 3); lcd.print (2, BYTE); } else {lcd.setCursor (17, 3); lcd.print (""); } if (palivo> = 92) {lcd.setCursor (18, 3); lcd.print (2, BYTE); } else {lcd.setCursor (18, 3); lcd.print (""); } if (palivo> = 96) {lcd.setCursor (19, 3); lcd.print ("F"); } else {lcd.setCursor (19, 3); lcd.print (""); } zpoždění (50); }
Krok 8: Věci
To je ideální pro měření těkavých kapalin, dokonce funguje i v propanové nádrži. Bavte se. Veškeré informace jsou pouze pro vzdělávací účely a já nemohu nést odpovědnost, pokud se vyhodíte do vzduchu.