Sommario:

Costruire un sensore di liquido capacitivo: 8 passaggi (con immagini)
Costruire un sensore di liquido capacitivo: 8 passaggi (con immagini)

Video: Costruire un sensore di liquido capacitivo: 8 passaggi (con immagini)

Video: Costruire un sensore di liquido capacitivo: 8 passaggi (con immagini)
Video: Sensori di umidità per terreno 2024, Dicembre
Anonim
Costruire un sensore di liquido capacitivo
Costruire un sensore di liquido capacitivo

Uno sponsor liquido capacitivo si basa sul fatto che la capacità o la carica tra 2 piastre metalliche cambierà (in questo caso aumenterà) a seconda di quale materiale si trova tra di loro. Questo ci consente di creare un sensore di livello sicuro per l'uso con qualsiasi liquido, questo verrà utilizzato in un buggy con benzina (benzina). Una piastra è agganciata a terra. L'altro si collega al pin 23. C'è un resistore da 820K ohm dal pin 22 al 23. Il sensore funziona caricando il condensatore (la bottiglia d'acqua) e misurando il tempo necessario per scaricare attraverso il resistore.

Passaggio 1: parti

Parti
Parti

1. Un breadboard senza saldatura non è strettamente necessario, ma lo rende molto più semplice, soprattutto se prevedi di aggiungere altre cose in un secondo momento. 2. Arduino, sto usando un Arduino mega ma uno standard dovrebbe avere abbastanza pin. 3. Display a caratteri LCD. 4. Alcune cianfrusaglie, tra cui un filo e un resistore da 1 MΩ. 5. Un computer, sai, quella cosa che usi per leggere il mio istruibile. 6. Pazienza.

Passaggio 2: collegare il display LCD e lasciare che la tua creazione parli al mondo

Collegare lo schermo LCD e lasciare che la tua creazione parli al mondo
Collegare lo schermo LCD e lasciare che la tua creazione parli al mondo

Come ogni passaggio di questo istruibile, ci sono molti modi per farlo. Ti mostrerò il mio preferito.

Il tuo lcd ha 16 pad di saldatura a tre fori, quindi la prima cosa è collegare alcuni pin. Se il tuo brevetto ti consiglio di acquistare un'intestazione come questa https://www.sparkfun.com/commerce/product_info.php?products_id=117. Ma se vuoi fare il più velocemente possibile (come me), puoi usare il filo. Taglia semplicemente 16 pezzi di filo a circa 1/2 (13 mm (più lungo va bene)). Quindi saldali alla scheda.

Passaggio 3: collegamento dell'LCD Continua

Collegamento dell'LCD Continua
Collegamento dell'LCD Continua
Collegamento dell'LCD Continua
Collegamento dell'LCD Continua

Peccati sto usando caratteri speciali collegherò tutti i fili.

Pin 1 Massa Pin 2 +5 Volt Pin 3 Regolazione contrasto Pin 4 RS Pin 5 R/W Va a massa Pin 6-14 Dati Pin 15 Alimentazione retroilluminazione Pin 16 Terra retroilluminazione

Passaggio 4: linee dati

Linee dati
Linee dati
Linee dati
Linee dati

Ora devi collegare l'Arduino all'LCD. Non importa quali pin usi, ma ti consiglio di seguire lo schema.

Passaggio 5: potenza MaHaHaHa

Potenza MaHaHaHa
Potenza MaHaHaHa

La porta USB sul tuo computer ha abbastanza potenza per far funzionare Arduino e la retroilluminazione a led, quindi basta collegare la terra e le rotaie di alimentazione sulla tua breadboard all'uscita sulla scheda Arduino.

Passaggio 6: creare un sensore capacitivo

Crea sensore capacitivo
Crea sensore capacitivo
Crea sensore capacitivo
Crea sensore capacitivo

Per i test ho usato un foglio di alluminio e una bottiglia d'acqua di plastica, funzionerà con qualsiasi contenitore purché non sia di metallo.

È possibile utilizzare qualsiasi tipo di cavo, ma qualsiasi linea non schermata fornirà prestazioni scadenti. Puoi usare 2 pin qualsiasi, ho scelto 22 e 23. Collega un lato a terra e l'altro a un resistore e 2 pin I/O.

Passaggio 7: programmazione

Programmazione
Programmazione

Devi aggiungere 2 file di libreria per farlo funzionare LiquidCrystal.h https://arduino.cc/en/Tutorial/LiquidCrystalCapSense.h https://www.arduino.cc/playground/Main/CapSenseCopy e incollalo in Arduino 0017 o più recente. //Sensore di liquido capacitivo //Vadim 7 dicembre 2009 #include #include //Questo serve per impostare la dimensione del display lcd const int numRows = f=4; const int numCols = 20; //Questo imposta i pin per l'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 blocco[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("Carburante"); lcd.setCursor(0, 3); lcd.print("E"); } void loop() { carburante lungo; lcd.createChar(2, blocco); inizio lungo = millis(); carburante = cs_22_23.capSenseRaw(200); //Tempratue fa un po' la differenza, quindi lascialo funzionare per 5 minuti prima di accordare. //Regola questo numero in modo che l'output sia il più vicino possibile a zero. carburante = carburante - 7200; //Quindi riempi il contenitore //Rimuovi commento e regolalo in modo che l'output, quando il contenitore è pieno, //sia il più vicino possibile a 100. //carburante = carburante / 93; lcd.setCursor(0, 0); lcd.print(" "); lcd.setCursor(0, 0); lcd.print(carburante); if (carburante >= 6) { lcd.setCursor(1, 3); lcd.print(2, BYTE); } else { lcd.setCursor(1, 3); lcd.print(" "); } if (carburante >= 12) { lcd.setCursor(2, 3); lcd.print(2, BYTE); } else { lcd.setCursor(2, 3); lcd.print(" "); } if (carburante >= 17) { lcd.setCursor(3, 3); lcd.print(2, BYTE); } else { lcd.setCursor(3, 3); lcd.print(" "); } if (carburante >= 23) { lcd.setCursor(4, 3); lcd.print(2, BYTE); } else { lcd.setCursor(4, 3); lcd.print(" "); } if (carburante >= 28) { lcd.setCursor(5, 3); lcd.print(2, BYTE); } else { lcd.setCursor(5, 3); lcd.print(" "); } if (carburante >= 34) { lcd.setCursor(6, 3); lcd.print(2, BYTE); } else { lcd.setCursor(6, 3); lcd.print(" "); } if (carburante >= 39) { lcd.setCursor(7, 3); lcd.print(2, BYTE); } else { lcd.setCursor(7, 3); lcd.print(" "); } if (carburante >= 44) { lcd.setCursor(8, 3); lcd.print(2, BYTE); } else { lcd.setCursor(8, 3); lcd.print(" "); } if (carburante >= 50) { lcd.setCursor(9, 3); lcd.print(2, BYTE); } else { lcd.setCursor(9, 3); lcd.print(" "); } if (carburante >= 55) { lcd.setCursor(10, 3); lcd.print(2, BYTE); } else { lcd.setCursor(10, 3); lcd.print(" "); } if (carburante >= 60) { lcd.setCursor(11, 3); lcd.print(2, BYTE); } else { lcd.setCursor(11, 3); lcd.print(" "); } if (carburante >= 64) { lcd.setCursor(12, 3); lcd.print(2, BYTE); } else { lcd.setCursor(12, 3); lcd.print(" "); } if (carburante >= 69) { lcd.setCursor(13, 3); lcd.print(2, BYTE); } else { lcd.setCursor(13, 3); lcd.print(" "); } if (carburante >= 74) { lcd.setCursor(14, 3); lcd.print(2, BYTE); } else { lcd.setCursor(14, 3); lcd.print(" "); } if (carburante >= 78) { lcd.setCursor(15, 3); lcd.print(2, BYTE); } else { lcd.setCursor(15, 3); lcd.print(" "); } if (carburante >= 83) { lcd.setCursor(16, 3); lcd.print(2, BYTE); } else { lcd.setCursor(16, 3); lcd.print(" "); } if (carburante >= 87) { lcd.setCursor(17, 3); lcd.print(2, BYTE); } else { lcd.setCursor(17, 3); lcd.print(" "); } if (carburante >= 92) { lcd.setCursor(18, 3); lcd.print(2, BYTE); } else { lcd.setCursor(18, 3); lcd.print(" "); } if (carburante >= 96) { lcd.setCursor(19, 3); lcd.print("F"); } else { lcd.setCursor(19, 3); lcd.print(" "); } ritardo (50); }

Passaggio 8: cose

Questo è perfetto per misurare liquidi volatili, funziona anche all'interno di un serbatoio di propano. Divertiti. Tutte le informazioni sono solo a scopo didattico e non posso essere ritenuto responsabile se ti fai saltare in aria.

Consigliato: