Как перезапустить счетчик в программе с помощью кнопки в настройке LDR Tripwire

Итак, пытаясь настроить этот код так, чтобы, когда я нажимаю кнопку, счетчик персонажа будет идти в ноль и, как только он будет идти, счетчик будет увеличиваться при смене LDR и снова при нажатии кнопки счетчик будет равен 0.

#include <LiquidCrystal.h>

int laser=8;
int pushbutton=12;
int flag=0; 
int myCounter = 0; 
LiquidCrystal lcd(7,6,5,4,3); 

void setup() 
{ 
    pinMode(laser,OUTPUT); pinMode(pushbutton,INPUT); 
    lcd.begin(16, 2); 
    lcd.print("Person Counter:"); lcd.setCursor(0,1); 
    lcd.print(0); 
} 

void loop() 
{
    lcd.setCursor(0, 1);
    digitalWrite(laser,HIGH); 

    if(analogRead(A0) < 600) //A0= LDR
    {
        flag = 1;
    } 

    if(analogRead(A0) > 600 && flag == 1) 
    {
        myCounter++; 
        delay(200); 
        lcd.print(myCounter); 
        delay(20); 
        flag=0;
    } 
}
2 голоса | спросил Samanwaya Datta 1 PMpSat, 01 Apr 2017 12:46:45 +030046Saturday 2017, 12:46:45

1 ответ


2

Попробуйте этот код. Я сделал некоторые изменения, а также прокомментировал это.

#include <LiquidCrystal.h>

LiquidCrystal lcd(7, 6, 5, 4, 3);

int laser = 8;
int pushbutton = 12;
int flag = 0; 
int myCounter = 0; 

void setup() 
{ 
  pinMode(laser,OUTPUT);
  pinMode(pushbutton,INPUT_PULLUP); // Provide pull-up

  lcd.begin(16, 2); 
  lcd.print("Person Counter:");
  lcd.setCursor(0,1); 
  lcd.print(0); 
} 

void loop() 
{
  lcd.setCursor(0, 1);
  digitalWrite(laser,HIGH); 

  if(analogRead(A0) < 600) //A0= LDR
  {
    flag = 1;
  } 

  if(analogRead(A0) > 600 && flag == 1) 
  {
    myCounter++; 
    delay(200); 
    lcd.print(myCounter); 
    delay(20); 
    flag = 0;
  }

  if(digitalRead(pushbutton) == LOW) // When button pressed
  {
    myCounter = 0; // Set counter to 0
  }
}
ответил Help2Engg 1 PMpSat, 01 Apr 2017 14:15:54 +030015Saturday 2017, 14:15:54

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132