Ви не увійшли.
спасибо
/**/
const byte Rpin =/*пин*/A0;
const byte Led1Pin =/*пин*/8;
const byte Led2Pin =/*пин*/9;
const byte Led3Pin =/*пин*/10;
const byte st1 = 0; // горит 1-й
const byte st2 = 1; // горит 2-й
const byte st3 = 2; // горит 3-й
byte state;
unsigned long past,time;
void set(byte s) {
state = s;
time=analogRead(Rpin)+100;
past = millis();
switch (s) {
case st1:
digitalWrite(Led1Pin, HIGH);
digitalWrite(Led2Pin, LOW);
digitalWrite(Led3Pin, LOW);
break;
case st2:
digitalWrite(Led1Pin, LOW);
digitalWrite(Led2Pin, HIGH);
digitalWrite(Led3Pin, LOW);
break;
case st3:
digitalWrite(Led1Pin, LOW);
digitalWrite(Led2Pin, LOW);
digitalWrite(Led3Pin, HIGH);
break;
}
}
void _init() {
pinMode(Led1Pin, OUTPUT);
pinMode(Led2Pin, OUTPUT);
pinMode(Led3Pin, OUTPUT);
set(st1);
}
void _run() {
if (state == st1 && millis() - past >= time) set(st2);
if (state == st2 && millis() - past >= time) set(st3);
if (state == st3 && millis() - past >= time) set(st1);
}
//-----------main------------------------
void setup() {
_init();
}
void loop() {
_run();
}
/**/
delay(val);
Светодиоды должны гореть по очереди.
С помощью потенциометра нужно реализовать изменение скорости движения огонька.
int analogPinpot = 0;
int led1 = 8;
int led2 = 9;
int led3 = 10;
int val = 0; // переменная для хранения значения
void setup()
{
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
}
void loop()
{
digitalWrite(8, HIGH);
delay(1000);
digitalWrite(8, LOW);
delay(1000);
digitalWrite(9, HIGH);
delay(1000);
digitalWrite(9, LOW);
delay(1000);
digitalWrite(10, HIGH);
delay(1000);
digitalWrite(10, LOW);
delay(1000);
val = analogRead(analogPin);// считывает значение с порта, подключенному к потенциометру
}
https://www.tinkercad.com/things/8bbzbSzRBfY