11-12ตค 65
ได้เริ่มทำที่หน้างาน
งาน1
ได้ทำ voltage divider เพื่อติดตามไฟ12V และแจ้งใน Blynk
เพราะ ไฟ12V ต้องใช้ในการหมุนมอเตอร์ปล่อยอาหารไก่,หมุนพัดลมระบายอากาศของระบบฟักไข่ และต้องใช้ในcapacitive sensor ของอาหารไก่
ต่อไปอาจทำโค้ด ที่เกี่ยวข้องไฟ 12V เพิ่มอีกก็ได้
วงจร
ตามที่เว๊บแนะนำแบบนี้
xxxx
แต่ที่ต่อจริงแบบนี้ เพราะ อุปกรณ์ไม่ครบ
ก็เวอร์กครับ ไดโอดกำลังสั่ง ค่อยต่อภายหลังครับ
โค้ด
เนื่องจาก timer แรกผมใช้เกิน 12 task แล้ว
ผมต้องเพิ่ม timer2 ครับ
......
.....
BlynkTimer timer;
BlynkTimer timer2;
......
.....
//V72(volt12_transformer_average)
int volt12_monitor_pin33 = 33;
int volt12_monitor_pin33_value = 0;
int volt12_monitor_pin33_volt = 0;
unsigned long start_5min_interval_transformer_read_ms=0;
int volt12_transformer_average;
WidgetLED volt12_status_led_V71(V71);
......
.....
void setup() {
// put your setup code here, to run once:
......
.....
timer2.setInterval(1000L,volt12_monitor_task);
timer2.setInterval(1000L,V71_sync);
......
.....
}
void loop() {
// put your main code here, to run repeatedly:
timer.run();
timer2.run();
Blynk.run();
}
//////////////////////////////
void volt12_monitor_task()
{//void volt12_monitor_task()
volt12_monitor_pin33_value = analogRead(volt12_monitor_pin33); //อ่านค่าสัญญาณ analog ขา33 เว็บไว้ในตัวแปร volt12_monitor_pin33_value
Serial.print("volt12_monitor_pin33_value = "); // พิมพ์ข้อมความส่งเข้าคอมพิวเตอร์ "val = "
Serial.println(volt12_monitor_pin33_value); // พิมพ์ค่าของตัวแปร
volt12_monitor_pin33_volt=((volt12_monitor_pin33_value*12.23)/3182);
//volt12_status_led_V71
delay(500);
//ถ้า ภายใน5นาที เฉลี่ย battery วัดได้ มากกว่า 9 ถือว่าปกติ น้อยกว่า 9 V transformerมีปัญหา
Blynk.virtualWrite(V72,volt12_transformer_average);
if ((millis()-start_5min_interval_transformer_read_ms)<300000)
{//if ((millis()-start_5min_interval_transformer_read_ms)<300000)
volt12_transformer_average=(volt12_transformer_average+volt12_monitor_pin33_volt)/2;
Serial.print("volt12_transformer_average = "); // พิมพ์ข้อมความส่งเข้าคอมพิวเตอร์ "val = "
Serial.println(volt12_transformer_average); // พิมพ์ค่าของตัวแปร
if (volt12_transformer_average>=9)
{//if (volt12_transformer_average>=9)
volt12_status_led_V71.on();
Blynk.setProperty(V71,"color","#2EFE2E");//เชียว Blynk.setProperty(V2,"color","#2EFE2E");// สีเขียว
Serial.println("color,#2EFE2E สีเขียว"); // พิมพ์ค่าของตัวแปร
}//if (volt12_transformer_average>=9)
else//if (volt12_transformer_average>=9)
{//else if (volt12_transformer_average>=9)
volt12_status_led_V71.on();
Serial.println("V71,color,FF4000");//สีแดง"); // พิมพ์ค่าของตัวแปร
Blynk.setProperty(V71,"color","#FF4000");//สีแดง Blynk.setProperty(V2,"color","#FF4000");// สีแดง
}//elseif (volt12_transformer_average>=9)
}//if ((millis()-start_5min_interval_transformer_read_ms)<300000)
else//if ((millis()-start_5min_interval_transformer_read_ms)<300000)
{//else if ((millis()-start_5min_interval_transformer_read_ms)<300000)
volt12_transformer_average=volt12_monitor_pin33_volt;
start_5min_interval_transformer_read_ms =millis();
}//else if ((millis()-start_5min_interval_transformer_read_ms)<300000)
}//void volt12_monitor_task()
//////////////////////////////
void V71_sync()
{
Blynk.syncVirtual(V71);
}
////
volt12_monitor_pin33_volt=((volt12_monitor_pin33_value*12.23)/3182);
มาจาก ผมเทียบวัดของจริงคือ วัดจากpin33 ได้ 3182 โดยที่วัดโวลต์มัลติมิเตอร์ ได้ 12.23 volts
ผลลัพธ์
ผมใส่ใน superchart จะมี ไฟ 5V อยู่แล้ว
ครบสูตรเลยครับ
ปัญหา
1.สายบัดกรี จาก รีเลย์เพื่อรับสัญญาณไฟ12V หลุด ทำให้มีการเติมอาหารจนล้น เลยบัดกรีใหม่ ก็หายปกติ
2.nodeMCU32 ร้อนทำให้อัพโหลดไม่ได้ เปลี่ยนตัวใหม่ก็อัพโหลดได้ ตัวที่ร้อนง่าย ผมจะลองติดฮีตซิ้งค์จะช่วยแก้ปัญหาได้ไหม ไม่ทราบเพื่อนๆได้ลองบ้างไหมครับ
3.ช่วงที่อัพโหลด มีจังหวะสั้นๆ (ไม่เกิน5 วินาที)ที่ต้องรีบกดปุ่ม format มิฉะนั้นจะfail และเริ่มใหม่อีก
4.รู้สึกว่า เสียเวลากับการอัพโหลด node32s มากครับ เป็นเวลาไม่น้อยกว่า 1ชั่วโมง แกะ nodemcu32 ออกจาก แผงบอร์ดขยายขาแล้ว เปลี่ยนสายแล้ว พอร์ต usb แล้ว สามารถแสดงผลการทำงานใน serial monitorได้ แต่อัพโหลดไม่ได้ เจอ error บ่อยมาก เทียบกับ 8266 จะอัพโหลดง่ายกว่าเยอะมากครับ
13-17ตค65
ปัญหา โปรเจ็คไก่โต-nodeesp32 แสดง led blynk 1 led ไม่ตรง
สาเหตุ
1.สายเซ็นเซอร์ที่บัดกรีหลุด ต่อแล้ว ต่อมาหลุดอีกแต่คนละสายของรีเลย์เดียวกัน
2.อาการแสดง led blynk ยังไม่ตรงอีก ไล่สายใหม่ เปลี่ยนตน.pinใหม่ ก็ดีบ้าง ไม่ดีบ้าง ใช้เวลาท 4 วัน เป็นที่โค้ด วางผิด ตน.ของ loop
พอแก้แล้ว แสดงปกติแล้วครับ