управление шим по таблице
- Войдите на сайт для отправки комментариев
Вс, 04/12/2016 - 23:48
доброго врмени всем прошу помощи купил ардуинку думал что все будет легко и просто но не так вообщем сначало нашол скетч (http://www.primera-club.ru/f/elektronika/62778-preobrazovatel-vq-tablic-...) похожий на то что мне надо но оказалось что не разобравшись что да как работает ни чего не получится
попробывал написать сам получилось чтото вроде но не работает видимо чтото упустил может подскажете
const int VAF = A0; //расходомер вход const int MAF = 3; //расходомер выход int val = 0; //переменная для хранения аналогового значения void setup() { pinMode (MAF, OUTPUT); // сконфигурировать MAF контакт как выход } void loop() { val = analogRead(VAF); if (val=4) { analogWrite(MAF,205); } else if(val=125) { analogWrite(MAF,164); } else if(val=205) { analogWrite(MAF,139); } else if(val=270) { analogWrite(MAF,111); } else if(val=334) { analogWrite(MAF,85); } else if(val=387) { analogWrite(MAF,68); } else if(val=426) { analogWrite(MAF,66); } else if(val=455) { analogWrite(MAF,61); } else if(val=481) { analogWrite(MAF,59); } else if(val=504) { analogWrite(MAF,56); } else if(val=524) { analogWrite(MAF,53); } else if(val=555) { analogWrite(MAF,51); } else if(val=573) { analogWrite(MAF,49); } else if(val=592) { analogWrite(MAF,44); } else if(val=610) { analogWrite(MAF,40); } else if(val=627) { analogWrite(MAF,36); } else if(val=643) { analogWrite(MAF,32); } else if(val=657) { analogWrite(MAF,29); } else if(val=670) { analogWrite(MAF,27); } else if(val=680) { analogWrite(MAF,24); } else if(val=692) { analogWrite(MAF,23); } else if(val=700) { analogWrite(MAF,22); } else if(val=711) { analogWrite(MAF,22); } else if(val=719) { analogWrite(MAF,21); } else if(val=727) { analogWrite(MAF,20); } else if(val=733) { analogWrite(MAF,20); } else if(val=741) { analogWrite(MAF,19); } else if(val=750) { analogWrite(MAF,19); } else if(val=758) { analogWrite(MAF,18); } else if(val=764) { analogWrite(MAF,18); } else if(val=772) { analogWrite(MAF,17); } else if(val=780) { analogWrite(MAF,17); } else if(val=786) { analogWrite(MAF,16); } else if(val=795) { analogWrite(MAF,16); } else if(val=803) { analogWrite(MAF,15); } else if(val=809) { analogWrite(MAF,15); } else if(val=815) { analogWrite(MAF,14); } else if(val=823) { analogWrite(MAF,14); } else if(val=831) { analogWrite(MAF,13); } else if(val=840) { analogWrite(MAF,13); } else if(val=848) { analogWrite(MAF,12); } else if(val=856) { analogWrite(MAF,12); } else if(val=864) { analogWrite(MAF,11); } else if(val=872) { analogWrite(MAF,11); } else if(val=877) { analogWrite(MAF,10); } else if(val=881) { analogWrite(MAF,10); } else if(val=885) { analogWrite(MAF,9); } else if(val=889) { analogWrite(MAF,9); } else if(val=893) { analogWrite(MAF,8); } else if(val=897) { analogWrite(MAF,8); } else if(val=901) { analogWrite(MAF,7); } else if(val=905) { analogWrite(MAF,7); } else if(val=909) { analogWrite(MAF,6); } else if(val=913) { analogWrite(MAF,6); } else if(val=918) { analogWrite(MAF,5); } else if(val=922) { analogWrite(MAF,5); } else if(val=926) { analogWrite(MAF,4); } else if(val=930) { analogWrite(MAF,4); } else if(val=934) { analogWrite(MAF,3); } else if(val=938) { analogWrite(MAF,3); } else if(val=942) { analogWrite(MAF,2); } else if(val=952) { analogWrite(MAF,2); } else if(val=979) { analogWrite(MAF,1); } else if (val=983) { analogWrite(MAF,1); } }
пробывал еще так все работает но значения шим промежуточные не совпадают с тем что мне надо
const int lPin = 3; const int PPin = A0; void setup() { pinMode(lPin, OUTPUT); } void loop(){ analogWrite(lPin,map(analogRead(PPin),0,1024,205,0)); }
и еще может кто подскажет как создать какойто массив входного напряжения и выходного как с ним работать дальше
в первом скетче все знаки = в проверках условия if поменяй на <=.
В точное равенство аналоговым сигналом попасть проблематично.
И не лишним будет определить режим работы ножки A0.
В if надо = поменять на <
Ну и до кучи, чтобы ТС знал в чем еще была ошибка. Если сравнивать именно на равенство, то надо писать == (оператор сравнения), а не = (оператор присвоения).
огромное спасибо буду пробовать и изучать дальше . а можно все эти числа объединить в какой массив чтоб скетч. был покороче?
http://arduino.ru/Reference/Array
спасибо буду разбираться дальше