фоторезистор и свет
- Войдите на сайт для отправки комментариев
Вс, 10/12/2017 - 23:27
здраствуйте прошу помощи так как запутался и не понимаю как добавить фоторезистор
первое что было это управление светом через блютус добавил лед ленту(грехом пополам разобрался), как работает по коду наверное поймете сейчас идея такова что при получение значения (5 не суть) ардуино через фоторезистор гасила свет тоесть реле, реле подключено через проходной выключатель код приложил P.S. я новичек прошу камнями не закидывать
int SV1 = 12; // свет 1\2 конмната int SV2 = 11; // свет 1\2 конмната int lock = 10; // замок закрыть int unlock = 9; // замок открыть int led = 3; // пин ленты int b = 0; // параметры ленты int V = 2; // питание для ленты int raw = 0; // параметры фоторезистора const int pinPhoto = A0; // фоторезистор int V1 = 4; // питание фоторезистора void setup() { Serial.begin(9600); Serial.setTimeout(4); pinMode(SV1, OUTPUT); pinMode(SV2, OUTPUT); pinMode(lock, OUTPUT); pinMode(unlock, OUTPUT); pinMode(led, OUTPUT); pinMode(V, OUTPUT); pinMode(V1, OUTPUT); pinMode(pinPhoto, INPUT ); digitalWrite(V, HIGH); digitalWrite(V1, HIGH); } void loop() { raw = analogRead( pinPhoto ); if (Serial.available() > 0) { int i = Serial.parseInt(); if (i == 1) digitalWrite(SV1, !digitalRead(SV1)); if (i == 2) digitalWrite(SV2, !digitalRead(SV2)); if (i == 3) { digitalWrite(lock, HIGH); delay(100); digitalWrite(lock, LOW); } if (i == 4) { digitalWrite(unlock, HIGH); delay(100); digitalWrite(unlock, LOW); } if (i == 5, raw < 200) { digitalWrite(SV1, HIGH); Serial.println( raw ); } else if (raw < 200) { digitalWrite(SV1, LOW); Serial.println( raw ); } if (i == 6, raw > 300) { digitalWrite(13, LOW); Serial.println( raw ); } if (i >= 256 && i <= 511) { //b = i-256; // для RGB ленты b = 511 - i; analogWrite(led, b); } } }
Вы не запутались, у Вас проблемы с синтаксисом оператора if.
В строке 63 условие прописано правильно, а в строках 44 и 53 некая бессмыслица, увидьте разницу.
так помогите хотябы простейший пример дальше сам разберусь просто даже не понимаю в какую сторону двигаться с if
Если Вам надо выполнить действие при i раном 5 и raw меньше 200 то это пишется так
if((i==5) && (raw < 200))
Почитайте http://arduino.ru/Reference/Boolean
так помогите хотябы простейший пример дальше сам разберусь просто даже не понимаю в какую сторону двигаться с if
http://people.toiit.sgu.ru/Sinelnikov/PT/C/Kern_Ritch.pdf
Там достаточно примеров и пояснений.