Цитата:
Сообщение от Alexmit
Хоть какой есть, добавьте в сообщение.
|
Вот, может кто нибудь , кто с ардуино на "ТЫ" подправит ))
Код:
//спидометр
#include "TM1637.h"
#define CLK 12// пин дисплея
#define DIO 11// пин дисплея
TM1637 disp(CLK,DIO);
unsigned long time;//время срабатывания первого датчика
unsigned long time1;//время срабатывания второго датчика
unsigned long T;// T=(time1-time)/1000 из милисекунд в секунды
unsigned long S1;
int S;
void setup()
{
disp.set(3);//яркость дисплея
disp.init(D4056A);//D4056A is the type of the module
pinMode(3, INPUT);//срабатывание датчика слева
pinMode(4, INPUT);//срабатывание датчика справа
pinMode(5, OUTPUT);//индикация срабатывания датчика слева
pinMode(6, OUTPUT);//индикация срабатывания датчика справа
pinMode(7, OUTPUT);//индикация "готов"
}
void loop()
{
disp.display(0);
{ digitalWrite(7, HIGH);
if (digitalRead(3) == LOW) // условие на опрос левого датчика 3-й порт
{ time = millis();digitalWrite(5, HIGH); digitalWrite(7, LOW);
while (digitalRead(4) == HIGH)// счет времени пока не сработал правый датчик
{ } time1 = millis();
digitalWrite(6, HIGH); T=(time1-time); S1=31320/T; S=S1;
disp.display(S); delay(3000);}
else if (digitalRead(4) == LOW) // условие на опрос правого датчика 4-й порт
{ time = millis(); digitalWrite(6, HIGH); digitalWrite(7, LOW);
while (digitalRead(3) == HIGH)// счет времени пока не сработал левый датчик
{ } time1 = millis();
digitalWrite(5, HIGH); T=(time1-time); S1=31320/T; S=S1;
disp.display(S); delay(3000);}
}
if (digitalRead(3) == HIGH && digitalRead(4) == HIGH)
{digitalWrite(7, HIGH);digitalWrite(5, LOW); digitalWrite(6, LOW);}
else
digitalWrite(7, LOW);
}