سلام خسته نباشید چگونه یک دستور برای سنسور داده شود برای پین انالوگ وبعد از چند ثانیه دیگر سنسور عمل نکند
مثال در برنامه نوشته
در کل میخواهم بعد دستور و اجرا دیگر دیجیتال ویرایت عمل نکند تا دستور بعدی
کل مشکل در اینجاست که دستور داده شده و سنسور عمل کرده و بعد از دستور فشار باد در سنسور 10 psi کم وزیاد میشود من میخواهم دیگر دیجیتال ویرایت عمل نکند
if (pot == 0) {
lcd.setCursor(0, 0); lcd.print("on");
digitalWrite(led1, HIGH);
if ( psi1 < 51) {
digitalWrite(led1, LOW);
}
#include <Wire.h>
#include <LCD.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7); // Addr, En, Rw, Rs, d4, d5, d6, d7, backlighpin, polarity
#define led1
4 #define led2 5 #define led3 6 #define led4 7 #define led5 8 int pot;
void setup()
{
lcd.begin(20, 4);
lcd.begin(20, 4);
lcd.setBacklightPin(3, POSITIVE); // BL, BL_POL
lcd.setBacklight(HIGH);
Serial.begin(9600);
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(led4, OUTPUT);
pinMode(led5, OUTPUT);
}
void loop()
{
lcd.backlight();
float sensorVoltage1 = analogRead(A1);
float sensorVoltage2 = analogRead(A2);
float sensorVoltage3 = analogRead(A3);
int psi1 = ((sensorVoltage1 - 10) / 9) * 1 * 5;
int psi2 = ((sensorVoltage2 - 10) / 9) * 1 * 5;
int psi3 = ((sensorVoltage3 - 10) / 1) * 1.8;
lcd.setCursor(0, 1);
lcd.print("Psi F ");
lcd.print(psi1);
lcd.setCursor(8, 1);
lcd.setCursor(10, 1);
lcd.print(" Psi R ");
lcd.print(psi2);
lcd.setCursor(17, 1);
lcd.setCursor(2, 2);
lcd.print(" TANK AIR");
lcd.print("[ ]");
lcd.setCursor(12, 2);
lcd.print(psi3);
pot = analogRead(A0);
pot = map(pot, 0, 1023, 0, 9);
Serial.println(pot);
if (psi3 <= 200)
{
digitalWrite(led5, LOW);
lcd.setCursor(14, 3);
lcd.print("on ");
}
if (psi3 == 275)
{
digitalWrite(led5, HIGH);
lcd.setCursor(14, 3);
lcd.print("off");
}
lcd.setCursor(0, 0);
lcd.print("0 1 2 3 4 4 3 2 1 0 ");
if (pot == 0)
{
lcd.setCursor(0, 0);
lcd.print("on");
digitalWrite(led1, HIGH);
if (psi1 < 51)
{
digitalWrite(led1, LOW);
}
digitalWrite(led2, HIGH);
digitalWrite(led3, HIGH);
if (psi2 < 57)
{
digitalWrite(led3, LOW);
digitalWrite(led4, HIGH);
}
}
if (pot == 1)
{
lcd.setCursor(1, 0);
lcd.print("on");
digitalWrite(led1, HIGH);
if (psi1 < 53)
{
digitalWrite(led1, LOW);
}
digitalWrite(led2, HIGH);
digitalWrite(led3, HIGH);
if (psi2 < 59)
{
digitalWrite(led3, LOW);
digitalWrite(led4, HIGH);
}
}
if (pot == 2)
{
lcd.setCursor(3, 0);
lcd.print("on");
digitalWrite(led1, HIGH);
if (psi1 < 54)
{
digitalWrite(led1, LOW);
}
digitalWrite(led2, HIGH);
digitalWrite(led3, HIGH);
if (psi2 < 60)
{
digitalWrite(led3, LOW);
digitalWrite(led4, HIGH);
}
}
if (pot == 3)
{
lcd.setCursor(5, 0);
lcd.print("on");
digitalWrite(led1, HIGH);
if (psi1 < 55)
{
digitalWrite(led1, LOW);
}
digitalWrite(led2, HIGH);
digitalWrite(led3, HIGH);
if (psi2 < 61)
{
digitalWrite(led3, LOW);
digitalWrite(led4, HIGH);
}
}
if (pot == 4)
{
lcd.setCursor(7, 0);
lcd.print("on");
digitalWrite(led1, HIGH);
if (psi1 < 57)
{
digitalWrite(led1, LOW);
}
digitalWrite(led2, HIGH);
digitalWrite(led3, HIGH);
if (psi2 < 61)
{
digitalWrite(led3, LOW);
digitalWrite(led4, HIGH);
}
}
if (pot == 5)
{
lcd.setCursor(9, 0);
lcd.print("on");
digitalWrite(led1, HIGH);
digitalWrite(led2, HIGH);
if (psi1 > 56)
{
digitalWrite(led2, LOW);
}
digitalWrite(led3, HIGH);
digitalWrite(led4, HIGH);
if (psi2 > 61)
{
digitalWrite(led4, LOW);
}
}
if (pot == 6)
{
lcd.setCursor(11, 0);
lcd.print("on");
digitalWrite(led1, HIGH);
digitalWrite(led2, HIGH);
if (psi1 > 55)
{
digitalWrite(led2, LOW);
}
digitalWrite(led3, HIGH);
digitalWrite(led4, HIGH);
if (psi2 > 60)
{
digitalWrite(led4, LOW);
}
}
if (pot == 7)
{
lcd.setCursor(13, 0);
lcd.print("on");
digitalWrite(led1, HIGH);
digitalWrite(led2, HIGH);
if (psi1 > 54)
{
digitalWrite(led2, LOW);
}
digitalWrite(led3, HIGH);
digitalWrite(led4, HIGH);
if (psi2 > 59)
{
digitalWrite(led4, LOW);
}
}
if (pot == 8)
{
lcd.setCursor(15, 0);
lcd.print("on");
digitalWrite(led1, HIGH);
digitalWrite(led2, HIGH);
if (psi1 > 53)
{
digitalWrite(led2, LOW);
}
digitalWrite(led3, HIGH);
digitalWrite(led4, HIGH);
if (psi2 > 58)
{
digitalWrite(led4, LOW);
}
}
if (pot == 9)
{
lcd.setCursor(17, 0);
lcd.print("on");
digitalWrite(led1, HIGH);
digitalWrite(led2, HIGH);
if (psi1 > 51)
{
digitalWrite(led2, LOW);
}
digitalWrite(led3, HIGH);
digitalWrite(led4, HIGH);
if (psi2 > 57)
{
digitalWrite(led4, LOW);
}
}
}