Các anh kiểm tra hộ e code này với ạ, nguyên lí là "ban đầu cấp nguồn cho 3 cảm biến (pw=0) trong 2p, nếu cảm biến cho thiếu độ ẩm thì rơle đóng(rl=0) thì giữ nguyên nguồn cho 3 cảm biến, và ngắt giá trị role (rl=1) khi cảm biến cho giá trị ra đủ độ ẩm. Ngược lại, nếu cảm biến cho giá trị đủ độ ẩm thì ngắt nguồn(pw=1) trong 30, sau 30p lặp lại tiếp tục cấp cấp nguồn cho 3 cảm biến như đầu", e dùng delay nhưng có vẻ k hiệu quả, thời gian dừng cấp nguồn với cấp nguồn k chạy, các anh xem và fix hộ e với ạ
phần mạch đây ạ
phần mạch đây ạ
Code:
#include <REGX51.H> sbit cb1=P3^0;//cam bien do am 1 sbit cb2=P3^2;//cam bien do am 2 sbit cb3=P3^3;//cam bien do am 3 sbit pw=P3^4;//nguon cho cam bien sbit rl=P3^5;//dong role de bom nuoc void delay(long time) { long n; for(n=0 ; n<time ; n++) { ; } } void main(void) { while(1) { pw=0;//cap nguon cho 3 cam bien delay(120000);//keo dai trong 2p if(cb1==0&&cb2==0||cb2==0&&cb3==0||cb1==0&&cb3==0) { rl=0; } else { pw=1;tat nguon cho 3 cam bien delay(1800000);//tat nguon trong 30p } } }