![]() |
![]() |
#1 |
Senior Member
Регистрация: 25.03.2014
Сообщений: 146
Вес репутации: 0 ![]() |
![]()
Собственно нужна помощь в разработке скрипта для ардуино мотор-шилд на 4 двигателя.
чтобы можно было отправить на какой угол повернуть сервопривод и сколько шагов сделать шаговому двигателю. понимаю, что надо делать какую то функцию которая бы разбирала, что приходит в буфер. Но пока получается отправить команду для движения 2 моторов. Пока использую скрипт кибер-бота с шилдом на 4 двигателя. Подскажите пожалуйста.... |
![]() |
![]() |
![]() |
#2 |
Senior Member
Регистрация: 25.03.2014
Сообщений: 146
Вес репутации: 0 ![]() |
![]()
Нашел функцию разбора команд....
ТУт Код:
#include <string.h> char unitID_in[10]; char command_in[10]; char data_in[100]; void setup() { // открываем порт Serial.begin(9600); } void loop() { int i=0; char buffer[100]; //если есть данные - читаем if(Serial.available()){ delay(100); //загоняем прочитанное в буфер while( Serial.available() && i< 99) { buffer[i++] = Serial.read(); } //закрываем массив buffer[i++]='\0'; } //если буфер наполнен if(i>0){ //разбераем его на части отделенные запятой sscanf(buffer, "%[^','],%[^','],%s", &unitID_in, &command_in, &data_in); } //Исполнительная часть //Проверяем какому устройству пришли данные //тестовое устройство 001 if ((String)unitID_in == "001"){ //test serial read Serial.print("001,arduino recive: unit "); Serial.print(unitID_in); Serial.print("\n"); Serial.print("command: "); Serial.print(command_in); Serial.print("\n"); Serial.print("data: "); Serial.print(data_in); Serial.print("\n"); unitID_in [0] = '\0'; command_in [0] = '\0'; } //пример выполнения команды устройством 013 if ((String)unitID_in == "013"){ if ((String)command_in == "on"){ digitalWrite(13, HIGH);} if ((String)command_in == "off"){ digitalWrite(13, LOW);} Serial.print("001,arduino recive: unit "); Serial.print(unitID_in); Serial.print(" command "); Serial.print(command_in); Serial.print("\n"); unitID_in [0] = '\0'; command_in [0] = '\0'; } } |
![]() |
![]() |
![]() |
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
Опции темы | Поиск в этой теме |
Опции просмотра | |
|
|