Обработка сигнала, приходящего на Arduino с одного потенциометра
Коммутируем потенциометр с платой согласно схеме:
Посредством программы Arduino IDE загружаем скетч в плату Arduino:
int pin = A0;
int str;
void setup() {
Serial.begin(9600); //инициализируем работу порта на скорости 9600 бод
pinMode(pin, INPUT); //пин А0 инициализируем в качестве входа
Serial.println("Hi! I am Arduino"); //сигнал в порт о готовности к работе
}
void loop() {
str = analogRead(pin); //считываем сигнал с пина А0 (от 0 до 724 (3V3) или 1023 (5V))
Serial.println(str); //отправляем числовое значение сигнала в порт
}
Предварительно необходимо установить библиотеку: введите pip install pyserial в командную строку. Далее загружаем код в среду разработки Python (перед запуском необходимо выбрать порт, к которому подключен модуль, у меня СОМ4):
#для взаимодействия с портом
import serial
#для использования функций времени
import time
#выбор порта и частоты обмена данными
ArduinoSerial = serial.Serial('COM4', 9600)
#ждем 2 секунды для стабилизации
time.sleep(2)
#вывод данных из порта в консоль
print(ArduinoSerial.readline().decode().strip())
while 1:
#прием и декодирование строки (сигнала с потенциометра)
line = ArduinoSerial.readline()
print(line.decode().strip())
Обработка сигналов, приходящих на Arduino с двух потенциометров
Крайние ноги второго потенциометра также вставляем в 3V3 (можно и в 5V - сути не меняет) и GND, а среднюю - в А1.
import serial
import time
ArduinoSerial = serial.Serial('COM4', 9600)
time.sleep(2)
while 1:
line = ArduinoSerial.readline().decode().strip()
#разделение строки по пробелу
mas = line.split()
print(mas[0])
print(mas[1])