- Componentes necesarios para construir una báscula de peso Arduino:
- Módulo de sensor de peso de celda de carga y HX711:
- Explicación del circuito:
- Explicación de trabajo:
- Código de la báscula de pesaje de Arduino:
Hoy vamos a construir una máquina Wight Arduino, interconectando la celda de carga y el sensor de peso HX711 con Arduino. Hemos visto máquinas de pesas en muchos talleres, donde la máquina muestra el peso simplemente colocando un artículo en la plataforma de pesaje. Entonces, aquí estamos construyendo la misma máquina de pesaje usando Arduino y celdas de carga, con una capacidad de medir hasta 40 kg. Este límite se puede aumentar aún más utilizando la celda de carga de mayor capacidad.
El componente principal necesario para construir esta báscula Arduino es un sensor que puede convertir el peso en una señal eléctrica equivalente. Este sensor se llama celda de carga, por lo que en este proyecto usaremos esta celda de carga como nuestro sensor de peso Arduino. También hemos utilizado la misma celda de carga en algunos otros proyectos, como la máquina de pesaje minorista portátil Arduino, la báscula Raspberry pi, etc., también puede consultarlas si está interesado.
Componentes necesarios para construir una báscula de peso Arduino:
- Arduino Uno
- Célula de carga (40 kg)
- Módulo amplificador de celda de carga HX711
- LCD de 16x2
- Cables de conexión
- cable USB
- Tablero de circuitos
- Pernos de tuerca, marco y base
Módulo de sensor de peso de celda de carga y HX711:
La celda de carga es un transductor que transforma la fuerza o presión en salida eléctrica. La magnitud de esta salida eléctrica es directamente proporcional a la fuerza que se aplica. Las celdas de carga tienen un medidor de tensión, que se deforma cuando se le aplica presión. Y luego el medidor de tensión genera una señal eléctrica en la deformación a medida que cambia su resistencia efectiva en la deformación. Una celda de carga generalmente consta de cuatro galgas extensométricas en una configuración de puente de Wheatstone. La celda de carga viene en varios rangos como 5 kg, 10 kg, 100 kg y más, aquí hemos utilizado la celda de carga, que puede pesar hasta 40 kg.
Ahora, las señales eléctricas generadas por la celda de carga están en pocos milivoltios, por lo que deben amplificarse aún más con algún amplificador y, por lo tanto, el sensor de peso HX711 entra en escena. El módulo del sensor de pesaje HX711 tiene un chip HX711, que es un convertidor A / D de alta precisión 24 (convertidor analógico a digital). El HX711 tiene dos canales de entrada analógica y podemos obtener una ganancia de hasta 128 programando estos canales. Entonces, el módulo HX711 amplifica la baja salida eléctrica de las celdas de carga y luego esta señal amplificada y convertida digitalmente se alimenta al Arduino para derivar el peso.
La celda de carga se conecta con el amplificador de celda de carga HX711 mediante cuatro cables. Estos cuatro cables son rojo, negro, blanco y verde / azul. Puede haber una ligera variación en los colores de los cables de un módulo a otro. Debajo de los detalles de la conexión y el diagrama:
- El cable ROJO está conectado a E +
- El cable NEGRO está conectado a E-
- El cable BLANCO está conectado a A-
- El cable VERDE está conectado a A +
Fijación de la celda de carga con plataforma y base:
Este paso es opcional y puede colocar directamente los pesos en la celda de carga sin una plataforma y simplemente puede sujetarla sin fijarla con ninguna base, pero es mejor colocar una plataforma para colocar las cosas grandes en ella y fijarla en una base. para que se detenga. Entonces, aquí necesitamos hacer un marco o plataforma para colocar las cosas para medir el peso. También se requiere una base para fijar la celda de carga sobre ella usando tuercas y pernos. Aquí hemos utilizado cartón duro para el marco para colocar cosas sobre él y una tabla de madera como Base. Ahora haga las conexiones como se muestra en el diagrama del circuito y estará listo para comenzar.
Explicación del circuito:
Las conexiones para este proyecto son fáciles y el esquema se muestra a continuación. Los pines LCD de 16x2 RS, EN, d4, d5, d6 y d7 están conectados con los números de pin 8, 9, 10, 11, 12 y 13 de Arduino respectivamente. Los pines DT y SCK del módulo HX711 están conectados directamente con los pines A0 y A1 de Arduino. Las conexiones de la celda de carga con el módulo HX711 ya se explicaron anteriormente y también se muestran en el diagrama de circuito a continuación.
Explicación de trabajo:
El principio de funcionamiento de este proyecto de medición de peso de Arduino es sencillo. Antes de entrar en detalles, primero tenemos que calibrar este sistema para medir el peso correcto. Cuando el usuario lo encienda, el sistema comenzará a calibrar automáticamente. Y si el usuario desea calibrarlo manualmente, presione el botón pulsador. Hemos creado una función void calibrate () para fines de calibración, verifique el código a continuación.
Para la calibración, espere la indicación LCD para poner 100 gramos sobre la celda de carga como se muestra en la imagen de abajo. Cuando la pantalla LCD muestre "poner 100 g" , coloque el peso de 100 g sobre la celda de carga y espere. Después de unos segundos, el proceso de calibración habrá finalizado. Después de la calibración, el usuario puede colocar cualquier peso (máximo 40 kg) sobre la celda de carga y puede obtener el valor en la pantalla LCD en gramos.
En este proyecto, hemos utilizado Arduino para controlar todo el proceso. La celda de carga detecta el peso y suministra un voltaje analógico eléctrico al módulo amplificador de carga HX711. HX711 es un ADC de 24 bits, que amplifica y convierte digitalmente la salida de la celda de carga. Luego, este valor amplificado se alimenta al Arduino. Ahora Arduino calcula la salida de HX711 y la convierte en los valores de peso en gramos y lo muestra en la pantalla LCD. Se utiliza un botón para calibrar el sistema. Hemos escrito un programa Arduino para todo el proceso, verifique el Código y el video de demostración al final de este tutorial.
Código de la báscula de pesaje de Arduino:
La parte de programación de este proyecto es un poco compleja para principiantes. En este proyecto, no usamos ninguna biblioteca para interconectar el sensor de carga HX711 con Arduino. Acabamos de seguir la hoja de datos de HX711 y las notas de aplicación. Aunque hay algunas bibliotecas presentes para este propósito, donde solo necesita incluir esa biblioteca y puede obtener el peso usando una línea de código.
En primer lugar, hemos incluido un archivo de encabezado para LCD y definido los pines para el mismo. Y para pulsador también. Luego declaró algunas variables con fines de cálculo.
#incluir
Después de eso, hemos creado la siguiente función para leer datos del módulo HX711 y devolver su salida.
unsigned long readCount (void) {unsigned long Count; carácter sin firmar i; pinMode (DT, SALIDA); escritura digital (DT, ALTA); escritura digital (SCK, BAJA); Count = 0; pinMode (DT, ENTRADA); while (digitalRead (DT)); para (i = 0; i <24; i ++) {digitalWrite (SCK, HIGH); Count = Count << 1; escritura digital (SCK, BAJA); if (digitalRead (DT)) Count ++; } digitalWrite (SCK, HIGH); Count = Count ^ 0x800000; escritura digital (SCK, BAJA); return (Count); }
Después de eso, hemos inicializado la pantalla LCD y le damos instrucciones a los pines de entrada y salida en la configuración vacía ().
configuración vacía () {Serial.begin (9600); pinMode (SCK, SALIDA); pinMode (sw, INPUT_PULLUP); lcd. comienzo (16, 2); lcd.print ("Peso"); lcd.setCursor (0,1); lcd.print ("Medición"); retraso (1000); lcd.clear (); calibrar(); }
A continuación, en la función void loop () , hemos leído los datos del módulo HX711, hemos convertido estos datos en peso (gramos) y los hemos enviado a la pantalla LCD.
bucle vacío () {cuenta = readCount (); int w = (((cuenta-muestra) / val) -2 * ((cuenta-muestra) / val)); Serial.print ("peso:"); Serial.print ((int) w); Serial.println ("g"); lcd.setCursor (0,0); lcd.print ("Peso"); lcd.setCursor (0,1); lcd.print (w); lcd.print ("g"); if (digitalRead (sw) == 0) {val = 0; muestra = 0; w = 0; cuenta = 0; calibrar(); }}
Antes de esto, hemos creado una función de calibración en la que hemos calibrado el sistema colocando el peso de 100 g sobre la celda de carga.
void calibrate () {lcd.clear (); lcd.print ("Calibrando…"); lcd.setCursor (0,1); lcd.print ("Espere…"); para (int i = 0; i <100; i ++) {count = readCount (); muestra + = recuento; Serial.println (recuento); }……………….
Así que aquí hemos aprendido la interfaz básica de la celda de carga y el sensor de peso HX11 con Arduino para medir los pesos. En nuestros tutoriales de texto, crearemos algunas aplicaciones basadas en la medición de peso como contenedor inteligente, puerta automática, etc.