Arduino UNO通过python采集模拟量数据

Arduino UNO通过python采集模拟量数据

  • 环境准备
  • Arduino程序准备
  • 开关量输出
  • 模拟量采集

环境准备

老样子我们第一步先把环境准备好
(1) 在计算机上安装python3.7 环境。
(2)安装pyfirmata

pip install pyfirmata 

(3)连接好Arduino UNO 以及模拟量采集的变阻器

Arduino程序准备

(1)设置通信串口
Arduino UNO通过python采集模拟量数据_第1张图片
(2)设置arduino 型号
Arduino UNO通过python采集模拟量数据_第2张图片
(3)打开程序并上传程序
Arduino UNO通过python采集模拟量数据_第3张图片

开关量输出

from pyfirmata import Arduino,util
import time
board = Arduino('COM3')
while True:
	board.digital[13].write(0)
	time.sleep(1)
    board.digital[13].write(1)
    time.sleep(1)

程序运行可以看到led开始闪烁

模拟量采集

from pyfirmata import Arduino,util
import time
board = Arduino('COM3')
it = util.Iterator(board)
it.start()
board.analog[0].enable_reporting()
while True:
	board.analog[0].read()
	time.sleep(1)

拧动滑动变阻器,出现如下输出

0.4858
0.4858
0.4858
0.4868
0.999
1.0
1.0

也可以通过如下配置:

from pyfirmata import Arduino,util
import time
board = Arduino('COM3')
it = util.Iterator(board)
it.start()
analog_0 = board.get_pin('a:0:i')
while True:
	analog_0.read()*5
	time.sleep(0.5)

输出结果如下:

3.1769999999999996
1.212
0.0
0.9139999999999999
2.141
2.732
3.2065
3.5925000000000002
4.1105
4.7065
5.0

你可能感兴趣的:(物联网,arduino,python)