Что имеется : платка Arduino, MotorShiled
так же скрипт ,который читает данные с ком-порта и управляет двигателями:
- Код: Выделить всё
#include <AFMotor.h>;
int outputPin = 13; //здесь храним номер контакта
int val;
AF_DCMotor motorL(1);
AF_DCMotor motorR(2);
void setup()
{
Serial.begin(9600); //установка порта на скорость 9600 бит/сек
pinMode(outputPin, OUTPUT); //устанавливаем 13 контакт в режим вывода
}
void loop()
{
if (Serial.available()) { //если есть принятый символ,
val = Serial.read(); // то читаем его и сохраняем в val
if (val == 'L') { // если принят симовол 'H',...
motorL.run(FORWARD);
motorL.setSpeed(128);
}
if (val == 'R') { // если принят симовол 'L',
motorR.run(FORWARD);
motorR.setSpeed(128);
}
}
}
сама программ на C# ,которая шлет данные в com-порт
- Код: Выделить всё
static void Main(string[] args)
{
SerialPort port = new SerialPort("COM1", 9600);
port.Open();
while (true)
{
String s = Console.ReadLine();
if (s.Equals("exit"))
{
break;
}
port.Write(s + '\n');
}
port.Close();
}
Что я сделал:
0)подключил платку к ПК, плату MotorShiled к Arduino , а двигатели к портам M1 и M2
1)загрузил скрипт в Arduino
2)запустил программу(C#)
4)..
5)нифига не вышло=)
Подскажите ,в чем проблема?Можно ли обойтись ,без загрузки скрипта в Arduino и просто слать необходимый набор байтов на com-порт ,чтобы управлять двигателями?Если да ,то какие байты нужно слать?
Заранее спасибо за ответы!