Tabla de contenido:
Video: Construcción de un sensor de líquido capacitivo: 8 pasos (con imágenes)
2025 Autor: John Day | [email protected]. Última modificación: 2025-01-13 06:57
Un patrocinador de líquido capacitivo se basa en el hecho de que la capacitancia o carga entre 2 placas de metal cambiará (en este caso aumentará) dependiendo del material que haya entre ellas. Esto nos permite crear un sensor de nivel que es seguro para usar con cualquier líquido, este será usado en un buggy con gasolina (gasolina). Una placa está enganchada al suelo. El otro se conecta al pin 23. Hay una resistencia de 820K ohmios desde el pin 22 al 23. El sensor funciona cargando el condensador (la botella de agua) y midiendo cuánto tarda en drenar a través de la resistencia.
Paso 1: Partes
1. Estrictamente, no se necesita una placa de prueba sin soldadura, pero es mucho más fácil, especialmente si planea agregar otras cosas más adelante. 2. Arduino, estoy usando un mega Arduino, pero uno estándar debería tener suficientes pines. 3. Pantalla LCD de caracteres. 4. Algunas ventajas y desventajas, incluidos algunos cables y una resistencia de 1 MΩ. 5. Una computadora, ya sabes, esa cosa que estás usando para leer mis instrucciones. 6. Paciencia.
Paso 2: Conecta la pantalla LCD y deja que tu creación hable con el mundo
Como en cada paso de este instructivo, hay muchas formas de hacerlo. Te mostraré mi favorito.
Su pantalla lcd tiene almohadillas de soldadura de 16 orificios, por lo que lo primero es colocar algunos pines. Si es su patente, le recomiendo comprar un encabezado como este https://www.sparkfun.com/commerce/product_info.php?products_id=117. Pero si quieres terminar lo más rápido posible (como yo), puedes usar cable. Simplemente corte 16 trozos de alambre a aproximadamente 1/2 (13 mm (más largo está bien)). Luego suéldelos a la placa.
Paso 3: Continuación de la conexión de la pantalla LCD
Pecados, estoy usando caracteres especiales, estaré conectando todos los cables.
Pin 1 Tierra Pin 2 +5 voltios Pin 3 Ajuste de contraste Pin 4 RS Pin 5 R / W va a tierra Pin 6-14 Datos Pin 15 Alimentación de luz de fondo Pin 16 Tierra de luz de fondo
Paso 4: líneas de datos
Ahora necesitas conectar el Arduino a la pantalla lcd. No importa qué pines uses, pero te recomiendo seguir el esquema.
Paso 5: Poder MaHaHaHa
El puerto USB de su computadora tiene suficiente energía para ejecutar el Arduino y la luz de fondo LED, así que simplemente conecte los rieles de tierra y de alimentación en su placa de pruebas a la salida de energía de la placa Arduino.
Paso 6: haz un sensor capacitivo
Para las pruebas utilicé papel de aluminio y una botella de agua de plástico. Funcionará con cualquier recipiente siempre que no sea de metal.
Puede utilizar cualquier tipo de cable, pero cualquier línea no apantallada proporcionará un rendimiento deficiente. Puede usar 2 pines, yo elegí 22 y 23. Conecte un lado a tierra y el otro a un resistor y 2 pines de E / S.
Paso 7: programación
Necesita agregar 2 archivos de biblioteca para que esto funcione LiquidCrystal.h https://arduino.cc/en/Tutorial/LiquidCrystalCapSense.h https://www.arduino.cc/playground/Main/CapSenseCopy y pegar esto en Arduino 0017 o mas nuevo. // Sensor capacitivo de líquido // Vadim 7 de diciembre de 2009 #include #include // Esto es para establecer el tamaño del lcd const int numRows = f = 4; const int numCols = 20; // Esto establece los pines para el 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 bloque [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}; configuración vacía () {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 ("Combustible"); lcd.setCursor (0, 3); lcd.print ("E"); } bucle vacío () {combustible largo; lcd.createChar (2, bloque); inicio largo = milis (); combustible = cs_22_23.capSenseRaw (200); // Temratue hace una pequeña diferencia, así que déjalo funcionar durante 5 minutos antes de sintonizar. // Ajusta este número para que la salida sea lo más cercana a cero posible. combustible = combustible - 7200; // Luego llene el contenedor // Elimine los comentarios y ajústelo para que la salida, cuando el contenedor esté lleno, // esté lo más cerca posible de 100. // combustible = combustible / 93; lcd.setCursor (0, 0); lcd.print (""); lcd.setCursor (0, 0); lcd.print (combustible); if (combustible> = 6) {lcd.setCursor (1, 3); lcd.print (2, BYTE); } else {lcd.setCursor (1, 3); lcd.print (""); } if (combustible> = 12) {lcd.setCursor (2, 3); lcd.print (2, BYTE); } else {lcd.setCursor (2, 3); lcd.print (""); } if (combustible> = 17) {lcd.setCursor (3, 3); lcd.print (2, BYTE); } else {lcd.setCursor (3, 3); lcd.print (""); } if (combustible> = 23) {lcd.setCursor (4, 3); lcd.print (2, BYTE); } else {lcd.setCursor (4, 3); lcd.print (""); } if (combustible> = 28) {lcd.setCursor (5, 3); lcd.print (2, BYTE); } else {lcd.setCursor (5, 3); lcd.print (""); } if (combustible> = 34) {lcd.setCursor (6, 3); lcd.print (2, BYTE); } else {lcd.setCursor (6, 3); lcd.print (""); } if (combustible> = 39) {lcd.setCursor (7, 3); lcd.print (2, BYTE); } else {lcd.setCursor (7, 3); lcd.print (""); } if (combustible> = 44) {lcd.setCursor (8, 3); lcd.print (2, BYTE); } else {lcd.setCursor (8, 3); lcd.print (""); } if (combustible> = 50) {lcd.setCursor (9, 3); lcd.print (2, BYTE); } else {lcd.setCursor (9, 3); lcd.print (""); } if (combustible> = 55) {lcd.setCursor (10, 3); lcd.print (2, BYTE); } else {lcd.setCursor (10, 3); lcd.print (""); } if (combustible> = 60) {lcd.setCursor (11, 3); lcd.print (2, BYTE); } else {lcd.setCursor (11, 3); lcd.print (""); } if (combustible> = 64) {lcd.setCursor (12, 3); lcd.print (2, BYTE); } else {lcd.setCursor (12, 3); lcd.print (""); } if (combustible> = 69) {lcd.setCursor (13, 3); lcd.print (2, BYTE); } else {lcd.setCursor (13, 3); lcd.print (""); } if (combustible> = 74) {lcd.setCursor (14, 3); lcd.print (2, BYTE); } else {lcd.setCursor (14, 3); lcd.print (""); } if (combustible> = 78) {lcd.setCursor (15, 3); lcd.print (2, BYTE); } else {lcd.setCursor (15, 3); lcd.print (""); } if (combustible> = 83) {lcd.setCursor (16, 3); lcd.print (2, BYTE); } else {lcd.setCursor (16, 3); lcd.print (""); } if (combustible> = 87) {lcd.setCursor (17, 3); lcd.print (2, BYTE); } else {lcd.setCursor (17, 3); lcd.print (""); } if (combustible> = 92) {lcd.setCursor (18, 3); lcd.print (2, BYTE); } else {lcd.setCursor (18, 3); lcd.print (""); } if (combustible> = 96) {lcd.setCursor (19, 3); lcd.print ("F"); } else {lcd.setCursor (19, 3); lcd.print (""); } retraso (50); }
Paso 8: Cosas
Esto es perfecto para medir líquidos volátiles, incluso funciona dentro de un tanque de propano. Divertirse. Toda la información es solo para fines educativos y no puedo ser responsable si te explotas.