arduino, servo, монитор порта, php
- Войдите на сайт для отправки комментариев
Сб, 25/08/2012 - 18:16
Проект хотелось бы через php управлять сервоприводами
скрипт ПХП
<? $fp =fopen("com3", "w"); fwrite($fp, chr(1)); fclose($fp); ?>
скетч
#include <Servo.h> Servo myservo1; // 1 сервопривод Servo myservo2; // 2 сервопривод int resultInt; // переменная которая будет приходить из вне int x; // переменная котороя будет хранить положения 1 сервопривода int y; // переменная котороя будет хранить положения 2 сервопривода void setup(){ myservo1.attach(9); myservo2.attach(10); Serial.begin(9600); } void loop() { if (Serial.available()>0) { resultInt = serReadInt(); Serial.println(resultInt); x=myservo1.read(); y=myservo2.read(); } switch (resultInt) { case 1: myservo1.write(x+=20); break; case 2: myservo1.write(x-=20); break; case 49: myservo2.write(y+=20); break; case 50: myservo2.write(y-=20); break; } delay(1000); } int serReadInt() { int i, serAva; char inputBytes [7]; // массив для хранения байтов char * inputBytesPtr = &inputBytes[0]; // указатель на первый элемент массива if (Serial.available()>0) // проверяем есть ли данные { delay(7);//чутка ждем, чтобы все данные прошли serAva = Serial.available(); // получаем количество доступных байт for (i=0; i<serAva; i++) // загружаем байты в массив inputBytes[i] = Serial.read(); inputBytes[i] = '\0'; // дописываем NULL в конец массива return atoi(inputBytesPtr); // Вызываем atoi функцию, стандартная функция С } else return -1; // Возвращаем -1, если ничего не получили }
Через монитор порта когда отправляешь данные приводы крутятся как надо, но через php не хотят...
Подскажи те добрые люди что делать?
Извиняюсь скинул код без проверки, есть ошибка
вот рабочий
Извиняюсь еще раз, разобрался только нужна не большая подсказка...
4 файла php каждый посылает цифру от 1 до 4
Arduino ловит их и обрабатывает
1, 2 - вперед назад первый сервопривод
2, 3 - вперед назад второй сервопривод
Все работает но, в коде есть не нужные строчки которые ни как не трогают логику, если их убрать сервы не двигаются((
почему так ?
Вот эти строчки не нужны так же как и описанная переменная Z