Первая программа
- Войдите на сайт для отправки комментариев
Пнд, 05/12/2016 - 21:13
Доброго времени суток, подскажите пожалуйста в чем "затык"
управление зарядко аккума
прога 1:
int analogInput = A1; float vout = 0.0; float vin = 0.0; int minn = 12.40; int maxx = 12.70; int value = 0; float R1 = 30000.0; float R2 = 7500.0; void setup(){ pinMode(analogInput, INPUT); Serial.begin(9600); Serial.print("DC VOLTMETER"); pinMode(12, OUTPUT); // digitalWrite (12, HIGH); } void loop(){ // read the value at analog input value = analogRead(analogInput); vout = (value * 5.0) / 1023.0; // see text vin = vout / (R2/(R1+R2)); Serial.print("INPUT V= "); Serial.println(vin,2); // String str = "a"; switch(vin()) { case < "minn": digitalWrite (12, LOW); break; case > "maxx": digitalWrite (12, HIGH); break; } //if (vin > minn) digitalWrite (12, LOW); //if (vin < maxx) digitalWrite (12, HIGH); delay(1000); }
прога 2:
int analogInput = A1; float vout = 0.0; float vin = 0.0; int minn = 12.40; int maxx = 12.70; int value = 0; float R1 = 30000.0; float R2 = 7500.0; void setup(){ pinMode(analogInput, INPUT); Serial.begin(9600); Serial.print("DC VOLTMETER"); pinMode(12, OUTPUT); // digitalWrite (12, HIGH); } void loop(){ // read the value at analog input value = analogRead(analogInput); vout = (value * 5.0) / 1023.0; // see text vin = vout / (R2/(R1+R2)); Serial.print("INPUT V= "); Serial.println(vin,2); if (vin > minn) digitalWrite (12, LOW); if (vin < maxx) digitalWrite (12, HIGH); delay(1000); }
Возможно я ошибаюсь, но мне кажется, что затык у Вас в том,что Вы не можете сформулировать проблему.
cтратор,
это Вы нам объясните в чём затык, мож оно у Вас прекрасно работает.... хотя нет "прога" хорошо работать не может по определению.
по IF неработает
пробывал по switch тоже самое
12 выход "включился" а далее без изменений при выходе за приделы мин и макс.
по шнуру напругу измеряет и пишет на компе
DC VOLTMETERINPUT V= 12.41
INPUT V= 12.71
INPUT V= 12.73
INPUT V= 12.73
INPUT V= 12.73
INPUT V= 12.73
INPUT V= 12.73
INPUT V= 12.73
INPUT V= 12.76
INPUT V= 12.78
INPUT V= 12.76
INPUT V= 12.76
ардуно подключенна к аккомулятору, а тот через реле к источнику питания 20 вольт(+резистор)
если напряжение меньше 12.4 то реле поключает "заряд"
если напряжение меньше 12.7 то реле отключает "заряд"
Понятно.
работает, спасибо.
HIGH и LOW перепутанны