управление сервоприводами акселерометром
- Войдите на сайт для отправки комментариев
Здраствуйте формумчане!
помогите с кодом, делаю сынишке шлем ЖЧ на новый год. Пробывал сам разобратся, но 2 неделю вожусь без успехов.
Задачка такая: кивком (ускорение по оси Y d в пределах 10... 30 и малом пускорении по Х ax в пределах ax 0..10), два сервопривода устанавливаются на угол 60 градусов (открытие шзабрала), при втором кивке сервопривода принимают значение 0 градусов (закртие забрала), на светодиоды повается напряжение. При этом если вертеть головой или просто наклонить голову (ускорение по оси Y d в пределах 10... 30 и малом пускорении по Х ax в пределах ax 0..10) забрало не меняет свое положение. Оснащение (ардуино уно3, сервопривода mg90, акселерометр adxl335).
пробвал:
x = analogRead(A0);
у = analogRead(A1);
ax=x-dx;
ay=y-dy;
if (10<ay && 30>ay && 0<ax && 10>ax) { kivok==1;} // кивок есть
delay (100);
if (10<ay && 30>ay && 2<ax && 10>ax) { flag1 ==1;} // проверка залипа
delay (100);
if (kivok=1 && flag1>0 && angle1>10)
{
digitalWrite(8, LOW); // гасим шлем
servo1.write(60); // открываем забрало
servo2.write(120);
angle1 == 60;
angle1 == 120;
}
else
{
if (kivok=1 && flag1>0 && angle1<=120)
{
servo1.write(0); // закрываем шлем
servo2.write(0);
digitalWrite(8, HIGH); // включаем светодиод
angle1 == 0;
angle1 == 0;
1. Разберитесь пожалуйста с операторами = и ==, в приведённой пробе всё ужасно с ними, йа плакаль.
2. Прочтите http://arduino.ru/forum/obshchii/vstavka-programmnogo-koda-v-temukommentarii
3. Код выкладывайте весь, полностью.
http://arduino.ru/Reference/Setup
Думаю все плохо не только с присваиванием. Код просто не работает, кивок определяется, но при изменении данных с акселерометра переменная kivok принимает значение 0. Как реализовать алгоритм не догоняю. На просторах интернета похожего нет (примеры с кнопкой не подходят).
Вот и обращаюсь за готовым кодом.
Заранее спасибо.
Извиняюсь за ошибки набирал с телефона.
За готовым кодом Вы обращетесь явно не в тот раздел.