Obsah:

Budování kapacitního snímače kapaliny: 8 kroků (s obrázky)
Budování kapacitního snímače kapaliny: 8 kroků (s obrázky)

Video: Budování kapacitního snímače kapaliny: 8 kroků (s obrázky)

Video: Budování kapacitního snímače kapaliny: 8 kroků (s obrázky)
Video: ifm Electronic South Africa - Ice Bucket Challenge 2024, Listopad
Anonim
Budování kapacitního snímače kapaliny
Budování kapacitního snímače kapaliny

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

Díly
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

Propojení displeje LCD a nechat vaši tvorbu promluvit se světem
Propojení displeje LCD a nechat vaši tvorbu promluvit 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í

Připojení LCD pokračování
Připojení LCD pokračování
Připojení LCD pokračování
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

Datové řádky
Datové řádky
Datové řádky
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

Moc MaHaHaHa
Moc 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

Vyrobte kapacitní senzor
Vyrobte kapacitní senzor
Vyrobte kapacitní senzor
Vyrobte 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í

Programování
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.

Doporučuje: