Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <AntoIO.h>
- #include <Adafruit_ADS1015.h>
- #include <Wire.h>
- #define MAX_ADC 27000
- #define MIN_ADC 11300
- Adafruit_ADS1115 ads(0x48);
- //ส่วนของ การเชื่อมต่อ Node MCU กับ Anto.io//
- const char *ssid ="Redmi";
- const char *pass ="monster12348";
- const char *user ="nutrajangtcr";
- const char *token ="ouXRHnELxPUOTGtx1VF6xUu5Nl9S4zRcTBby08Yj";
- const char *thing = "Moisture";
- int sln[4] = {D4, D5, D6, D7}; // กำนหนด ขา output โซลินอย
- String Antosend;
- String KraTang[4]={"KraTang1", "KraTang2", "KraTang3", "KraTang4"}; //กำหนด CH กระถาง //
- char buf[5];
- AntoIO anto(user, token, thing);
- //***********************************************//
- void setup()
- {
- // เริ่มเชื่อมต่อ wifi //
- Serial.begin(115200);
- delay(10);
- Serial.print("");
- Serial.print("");
- Serial.print("Anto Library version: ");
- Serial.println(anto.getVersion());
- Serial.print("/nTrying to connect");
- Serial.print(ssid);
- Serial.println("...");
- anto.begin(ssid,pass, messageReceived);
- Serial.println("\nConnected Anto done");
- anto.sub("KraTang1"); //กำหนด channel ของกระถางแต่ละกระถาง//
- anto.sub("KraTang2");
- anto.sub("KraTang3");
- anto.sub("KraTang4");
- Wire.begin(D1, D2);
- ads.begin();
- pinMode(sln[0], OUTPUT);
- pinMode(sln[1], OUTPUT);
- pinMode(sln[2], OUTPUT);
- pinMode(sln[3], OUTPUT);
- }
- int16_t take_ADC(int16_t *adc, byte length )
- {
- for (byte x = 0; x <= length; ++x)
- {
- adc[x] = ads.readADC_SingleEnded(x);
- }
- }
- int16_t take_value(int16_t *arr, byte length)
- {
- // int16_t per[4], ,take[x]
- // byte per_len = sizeof(per) / sizeof(int16_t);
- int16_t value[4];
- take_ADC(arr, length);
- for (byte x = 0; x < length; ++x)
- {
- value[x] = arr[x];
- arr[x] = map(arr[x],MIN_ADC,MAX_ADC, 100, 0);
- }
- Serial.println("----------------------------------");
- }
- void messageReceived(String thing, String channel, String payload) {
- Serial.print("Recieved: ");
- Serial.print(thing);
- Serial.print("/");
- Serial.print(channel);
- Serial.print("-> ");
- Serial.println(payload);
- }
- void loop()
- {
- anto.mqtt.loop();
- char state;
- int16_t per[4];
- byte per_len = sizeof(per) / sizeof(int16_t);
- take_value(per, per_len); Serial.println("ค่าของ per[x] จาก void loop ");
- for (int x = 0 ; x < 4; x++)
- {
- if (per[x] <=16)
- {
- state='A'; // status A = Solinoid LOW
- }
- else if (per[x] <= 60 && per[x] > 16)
- {
- state='B'; // status B = Solinoid HIGH
- }
- else
- {
- state='C'; // status C = SOlinoid LOW
- }
- switch(state){
- case 'A': Serial.print("Sensor ");
- Serial.print(x + 1); Serial.print("=");
- Serial.print(per[x]); Serial.print("% Status : "); Serial.print("ไม่ได้จุ่มดิน");
- Serial.print(" ขา Digital D"); Serial.print(sln[x]);Serial.print("LOW");Serial.println("LOW");
- digitalWrite(sln[x], LOW);break;
- case 'B': Serial.print("Sensor ");
- Serial.print(x + 1); Serial.print("=");
- Serial.print(per[x]); Serial.print("% Status : ");Serial.print("จุ่มดินแล้ว");
- Serial.print(" ขา Digital D"); Serial.print(sln[x]); Serial.println("HIGH");
- digitalWrite(sln[x], HIGH); break;
- case 'C' : Serial.print("Sensor ");
- Serial.print(x + 1); Serial.print("=");
- Serial.print(per[x]); Serial.print("% Status : ");Serial.print("จุ่มน้ำแล้ว");
- Serial.print(" ขา Digital D"); Serial.print(sln[x]); Serial.println("LOW");
- digitalWrite(sln[x], LOW); break;
- default : Serial.print("Can't to read ADC"); break;
- }
- /* if(per[x]>=0){
- Antosend = String(per[x]);
- Antosend.toCharArray(buf,Antosend.length());
- anto.pub(KraTang[x],(const char*)buf);
- }*/ //ส่งค่า ความชื้นใส่ channel ของ KraTang ของ anto//
- }
- delay(1000);
- /* for(byte x=0;x<per_len;++x)
- {
- Serial.println(per[x]);
- }
- Serial.println("--------------");*/
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement