505浏览
查看: 505|回复: 0

【试用测评】PiTray mini请用(三)——Raspberry Pi B+ 扩展板

[复制链接]
本帖最后由 云天 于 2021-5-25 21:24 编辑

IMG_20210525_194742.jpg
Arduino Expansion Shield for Raspberry Pi B+ 扩展板

360截图20210525193853335.jpg


     DFRobot树莓派的扩展板。适应树莓派B+/2B/3B板,扩充更多的GPIO。

     是一款具备Arduino 标准接口的 树梅派扩展板。他内部集成了 Arduino Leonardo主板,通过对这个Arduino Leonardo进行编程,可以实现一些树莓派不具备的功能,例如使用PWM来控制电机的速度、ADC来读取模拟量信号、外部中断口可以实时处理一些任务。 Arduino Expansion Shield for Raspberry Pi B+ 扩展板的USB口可以插在树莓派的USB HOST接口上这样我们就可以通过在树莓派系统里面安装Arduino IDE直接对扩展板进行编程。 然后通过USB接口,扩展板可以直接和树莓派进行通信协调工作。

https://wiki.dfrobot.com.cn/_SKU_DFR0327_Arduino_Expansion_Shield_for_Raspberry_Pi_B_2B_%E6%A0%91%E8%8E%93%E6%B4%BEB_2B%E6%89%A9%E5%B1%95%E6%9D%BF

【点灯】

首先在树莓派上安装 Arduino

  1. <font color="rgb(66,66,66)">root@raspberrypi:/home/pi# sudo apt-get update
  2. root@raspberrypi:/home/pi# sudo apt-get install arduino</font>
复制代码


安装完成,在打开Arduino IDE 之前 你需要确认 pi 用户拥有权限操作串口,我们将pi用户添加到tty和dialout:
  1. root@raspberrypi:/home/pi# sudo usermod -a -G tty pi
  2. root@raspberrypi:/home/pi# sudo usermod -a -G dialout pi
复制代码

通过VNC 登录树莓派界面,打开Arduino IDE (此时启动IDE可能要10多秒,需要等等,不要重复点击IDE图标),选择 Arduino Leonardo 板,此时看到串口为 /dev/ttyACM0 我们下载一个Blink测试一下是否可以下载程序到Arduino。




360截图20210525194522060.jpg

IMG_20210525_194742.jpg



【实现Arduino和树莓派通信】

接下来我们安装Python-serial模块



  1.   root@raspberrypi:/home/pi# apt-get install python-serial python3-serial
复制代码


声音传感器连接到Arduino Expansion Shield for Raspberry Pi B+扩展板上的A0端口。
Arduino_Expansion_Shield_for_Raspberry_Pi_B _LM35_V1.1_.png

未命名-1.png

在Arduino Expansion Shield for Raspberry Pi B+ 扩展板上编写一个读取LM35模拟电压输出的温度值,然后通过USB串口发到树莓派上面。
  1. // to the pins used:
  2. const int analogInPin = A0;  // Analog input pin that the potentiometer is attached to
  3. int sensorValue = 0;        // value read from the pot
  4. void setup()
  5. {
  6.   // initialize serial communications at 9600 bps:
  7.   Serial.begin(9600);
  8. }
  9. void loop()
  10. {
  11.   sensorValue = analogRead(analogInPin);
  12.   Serial.println(sensorValue,DEC);
  13.   delay(200);
  14. }
复制代码


在树莓派建立一个 SoundPrint.py 的文件 Arduino 采集声音响度。
  1. import serial
  2. import time
  3. port = "/dev/ttyACM0"
  4. serialFromArduino = serial.Serial(port,9600)
  5. serialFromArduino.flushInput()
  6. while True:
  7.     if(serialFromArduino.inWaiting() > 0):
  8.             input = serialFromArduino.readline()
  9.             inputAsInterger = int(input)
  10.             print("Temperature: " + str(inputAsInterger))
  11.     time.sleep(0.01)
复制代码


QQ截图20210525211513.jpg

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2022 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail