เขียนโค้ดอาดูโน่ยังไงคะ ให้จอlcdที่แสดงตัวเลขลดลงเรื่อยๆ แต่เมื่อถึงเลข0ให้หยุดที0โดยไม่แสดงค่าติดลบ ลองแก้หลายรอบแล้วยังไม่ได้เลยค่ะ
นี้เป็นโค้ดที่เขียนแล้วทำได้แค่ลดจำนวนลงทีละ1นะคะ
#include <LiquidCrystal.h>
LiquidCrystal lcd(8, 9, 10, 11, 12, 13);
int trig=5;
int echo=4;
float dist;
const int buzz=3;
int led=2;
int a=2;
int i=2;
void setup()
{
lcd.begin(16,2);
pinMode(trig,OUTPUT);
pinMode(echo,INPUT);
pinMode(buzz,OUTPUT);
}
void loop()
{
lcd.setCursor(0,0);
lcd.print("sanitary napkin");
digitalWrite(trig, LOW);
delayMicroseconds(5);
digitalWrite(trig, HIGH);
delayMicroseconds(10);
digitalWrite(trig, LOW);
dist = pulseIn(echo, HIGH);
dist = dist / 58;
if (dist<10)
{
a=a-1;
tone(3,600, 100);
digitalWrite(led,HIGH);
delay(1000);
digitalWrite(led,LOW);
delay(1000);
lcd.setCursor(0,1);
lcd.print("TOTALITY : ");
lcd.setCursor(11,1);
lcd.print(a);
delay(5000);
}
ขอบคุณสำหรับคำแนะนำล่วงหน้าค่ะ
เขียนโค้ดจอlcdให้ไม่แสดงผลเลขติดลบยังไงคะ?
นี้เป็นโค้ดที่เขียนแล้วทำได้แค่ลดจำนวนลงทีละ1นะคะ
#include <LiquidCrystal.h>
LiquidCrystal lcd(8, 9, 10, 11, 12, 13);
int trig=5;
int echo=4;
float dist;
const int buzz=3;
int led=2;
int a=2;
int i=2;
void setup()
{
lcd.begin(16,2);
pinMode(trig,OUTPUT);
pinMode(echo,INPUT);
pinMode(buzz,OUTPUT);
}
void loop()
{
lcd.setCursor(0,0);
lcd.print("sanitary napkin");
digitalWrite(trig, LOW);
delayMicroseconds(5);
digitalWrite(trig, HIGH);
delayMicroseconds(10);
digitalWrite(trig, LOW);
dist = pulseIn(echo, HIGH);
dist = dist / 58;
if (dist<10)
{
a=a-1;
tone(3,600, 100);
digitalWrite(led,HIGH);
delay(1000);
digitalWrite(led,LOW);
delay(1000);
lcd.setCursor(0,1);
lcd.print("TOTALITY : ");
lcd.setCursor(11,1);
lcd.print(a);
delay(5000);
}
ขอบคุณสำหรับคำแนะนำล่วงหน้าค่ะ