Я пытаюсь создать вольтметр, используя rpi, pyfirmata и arduino Uno.
Я подключил его и отобразил приведенный ниже код. Я почти уверен, что это должно сработать, однако показания, которые я получаю, очень странные, очень нервные и неточные. Я также показал результаты. Может кто-нибудь сказать мне, что я делаю не так ... если есть настройка, которую мне нужно изменить или что-то еще??
import pyfirmata
import time
board = pyfirmata.Arduino('/dev/ttyACM0') #Creates variable to connect to arduino board
analog_pin0 = board.get_pin('a:0:i') #Using Pyfirmata this code gets the value at pin A0
it = pyfirmata.util.Iterator(board) #starts iterator on board
it.start()
analog_pin0.enable_reporting() #Enable reporting of analog pins from arduino A0
time.sleep(1)
while True:
reading0 = analog_pin0.read()
if reading0 != None:
voltage0 = reading0 * 5
voltage0 = round(voltage0,2)
else:
voltage0 = float('nan')
print(reading0)
print(voltage0)
print()
time.sleep(1)
>>> %Run 'Radar Python.py'
0.219
1.09
28.0274
140.14
0.0
0.0
0.219
1.09
0.0
0.0
0.0
0.0
28.0274
140.14
0.0
0.0
0.0
0.0
0.0
0.0
28.0274
140.14
0.219
1.09
28.0274
140.14
0.0
0.0
0.219
1.09
28.0274
140.14
0.219
1.09
28.0274
140.14
0.0
0.0
28.0274
140.14
0.219
1.09
28.0274
140.14
28.0274
140.14
0.0
0.0
0.0
0.0
28.0274
140.14
28.0274
140.14
28.0274
140.14
0.219
1.09
28.2463
141.23
28.0274
140.14
0.0
0.0
28.0274
140.14
0.219
1.09
0.0
0.0
28.0274
140.14
28.0274
140.14
0.219
1.09
0.0
0.0
28.0274
140.14
28.0274
140.14
28.0274
140.14
28.0274
140.14
28.0274
140.14
0.219
1.09
28.0274
140.14
28.2463
141.23
28.0274
140.14
28.0274
140.14
0.219
1.09
0.219
1.09
0.0
0.0
28.0274
140.14
28.0274
140.14
0.219
1.09
0.0
0.0
28.0274
140.14
28.0274
140.14
0.0
0.0
0.0
0.0
28.0274
140.14
0.219
1.09
28.0274
140.14
0.0
0.0
28.0274
140.14
0.0
0.0
28.0274
140.14
28.0274
140.14
28.0274
140.14
0.219
1.09
28.0274
140.14
28.0274
140.14
28.0274
140.14
28.0274
140.14
28.0274
140.14
28.0274
140.14
0.219
1.09
0.0
0.0
28.0274
140.14
28.0274
140.14
0.0
0.0
0.0
0.0
28.0274
140.14
28.0274
140.14
0.0
0.0
28.0274
140.14
0.0
0.0
0.219
1.09
0.0
0.0
0.0
0.0
0.0
0.0
28.0274
140.14
0.219
1.09
28.0274
140.14
28.0274
140.14
0.0
0.0
, как вы можете видеть, цифры значительно скачут ... этоне может быть прав, а что-то должно быть не так