T4 Двигатель AAB реле накала свечей на Arduino
В моей машине Transporter 1994г.в. после запуска свечи горят ещё 3 минуты и только потом выключаются. Всё бы ничего, но стали подгорать контакты в гнезде. Пришлось выкинуть схему из реле и припаять провода к реле. Вместо схемы я подключил Arduino Nano и залил в неё простой скетч : таймер на 10 секунд без задержки
void setup() {
pinMode(7, OUTPUT);
}
void loop() {
if (millis() >= 10000) {digitalWrite(7, HIGH);} else {digitalWrite(7, LOW);}
}
«без задержки» делал что бы использовать не только на включение свечей, но и использовать для дальнейших проектов.
Дисплей LCD M235 выпаял из лазерного факса панасоник, чтобы он поместился в спидометр и подключил модуль часов реального времени DS3231. Реле включает силовое реле и отключает ближний свет на 10 секунд. На дисплей верхняя строчка — выводиться дата и время работы двигателя, нижняя сверхточный часы и температура. Питание от импульсного lm2596s стабилизатора 6v.
скетч
#include <Wire.h>
#include «Sodaq_DS3231.h»
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup() {
pinMode(7, OUTPUT);
Wire.begin();
rtc.begin();
lcd.begin(16, 2);
;
}
void loop() {
if (millis() >= 10000) {digitalWrite(7, HIGH);} else {digitalWrite(7, LOW);}
DateTime now = rtc.now();
rtc.convertTemperature();
lcd.setCursor(0, 0);
if (now.date()<10) lcd.print(‘0’);lcd.print(now.date(), DEC);lcd.print(‘-‘);if (now.month()<10) lcd.print(‘0’);lcd.print(now.month(),DEC);lcd.print(‘-‘);lcd.print(now.year(),DEC);
lcd.print(‘ ‘);
if ((millis() / 1000)/60/60<10) { lcd.print («0»); }lcd.print ((millis() / 1000)/60/60);lcd.print («:»);
if ((millis() / 1000)/60%60<10) { lcd.print («0»); }lcd.print (((millis() / 1000)/60)%60);
//lcd.print («:»);//if ((millis() / 1000)%60<10) { lcd.print («0»); } lcd.print ((millis() / 1000)%60);
lcd.setCursor(0, 1);
if (now.hour()<10) lcd.print(‘0’);lcd.print(now.hour(),DEC);lcd.print(‘:’);if (now.minute()<10) lcd.print(‘0’);
lcd.print(now.minute(),DEC);lcd.print(‘:’);if (now.second()<10) lcd.print(‘0’);lcd.print(now.second(),DEC);
lcd.print(‘ ‘);
lcd.print(» t=»);lcd.print(rtc.getTemperature());
}