PHP + Arduino Uno и COM-порт

jumper9691
Offline
Зарегистрирован: 06.11.2016
Всем привет, возникла такая проблема:
Нужно сделать с виду простецкую штуку - аля "турникет", суть в которой: оператор нажимает на кнопочку на сайте, ардуинка подхватывает и поворачивает серво-привод на 90 градусов, ждет 2 секунды и возвращает его обратно. Конкретно проблема - не могу передать значения (всего лишь цифру 1) с php-скрипта через COM-порт. Вернее они передаются, но ардуинка отказывается адекватно принимать их. Сначала она только двигала серво на 90 градусов, и отказывалась его возвращать, а после некоторых правок вообще ничего не делает. Для общения через COM использую библиотеку php_serial.class
Код скрипта
if (isset($_GET['test'])) {
$serial = new phpSerial;
$serial->deviceSet("COM4"); //com порт модема
$serial->confBaudRate(9600);
$serial->confCharacterLength(8);
$serial->confParity("none");
$serial->confStopBits(1);
$serial->confFlowControl("xon/xoff");
$serial->deviceOpen();
$serial->sendMessage(intval(1));
$serial->deviceClose();*/
}

 

Скетч ардуинки
#include <Servo.h>
int command;
Servo servo;
void openT() {
  servo.write(90); 
}
void closeT() {
  servo.write(180);
}
void setup() {
  Serial.begin(9600); 
  servo.attach(9);
  servo.write(180);
}
void loop()
{
 if(Serial.available()>0){
    command = Serial.parseInt();
    switch (command){
    case 0:
        closeT();
        break;
    case 1:
        openT(); 
        delay(2000);
        closeT();
        break;
    }
  }   
}

 

 
ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

строка 8 должно быть может NONE??? в верхнем блоке, не думаю, что вы управляющие последовательности в потоке обрабатываете

p.masyukov
p.masyukov аватар
Offline
Зарегистрирован: 14.11.2015

И что приходит порт на ардуино?