проблема с сравнением данных из сериал
- Войдите на сайт для отправки комментариев
Ср, 19/06/2013 - 11:52
Привет всем^^ Подскажите пожалуйста где ошибка, от ардуино на комп у меня приходят данные температуры, я хочу чтобы при определенном значении температуры включался вентилятор, но что-то не выходит. Я уже перепробовала все типы данных, а вентилятор все равно молчит=(((
while (Serial.available()) { int i=Serial.read(); if (i > =25) analogWrite(7,255); delay(500); }
надеюсь вентилятор не напрямую в ардуину воткнут?
Откуда приходят данные с сериала? с консоли монитора порта?
тогда надо писать
int i = Serial.read() - '0';
а лучше int i = Serial.ParseInt();
в сетапе скорость проставлена?
я бы не спрашивала если бы сомневалась в правильности подключения вентилятора, им с помощью ардуино я уже управляла, меняла программно скорость его вращения
увы, об этом не знал из первого поста (
Извиняюсь)
в сетапе скорость поставлена, первый вариант пробовала не прокатил, сейчас попробую второй
по сериалу приходит двухзначное число?
если да, то первый вариант с вычитанием кода 0 не поможет
вот тут обсуждали как получать целые многозначные числа переданные в текстовом виде:
http://arduino.ru/forum/programmirovanie/rabota-s-som-portom
по сериалу приходят числа в таком формате: 22.23
Попробовала Serial.ParseInt() вентилятор продолжает молчать как партизан =((
в текстовом? тогда parseInt не поможет, 22.23 это дробное,
как вариант parseFloat или самостоятельно посимвольно собирать числа.
Для отладки можно добавить Serial.println(i)
что бы удостовериться, что получила ардуина
Спасибо, сейчас испробую