Приветствую, друзья!
Задался тут целью за зиму электрифицировать вел.
Суть в том, что нередко катаю в темное время суток и хочу быть чуть более видимым на дороге. (Ну и немножко поиграться в электронщика)
Запланировано:
1) все работает от ардуино (сделано)
2) поворотники (стоят вместо затычек грипс) управляются сенсорными кнопками (сделано)
3) головной свет и задний габарит управляются фоторезистором(модуль с подстроечным резистором) (сделано)
4) стоп загорается по данным с акселерометра (не сделано пока что, но в принципе сложности не вижу)
5) вся эта история работает от 4-х параллельных 18650 (сделано)
Протестировано:
1) написан код для ардуино (чуть более чем весь натырен и перестроен)
2) разведено и протестировано в cirquits. (в нем нет сенсорной кнопки, поэтому на скрине обычные тактовые кнопки)
3) напаяно тап-ляп навесом на плату и уже с сенсорными кнопками - работает.
Какой помощи прошу у сообщества:
1) произвести ревизию кода и подобранных компонентов
2) совместно подумать о форм-факторе платы и накидать все в easyEDA так, чтобы можно было собрать это максимально компактно.
Я бы этот пункт с платой сделал сам, но врожденное рукожопие не позволяет
код вот:
Задался тут целью за зиму электрифицировать вел.
Суть в том, что нередко катаю в темное время суток и хочу быть чуть более видимым на дороге. (Ну и немножко поиграться в электронщика)
Запланировано:
1) все работает от ардуино (сделано)
2) поворотники (стоят вместо затычек грипс) управляются сенсорными кнопками (сделано)
3) головной свет и задний габарит управляются фоторезистором(модуль с подстроечным резистором) (сделано)
4) стоп загорается по данным с акселерометра (не сделано пока что, но в принципе сложности не вижу)
5) вся эта история работает от 4-х параллельных 18650 (сделано)
Протестировано:
1) написан код для ардуино (чуть более чем весь натырен и перестроен)
2) разведено и протестировано в cirquits. (в нем нет сенсорной кнопки, поэтому на скрине обычные тактовые кнопки)
3) напаяно тап-ляп навесом на плату и уже с сенсорными кнопками - работает.
Какой помощи прошу у сообщества:
1) произвести ревизию кода и подобранных компонентов
2) совместно подумать о форм-факторе платы и накидать все в easyEDA так, чтобы можно было собрать это максимально компактно.
Я бы этот пункт с платой сделал сам, но врожденное рукожопие не позволяет
код вот:
C++:
int switchPinR=8;
int switchPinL=7;
int switchPinS=6;
int zad=4;
int ledPinR=10;
int ledPinL=12;
int svet=11;
boolean ledOn = false;
unsigned long timing;
int i=0;
int z=0;
void setup() {
// put your setup code here, to run once:
pinMode(switchPinR, INPUT);
pinMode(ledPinR, OUTPUT);
pinMode(switchPinL, INPUT);
pinMode(ledPinL, OUTPUT);
pinMode(switchPinS, INPUT);
pinMode(svet, OUTPUT);
pinMode(zad, OUTPUT);
Serial.begin(9600);
}
void loop() {
// put your main code here, to run repeatedly:
//Правый поворотник.
if (digitalRead(switchPinR) == HIGH)
{
digitalWrite(ledPinR, HIGH);
i=0;
while (i<4) {
ledOn = !ledOn;
digitalWrite(ledPinR, ledOn);
delay(400);
i++;
z++;
if (digitalRead(switchPinR) == LOW && z>=4) { break; }
}
}
else
{
digitalWrite(ledPinR, LOW);
z=0;
}
//Левый поворотник.
if (digitalRead(switchPinL) == HIGH)
{
digitalWrite(ledPinL, HIGH);
i=0;
while (i<4) {
ledOn = !ledOn;
digitalWrite(ledPinL, ledOn);
delay(400);
i++;
z++;
if (digitalRead(switchPinL) == LOW && z>=4) { break; }
}
}
else
{
digitalWrite(ledPinL, LOW);
z=0;
}
//Головной свет
if
(millis() - timing > 1000){
timing = millis();
Serial.println ("10 seconds");
if
(digitalRead(switchPinS) == HIGH)
{
digitalWrite(svet, LOW);
digitalWrite(zad, LOW);
}
else {
digitalWrite(svet, HIGH);
digitalWrite(zad, HIGH);
}
}
}
Вложения
-
43.6 KB Просмотры: 38
Изменено: