Покажу простой пример связи ардуино и пк. Для этого будем использовать Processing(2.0.1 32 битная версия, Serial не может в 64), Arduino IDE, сама платка и потенциометр.
Подключение.. ну прям предельно простое
![[IMG]](https://i.gyazo.com/78c17951dffcc47e908cf7cc2d2dcb9e.png)
Увеличить
Код для Arduino IDE:
Загружаем этот код на наш контроллер, и переходим к процессингу.
Код для Processing:
1. Загружаем код на ардуино
2. Подключаем к пк
3. Запускаем код в processing
4. Крутим потенциометр
5. Крутим потенциометр
6. Офигеваем
Подключение.. ну прям предельно простое
![[IMG]](https://i.gyazo.com/78c17951dffcc47e908cf7cc2d2dcb9e.png)
Увеличить
Код для Arduino IDE:
Код:
int potPin = 0; // указываем порт, куда подцепили потенциометр
void setup()
{
Serial.begin(9600); // запускаем наш сериал
}
void loop()
{
int val = map(analogRead(potPin), 0, 1023, 0, 255); //*2
Serial.println(val); //*3
delay(50);
}
*2 гуглим "arduino map". С пина получаем 0-1023, на выходе необходимо 0-255,
сразу обрабатываем с помощью мк(можно и в процессинге было) и записываем в переменную val
*3 выводим в порт значение переменной val. Обрати внимание! Serial.println а не print. т.к.
в таком случае выводится необходимый нам '\n'
Код для Processing:
Код:
import processing.serial.*;
Serial port;
float input = 0;
void setup()
{
size(400, 400);
port = new Serial(this, "COM3", 9600); //активируем наш порт
port.bufferUntil('\n');//считываем значение строки до символа '\n'
void draw() // основной цикл отрисовки
{
background(0,input,0);//догадались что будет делать input?
float rect = map(input, 0, 255, 0, 370);
rect(15,200,rect,30);
}
void serialEvent (Serial port)
{
input = float(port.readStringUntil('\n')); //считываем с порта значение и -
//-записываем в переменную input }
2. Подключаем к пк
3. Запускаем код в processing
4. Крутим потенциометр
5. Крутим потенциометр
6. Офигеваем
Комментариев нет:
Отправить комментарий