Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define BLYNK_PRINT stdout
- #ifdef RASPBERRY
- #include <BlynkApiWiringPi.h>
- #else
- #include <BlynkApiLinux.h>
- #endif
- #include <BlynkSocket.h>
- #include <BlynkOptionsParser.h>
- static BlynkTransportSocket _blynkTransport;
- BlynkSocket Blynk(_blynkTransport);
- #include <BlynkWidgets.h>
- #include <ctime>
- #include <string>
- long lastChangeTime = 0;
- int pulse = 0;
- bool state;
- bool stopb = false;
- long m;
- long sb;
- long under_target = 0;
- int active = 0;
- int turno;
- int target;
- int calibration;
- string stringa1 = "";
- string stringa2 = "";
- void setup()
- {
- pinMode(21, INPUT);
- m = millis();
- }
- void loop()
- {
- Blynk.run();
- time_t now = time(0);
- tm *ltm = localtime(&now);
- int mese = 1 + ltm->tm_mon;
- int giorno = ltm->tm_mday;
- int ora = 1 + ltm->tm_hour;
- int minuti = 1 + ltm->tm_min;
- if (ora == 5 && minuti == 1) {
- stringa1 = "";
- stringa1.append(to_string(giorno));
- stringa1.append(to_string(mese));
- stringa1.append(to_string(turno));
- stringa2 = "";
- stringa2.append(to_string(giorno));
- stringa2.append("/");
- stringa2.append(to_string(mese));
- stringa2.append(" ");
- stringa2.append(to_string(turno));
- Blynk.virtualWrite(V1, "add", stoi(stringa1), stringa2, (100-under_target));
- turno = 1;
- active = 0;
- under_target = 0;
- Blynk.virtualWrite(V6, turno);
- }
- if (ora == 13 && minuti == 1){
- stringa1 = "";
- stringa1.append(to_string(giorno));
- stringa1.append(to_string(mese));
- stringa1.append(to_string(turno));
- stringa2 = "";
- stringa2.append(to_string(giorno));
- stringa2.append("/");
- stringa2.append(to_string(mese));
- stringa2.append(" ");
- stringa2.append(to_string(turno));
- Blynk.virtualWrite(V1, "add", stoi(stringa1), stringa2, (100-under_target));
- turno = 2;
- active = 0;
- under_target = 0;
- Blynk.virtualWrite(V6, turno);
- }
- if (ora == 21 && minuti == 1) {
- stringa1 = "";
- stringa1.append(to_string(giorno));
- stringa1.append(to_string(mese));
- stringa1.append(to_string(turno));
- stringa2 = "";
- stringa2.append(to_string(giorno));
- stringa2.append("/");
- stringa2.append(to_string(mese));
- stringa2.append(" ");
- stringa2.append(to_string(turno));
- Blynk.virtualWrite(V1, "add", stoi(stringa1), stringa2, (100-under_target));
- turno = 3;
- active = 0;
- under_target = 0;
- Blynk.virtualWrite(V6, turno);
- }
- long t = millis();
- while (millis() - t < 5000) {
- state = digitalRead(21);
- if (state && stopb == false) {
- sb = millis();
- stopb = true;
- pulse++;
- }
- if (millis() - sb > 50){
- stopb = false;
- }
- }
- if (pulse > 40) pulse = 0;
- if (pulse*12 <= target) under_target+=5;
- if (pulse*12 > 5) active+=5;
- Blynk.virtualWrite(V5, ((under_target*100)/28800)); //pin under target
- Blynk.virtualWrite(V4, ((active*100)/28800)); //pin attiva
- Blynk.virtualWrite(V3, (100 - ((under_target*100)/28800))); //pin performance
- Blynk.virtualWrite(V1, (pulse*12*calibration)); //
- Blynk.virtualWrite(V8, (target)); //Assegna a V8 il valore target
- pulse = 0;
- }
- BLYNK_WRITE(V2) //pin del target
- {
- target = param.asInt();
- }
- BLYNK_WRITE(V7) //pin calibration
- {
- calibration = param.asInt();
- }
- int main(int argc, char* argv[])
- {
- const char *auth, *serv;
- uint16_t port;
- parse_options(argc, argv, auth, serv, port);
- Blynk.begin(auth, serv, port);
- setup();
- while(true) {
- loop();
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement