Arduino как второй мозг e-bike
- Войдите на сайт для отправки комментариев
доброе время суток ,
я новичок и только начинаю пробовать писать для arduino
прошу помощи для открытого проекта -
/* Arduino as a second brain e-bike*/ const int sensAlarmPin10=10; // sensor capasitive ,infrared , alarm+ const int sensAlarmPin11=11; // alarm sensor vibratie ,alarm A2+ const int sgnalPin4=4; // реле на динамик и фара max const int buttonSignalPin5=5; // button signal alarm, liecht 100%+ const int swAlarmPin6=6; // вкл режим alarm const int ledAlarmPin7=7; // индикация режима Alarm (мигание 1 сек)+ const int swPin8=8; // вкл controler infineon , magnit sw MK)+ const int swRemPin9=9; // sw rem ,stop signal NC + const int ledPin14=14; // фара podsvetka const int ledStopPin15=15; // STOP фара+ const int sensFPin16=16; // fotoelement int value=0; int buttonState; int InfraredStatus; int VibrationStatus; int StopStatus; int SignalStatus; int lightLevel; int AlarmStatus; void setup() { /* initialize ( команда pinMode служит для настройки цифровых портов/контактов платы. в переменная ledPin, ... конфигурируется как вход/выход OUTPUT/INPUT ) pin as an output: pinMode(Pin , OUTPUT); //Вывод устанавливается как ВХОД digitalWrite(Pin, HIGH ); // устанавливает HIGH (1)+5v/LOW(0), подкл подтягиваю-й резистор (как камутатор) нагрузка через 470 Ом\1кОм digitalRead(Pin, HIGH); считывает значение с цифрового Вывода с результатом HIGH (1)/LOW(0), analogRead (контакты 0-5) value=analogRead(pin);//переменная value=значению напряжения на INPUT/ U=5v шаг 0,0048v(0-1023) аналоговые Выводы ненужно обьявлять как INPUT\OUTPUT */ pinMode(sgnalPin4, OUTPUT); // pinMode(buttonSignalPin5, INPUT); pinMode(swAlarmPin6, INPUT); pinMode(ledAlarmPin7, OUTPUT); // индикация режима Alarm (мигание 1 сек) pinMode(swPin8, INPUT); // pinMode(swRemPin9, INPUT); pinMode(sensAlarmPin10, INPUT); pinMode(sensAlarmPin11, INPUT); pinMode(ledPin14, OUTPUT); // фара ???? pinMode(ledStopPin15, OUTPUT); // STOP фара pinMode(sensFPin16, INPUT); } void loop() /* бесконечный цикл здесь присваиваются команды Цифровой ввод/вывод ,digitalRead/digitalWrite */ { buttonState = digitalRead(swPin8); // magnit sw MK InfraredStatus=digitalRead(sensAlarmPin10);//infrared 10pin VibrationStatus=digitalRead(sensAlarmPin11);//vibrate 11pin StopStatus=digitalRead(swRemPin9);//STOP фара SignalStatus=digitalRead(buttonSignalPin5); AlarmStatus=digitalRead(swAlarmPin6);//вкл режим alarm lightLevel = analogRead(sensFPin16); analogWrite(ledPin14, lightLevel); if (StopStatus !=LOW) // кнопка тормоза вкл,загорается задний STOP { analogWrite(ledStopPin15, value=255);// STOP фара max delay(500);//небольшая защита от "дребезга" контактов кнопки } else { analogWrite(ledStopPin15, value=0);// STOP фара max } if (SignalStatus != HIGH ) { digitalWrite (sgnalPin4,LOW); analogWrite(ledPin14, value=0); } else { digitalWrite (sgnalPin4,HIGH); analogWrite(ledPin14, value=255); delay(500);//небольшая защита от "дребезга" контактов кнопки } if ( buttonState != HIGH) // magnit sw MK { digitalWrite(ledAlarmPin7,HIGH); delay(1000); digitalWrite(ledAlarmPin7,LOW); // индикация режима Alarm (мигание 1 сек) Pin=7 delay(1000); } else { digitalWrite(ledAlarmPin7, LOW); } if (VibrationStatus == HIGH && InfraredStatus == HIGH ) { digitalWrite (sgnalPin4,HIGH); delay(10800000);// 60*60*3*1000 digitalWrite(sgnalPin4, LOW); } else { digitalWrite (sgnalPin4,LOW); } void manualTune() { lightLevel = map(lightLevel, 300, 800, 0, 255);/*настраивать в ручную Просто меняем 0, 1023 в страке ниже на что-то типа 300-800*/ lightLevel = constrain(lightLevel, 0, 255); } } --------------------------------------------------------------------------------------- sketch_dec02a.ino: In function 'void loop()': sketch_dec02a:124: error: a function-definition is not allowed here before '{' token
суть его в следующем
- двух уровневая сигнализация
1) уровень ,дистанционное предупреждение (детектор движения)
2) детектор вибрации вкл алярм .(вперспективе хотелосьбы реализовать идею с звонком на сотовый)
-скрытое вкл контролера - геркон или потайная кнопка
(вперспективе хотелосьбы реализовать идею с электронным ключём)
- звуковой сигнал
- автоматическое управление габаритным светом с помощью фоторезистора
- поворотные сигнальные огни
в выложенном скетче компилятор находит в конце ошибку с фигурной скопкой (121)
как мне ее разрешить ?
спасибо всем, кто проявит интерес к этой работе
у тебя скобка лишняя
если убираю скобки (221 224 )то получаю это
126 строку перенеси в 119
( код не проверял)
мельком глянул код -
110
delay(10800000);
это что? проц будет тупо в простое 10800 секунд ...
спасибо An25 ,
все скомпелировалось , завтра буду тестить :)
немного подправил скеч в итоге
кнопки стоп сигнала и фары работают
индикауия алярма мигает (081) при buttonState != HIGH( swPin8=8; // вкл controler infineon , magnit sw )
но два сенсора (092) почемуто включают алярм в противоположном режиме отключеного алярма( при buttonState == HIGH т.е. при включенном контролере infineon)
этот вариант для (092) не проходит
if ( ( buttonState != HIGH) && (VibrationStatus == HIGH && InfraredStatus == HIGH ))
}
подскажите ,что я делаю не так...