Я пытаюсь запустить бесконечный цикл, в котором контролируется расширение и перемещение линейного привода. Объем расширения контролируется пользовательским входом со значением от 0 до 9, то есть, если я нахожу 9 и вхожу, привод будет расширяться до максимального расширения, и если я нажму 5 и войду, привод вернется к 50% -ному расширению.Python версия Arduino's Serial.available
Я использую PINE A64 + с MCP3008, подключенным к шине Pi-2, и просто пытаюсь заменить установку, с которой я работал с приводом Arduino +, с автономной встроенной установкой Linux.
Я не уверен, как идти о постоянном мониторинге программы raw_input при запуске бесконечного цикла в фоновом режиме. Я был в состоянии сделать это в моем Arduino код следующим:
if (Serial.available() > 0) {
userInput = Serial.read()-48;
Serial.println(userInput);
}
Как бы я идти о делать что-то подобное в Python? Я попытался использовать команду PySerial inWaiting, но это не дает мне того же результата. По сути, я хочу, чтобы программа делать либо одно из двух possibilites:
- Используйте, если заявление в петле только присвоить новое значение переменное, используемые при наличии пользовательского ввода, или
- Для мониторинга для входа постоянно, а когда есть вход, чтобы разбить цикл, назначьте новое значение переменной, используемой циклом, и снова введите петлю.
Это будет выглядеть примерно так:
# begin loop w/ while True statement
# using if statement to enter only if there is user input, otherwise pass over
if Whatever:
Terminal[0] = user input
getVal = analogRead(0, PI2CLK, PI2MOSI, PI2MISO, PI2CS)
if (positionArray[Terminal[0]] - 10) < getVal < (positionArray[Terminal[0]] + 10):
PWM0A.stop()
PWM0B.stop()
elif getVal > positionArray[Terminal[0]]:
PWM0A.start(100)
PWM0B.stop()
elif getVal < positionArray[Terminal[0]]:
PWM0A.stop()
PWM0B.start(100)
# end loop
Какой самый лучший способ идти об этом? Заранее спасибо :)
Не могли бы вы предоставить дополнительную информацию об установке оборудования/программного обеспечения? Как вы используете Python на arduino resp. как вы взаимодействуете с ардуином? – albert
@albert Я использую PINE A64 + с MCP3008, подключенным к шине Pi-2. Там нет Ардуино. Я просто заменяю настройки, которые у меня были с Arduino, с автономной встроенной системой Linux. – LUX