Eine Waage mit Arduino erstellen

Ob eine kleine Briefwaage für geringe Gewichte, Hängewaage für Paket oder Koffer, Standwaagen für Personen, bis hin zu Objektwaagen mit Messvermögen über 1000 KG, diese Messgeräte zur Bestimmung einer Masse ist mit den heutigen Gewichtssensoren und Microkontrollern einfach zu erstellen.

Benötigt wird eine oder mehrere passende Wägezellen passend zu den zu wiegenden Objekten. Beim Kauf auch die maximale Gewichtsangabe beachten. Diese geben das gemessene Gewicht als analogen Wert zurück, die jedoch der A/D-Wandler des Microkontroller nicht interpretieren kann.


Somit wird der HX711 dazwischen geschaltet, der mit seiner Auflösung von 24 Bit hier zuverlässige Werte liefert.

Damit die Wägezelle diese präzisen Werte messen kann, sind Dehnungsmessstreifen auf dem Metallstück angebracht. Wird nun durch das hinzukommende Gewicht, ein Druck ausgeübt, dehnt sich Metallstück und die gemessene Spannung der Dehnungsmessstreifen ändert sich.

Wer sich tiefer in das Thema Dehnungsmessstreifen einlesen möchte, dem empfehle ich auch die Wheatstone’schen Brückenschaltung genauer zu betrachten.

Hardware:
Wägezelle 1kg mit HX711
Nano Board
LCD mit I2C -Board

Alternativen:
Wägezelle 5kg mit HX711
Wägezelle 10kg mit HX711
Gewichtssensoren für Personenwaage
Dehnungsmessstreifen
Arduino Nano
OLED Display mit I2C

Schaltung:

Datenblatt:

1Kg Wägezelle mit AD-HX711

Bibliothek und Quellcode:

Aus Teil 1:
https://github.com/bogde/HX711
Aus Teil 2:
https://github.com/olkal/HX711_ADC

#include "HX711.h"
#include <Wire.h>
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27, 16, 2);

const int LOADCELL_DOUT_PIN = 4;
const int LOADCELL_SCK_PIN = 5;

HX711 scale;

void setup() {
  Serial.begin(57600);
  scale.begin(LOADCELL_DOUT_PIN, LOADCELL_SCK_PIN);
  lcd.init();                      
  lcd.init();
  lcd.backlight();
}

void loop() {

  if (scale.is_ready()) {
    long reading = ((scale.read() * (-0.01))-2217 )/8;
    Serial.print("HX711 hat folgendes gemessen: ");
    Serial.println(reading);
    lcd.setCursor(3, 0);
    lcd.print("Gewicht:");
    lcd.setCursor(3, 1);
    lcd.print(reading);

  } else {
    Serial.println("HX711 nicht gefunden");
  }

  delay(1000);
  lcd.clear();
}

HX711-Schaltung mit LCD:

,