• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Arduino waga Jak uzyskać stan wysok na pinie
#1
Witam Kolegów to moje początki więc proszę o wyrozumiałość.

Buduje wago-zabawkę na belce tensometrycznej arduino uno i HX711. Wagę już zestroiłem (wskazuje ok) i potrzebuje dopisać kawałek oprogramowania mianowicie; od zera do 2 kg stan wysoki na którymkolwiek pinie od 2 do 5 kg na innym i od 5 do 8kg na innym


to co udało mi się skopiować z bibliotek to;

#include "HX711.h"

#define calibration_factor -130000 //This value is obtained using the SparkFun_HX711_Calibration sketch

#define DOUT 3
#define CLK 2

HX711 scale(DOUT, CLK);

void setup() {
Serial.begin(9600);
Serial.println("HX711 scale demo");

scale.set_scale(calibration_factor); //This value is obtained by using the SparkFun_HX711_Calibration sketch
scale.tare(); //Assuming there is no weight on the scale at start up, reset the scale to 0

Serial.println("Readings:");
}

void loop() {
Serial.print("Reading: ");
Serial.print(scale.get_units(), 1); //scale.get_units() returns a float
Serial.print(" kg"); //You can change this to kg but you'll need to refactor the calibration_factor
Serial.println();

Czy to co chcę uzyskać  wymaga ogromnej wiedzy? Czy mogę próbować dopisać to sam szukając informacji w internecie?

Może już ktoś coś takiego (podobnego, wzór, cokolwiek) pisał i by podesłał?
Wszelakie rady gdzie z czego korzystać jak się tego najszybciej nauczyć by nie szukać po omacku (Najlepiej jak najbardziej spolszczone) mile widziane
   
Za wszelkie wskazówki rady gdzie jak co z góry dziękuje

  • [
 
Odpowiedź
#2
Jak Ci dobrze waży i wyświetla to co za problem. To są kilogramy "scale.get_units()", które wyświetla na konsoli. Wystarczy tą wartość porównać z zadanymi wartościami i już. Robisz to za pomocą if.
Przykład:
if (scale.get_units() <2) // jeżeli waga wskazuje mniej niż 2 kg
{
digitalWrite(5, HIGH); // na pinie 5 wystawia stan wysoki,
}

Trzeba tylko w setupie zapodać pinMode( 5, OUTPUT);
Resztę kombinuj i czytaj
 
Odpowiedź
#3
Stopniowanie lepiej zacząć od końca
if(coś >=5) akcja1(); //jak to się wykona to wszystko aż do else nie
else if (coś >2) //jak wyżej
{
akcja2();
akcja4();
}
else akcja(3);//to się wykona tylko wtedy gdy powyższe porównania fałszywe
Miło być decenianym https://buycoffee.to/kaczakat
 
Odpowiedź
#4
Wielkie dzięki wpisałem tylko 1 if i widzę że działa daje stan wysoki
wiem już jak to ugryźć myślę, że dalej sobie poradzę. ale to pokombinuje na dniach
Dzięki jeszcze raz
 
Odpowiedź
  


Skocz do:


Przeglądający: 1 gości