2016-12-21 9 views
-2

Я пытаюсь автоматизировать, управляя двигателем 12 В с помощью Arduino Uno.Arduino Control от ПК

У меня есть этот код на Arduino:

const int transistorPin = 9; 

void setup() { 

    pinMode(transistorPin, OUTPUT); 
} 

void loop() { 

    int sensorValue = analogRead(A0); 

    int outputValue = map(sensorValue, 0, 1023, 0, 255); 

    analogWrite(transistorPin, outputValue); 
} 

довольно простой, так что с этим я могу контролировать скорость двигателя, используя печатную плату, потенциометр, и дополнительный вход 12В непосредственно на печатную плату.

так что эта физическая вещь работает, но теперь проблема заключается в том, что я не могу создать метод для управления ардуино с ПК.

Идея состоит в том, что система C# (уже существует, я не могу ее изменить) для запуска приложения, .exe, .bat или чего-то еще, и это приложение должно контролировать или сообщать Arduino о начале работы, я не знаю, управляя напряжением, путем изменения USB вкл и выкл с задержкой, чтобы отправить байт, и если arduino получит его, он начнется с программы, я открыт для предложений и помощи.

Идея состоит в том, что этот двигатель натягивает одну метку и только одну, а затем останавливается, пока это приложение на ПК не запустится снова и не активирует ардуино для доставки другой метки и снова останавливается.

+1

С # вы можете общаться с Arduino через последовательный интерфейс (SerialPort). – C1sc0

+1

Добро пожаловать в переполнение стека. Пожалуйста, найдите время, чтобы прочитать [The Tour] (http://stackoverflow.com/tour) и обратитесь к материалу из [Справочного центра] (http://stackoverflow.com/help/asking) о том, что и как вы можете спросите здесь. –

ответ

2

Просто используйте Serial.read на loop читать byte или другой тип, то, в соответствии с полученным значением, изменения outputValue.

Смотрите эту ссылку для более: https://www.arduino.cc/en/Serial/Read

+0

в arduino Я использую int incomingByte вместе с if invomingByte> 0, а затем выполняю программу, но могу это сделать на Visual Basic, на ПК, на шпаклере я делаю соединение на серийном COM8 и каждый раз, когда я нажимаю ключ, программа запускается, так что это работает, но я не могу автоматизировать эту вещь, на данный момент это только руководство. –

+0

извините, но я не понял ваш вопрос четко. но я считаю, что эта ссылка может помочь вам лучше: http://www.martyncurrey.com/arduino-and-visual-basic-part-3-controlling-an-arduino/ (это в Visual Basic - я действительно не понимаю если вы хотите управлять arduino на C# - из-за тегов - или в VB - потому что ваш комментарий)! Проверьте полный учебник, чтобы лучше понять, как связаться с arduino и pc: http://www.martyncurrey.com/arduino-and-visual-basic-part-1-receiving-data-from-the-arduino/ –

+0

Ok спасибо за то, что я хочу сделать, это отправить байт в arduino, например, проверить соединение, которое я использую Putty, на Serial COM 8, каждый из которых я нажимаю на Putty, отправляет байт в Arduino и запускает программу , но вместо того, чтобы использовать Putty, должно быть приложение, сделанное на VB или CMD, или что-то, что только doubleclick в него и запускать, без интерфейсов, без кнопок, как и .bat. –