Тюнинг своими руками

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());

}