Я работал над школьным заданием, которое необходимо для создания программы для подключения arduino для чтения сигнала arduino с именем 'Ping', и в то же время при чтении пользовательского ввода из файла python может переключаться встроенный светодиод включен и выключен. Я работал с этим в течение 2 дней, ища в inte rnet решение?
Задание 2: Считайте Ping от Arduino и включите / выключите светодиод на своем ноутбуке. Запустите программу «pingandled.ino» на вашем Arduino. Использование учебного пособия https://petrimaki.com/2013/04/28/reading-arduino-serial-ports-in-windows-7/ Напишите программу (.py), которая считывает Ping с последовательной шины и одновременно позволяет включать / выключать светодиод по умолчанию (вывод 13) на Arduino с вашего компьютера. P C. Если ваша программа блокирует чтение Pnigs при ожидании команды на включение или выключение светодиода, это неправильно. Чтение Пингов всегда должно продолжаться !!!! Используйте inte rnet, чтобы найти решение.
У нас есть код arduino, который мы не можем изменять.
enter code here: int incomingByte = 0;
int ledPin = 13;
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
pinMode(ledPin, OUTPUT);
}
int counter = 0;
void loop() {
// put your main code here, to run repeatedly:
if (Serial.available() == 0 and counter == 0)
{
Serial.print("Ping");
delay(10);
counter++;
}
else
{
incomingByte = Serial.read();
// say what you got:
if (incomingByte == 49) { // ASCII printable characters: 49 means number 1
digitalWrite(ledPin, HIGH);
} else if (incomingByte == 48) { // ASCII printable characters: 48 means number 0
digitalWrite(ledPin, LOW);
}
delay(10);
if (counter < 100)
{
counter ++;
}
else
{
counter = 0;
}
}
}
У меня есть код python, который имеет 2 функции: одну для считывания сигнала arduino и одну для включения и выключения светодиода. Если я вызываю функции отдельно, это работает, но мне нужен код для одновременного выполнения обеих функций l oop. Вывод выглядит следующим образом: постоянная печать данных с Arduino и при этом мне нужно дать ввод, введите 1 или 0, чтобы переключить светодиодный пинг
enter code here: import serial
import time
s = serial.Serial("COM3", 9600, timeout=0)
def blink():
data = s.readline()
data = data.decode()
print(data)
time.sleep(1)
def aan():
var = input()
var = var.encode()
var = s.write(var)
while 1: