Блок питания для CarPc
- Войдите на сайт для отправки комментариев
Здравствуйте, помогите пожалуйста. Имеется ардуино уно китайская, она должна выполнять следующее: Следит через оптопару за напряжением на ACC(пин №2).
1. Если появилось питание на (пин 2) ,включает светодиод на (пине12) и он продолжает гореть пока сигнал с (пин 2) ACC не пропадет.
2. Если сигнал на (пине 2) ACC пропадает, то засекается пол минуты- 30000мс. и светодиод на пине 12 отключается.
Этот скетч отрабатывает это.
Но немогу понять как добавить дополнительно:
1 нужен еще один выход на светодиод, (например пин 11), на который при пропадании питания на оптопаре сигнала ACC ,сразу же, (пин 2) вырабатывался одиночный импульс.(для выработки сигнала отключения компьютера.)
2 и в идеале еще одна функция для выработки сигнала Reset после запуска компьютера , примерно через 3 секунды( информацию о начале запуска можно снимать со светодиода который загорается при запуске компьютера( и так же он должен быть одиночным).
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
int ledPin = 12; // пин со светодиодом
long OnTime = 30000; // время свечения светодиода, мс
int ledState = LOW;
int pinButton = 2; // пин, к которому подключена кнопка
unsigned long previousMillis = 0;
void setup()
{
pinMode(ledPin, OUTPUT);
}
void loop()
{
unsigned long currentMillis;
// если светодиод светится
if (ledState == HIGH)
{
currentMillis = millis();
// проверяем сколько прошло времени,
// если больше заданного - выключаем
if (currentMillis-previousMillis >= OnTime)
{
ledState = LOW;
previousMillis = 0;
digitalWrite(ledPin,ledState);
}
}
// если кнопка нажата - включаем светодиод
if (digitalRead(pinButton) == HIGH)
{
previousMillis = currentMillis; // запоминаем время
ledState = HIGH;
digitalWrite(ledPin,ledState);
}
}
|
Может так, если я правильно понял задачу
Vosara, Спасибо Огромное за помощь, но работает маленько не так. Доделал. Теперь светодиод(пин11) при пропадании сигнала на (пине 2) включается и гаснет как и было задумано.