Kód: Vybrať všetko
#include "HX711.h"
#include <Ethernet.h>
#include <SPI.h>
#define Hostname "Arduino" //Meno arduina v siti
byte mac[] = { 0xAA, 0xBB, 0xAA, 0xBB, 0xAA, 0xBB }; //MAC ADRESA ARDUINA --> VOLITELNA
char server[] = "www.server.php5.cz"; //ADRESA WEBSERVERA (MOZE BYT AJ IP ADRESA)
IPAddress ip(10, 0, 0, 151); //IP ADRESA ZARIADENIA V SIETI V LOKALNEJ SIETI
EthernetClient client; //SPUSTENIE ETHERNETU AKO CLIENTA
HX711 scale (A2, A3); //definovane piny pre cip HX711
int led1 = 5;
int led2 = 4;
int led3 = 3;
int led4 = 2;
int PRETIZENI = 4000;
int PRAZDNY = 10;
double momentalnahodnota=0;
double predchadzajucahodnota=0;
int rozdiel=0;
unsigned long pocitadlo= 0;
void setup()
{
Serial.begin(9600);
scale.set_scale(300.f);
scale.tare(); // NASTAVI VAHU NA 0
pinMode (led1, OUTPUT);
pinMode (led2, OUTPUT);
pinMode (led3, OUTPUT);
pinMode (led4, OUTPUT);
}
void resetdiod(){
digitalWrite (led1, LOW);
digitalWrite (led2, LOW);
digitalWrite (led3, LOW);
digitalWrite (led4, LOW);
}
void loop()
{
if(pocitadlo < 1){
momentalnahodnota = scale.get_units();
if(0<= momentalnahodnota && momentalnahodnota <= 5 || 0>= momentalnahodnota && momentalnahodnota >= -5){
scale.tare();
momentalnahodnota=0;}
predchadzajucahodnota = scale.get_units();
pocitadlo++;
delay(3000);
}else{
if (Ethernet.begin(mac) == 0) {
Serial.println("Chyba konfiguracie cez DHCP"); //SERIOVY VYPIS CHYBY KONFIGURACIE DHCP
Ethernet.begin(mac, ip); //NASTAVENIE IP A MAC ADRESY PRE ETHERNET MODUL
}
momentalnahodnota = scale.get_units();
if(0<= momentalnahodnota && momentalnahodnota <= 5 || 0>= momentalnahodnota && momentalnahodnota >= -5){
scale.tare();
momentalnahodnota=0;}
rozdiel = (momentalnahodnota - predchadzajucahodnota);
if (rozdiel > 30){
Serial.println("Pridani polozky");
if (client.connect(server, 80)) {
client.print("GET /pridanipolozky.php?momentalnahodnota=");
client.print(momentalnahodnota);
client.print("&predchadzajucahodnota=");
client.print(predchadzajucahodnota);
client.print("&rozdiel=");
client.print(rozdiel);
client.print("&stav=Pridani%20polozky");
client.println(" HTTP/1.1");
client.println("Host: www.server.php5.cz");
client.println("Connection: close");
client.println();
client.stop();
} else {
Serial.println("Pripojenie zlyhalo"); //SERIOVY VYPIS O NEUSPESNOSTI PRIPOJENIA
}
}
if (rozdiel < -30){
Serial.println("Odebrani polozky");
digitalWrite (led3, HIGH);
if (client.connect(server, 80)) {
client.print("GET /odebranipolozky.php?momentalnahodnota=");
client.print(momentalnahodnota);
client.print("&predchadzajucahodnota=");
client.print(predchadzajucahodnota);
client.print("&rozdiel=");
client.print(rozdiel);
client.print("&stav=Odebrani%20polozky");
client.println(" HTTP/1.1");
client.println("Host: www.server.php5.cz");
client.println("Connection: close");
client.println();
client.stop();
} else {
Serial.println("Pripojenie zlyhalo"); //SERIOVY VYPIS O NEUSPESNOSTI PRIPOJENIA
}
}
if (rozdiel > 50){
Serial.println("Pridani vice polozek");
if (client.connect(server, 80)) {
client.print("GET /pridanivicepolozek.php?momentalnahodnota=");
client.print(momentalnahodnota);
client.print("&predchadzajucahodnota=");
client.print(predchadzajucahodnota);
client.print("&rozdiel=");
client.print(rozdiel);
client.print("&stav=Pridani%20vice%20polozek");
client.println(" HTTP/1.1");
client.println("Host: www.server.php5.cz");
client.println("Connection: close");
client.println();
client.stop();
} else {
Serial.println("Pripojenie zlyhalo"); //SERIOVY VYPIS O NEUSPESNOSTI PRIPOJENIA
}
}
if (rozdiel < -50){
digitalWrite (led4, HIGH);
Serial.println("Pozor - odebrání více položek");
if (client.connect(server, 80)) {
client.print("GET /odebranivicepolozek.php?momentalnahodnota=");
client.print(momentalnahodnota);
client.print("&predchadzajucahodnota=");
client.print(predchadzajucahodnota);
client.print("&rozdiel=");
client.print(rozdiel);
client.print("&stav=Pozor%20odebrani%20vice%20polozek");
client.println(" HTTP/1.1");
client.println("Host: www.server.php5.cz");
client.println("Connection: close");
client.println();
client.stop();
} else {
Serial.println("Pripojenie zlyhalo"); //SERIOVY VYPIS O NEUSPESNOSTI PRIPOJENIA
}
}
if (momentalnahodnota < PRAZDNY) {
Serial.println("Prazdny regal");
digitalWrite (led1, HIGH);
delay(350);
digitalWrite (led1, LOW);
delay(350);
if (client.connect(server, 80)) {
client.print("GET /prazdnyregal.php?momentalnahodnota=");
client.print(momentalnahodnota);
client.print("&predchadzajucahodnota=");
client.print(predchadzajucahodnota);
client.print("&rozdiel=");
client.print(rozdiel);
client.print("&stav=Prazdny%20regal");
client.println(" HTTP/1.1");
client.println("Host: www.server.php5.cz");
client.println("Connection: close");
client.println();
client.stop();
} else {
Serial.println("Pripojenie zlyhalo"); //SERIOVY VYPIS O NEUSPESNOSTI PRIPOJENIA
}
}
if (momentalnahodnota > PRETIZENI) {
Serial.println("Pretizeny regal");
digitalWrite (led2, HIGH);
if (client.connect(server, 80)) {
client.print("GET /pretizenyregal.php?momentalnahodnota=");
client.print(momentalnahodnota);
client.print("&predchadzajucahodnota=");
client.print(predchadzajucahodnota);
client.print("&rozdiel=");
client.print(rozdiel);
client.print("&stav=Pretizeny%20regal");
client.println(" HTTP/1.1");
client.println("Host: www.server.php5.cz");
client.println("Connection: close");
client.println();
client.stop();
} else {
Serial.println("Pripojenie zlyhalo"); //SERIOVY VYPIS O NEUSPESNOSTI PRIPOJENIA
}
}
predchadzajucahodnota = scale.get_units();
if(0<= predchadzajucahodnota && predchadzajucahodnota <= 5 || 0>= predchadzajucahodnota && predchadzajucahodnota >= -5){
scale.tare();
predchadzajucahodnota=0;}
delay(4000); //pockame 6 sekund pred novym meranim vahy
resetdiod(); //vypneme vsetky ledky pred novym meranim, aby bol ich stav aktualny
pocitadlo++;
}
}