CM4-Duino
| |||||||||||||||||||
| |||||||||||||||||||
说明
详细参数和功能说明
产品概述
我是CM4 duino 基础扩展板,是可以搭配树莓派 Compute Module 4 使用的拓展板,并且支持 7-36V DC 直流供电和 Typc-C 接口的 5V DC 直流供电。板载HDMI接口 、一路CSI接口和一路USB接口、标准arduino接口等等……
使用注意事项
1:禁止带电时拔插除USB和HDMI之外的任何设备
2:在连接前确认风扇电压,只支持5V
3:Type C 接口可以用作供电也可以用作USB接口烧录镜像(需要使用拨码开关切换)
4:为了保证CM4供电正常,在使用Type C 接口烧录镜像时,请不要连接其他设备。
5:CM4在正常使用时,需要为CM4 提供5V 2A 的供电。否则可能出现自动关机,降频等等问题。
6:USB2.0 默认是关闭的,如需打开需要在config.txt中添加 dtoverlay=dwc2,dr_mode=host
产品尺寸
CM4-Duino
Compute_Module 4 核心板
板载资源
相关链接
使用
注意事项
禁止带电时拔插任何设备
镜像烧录
USB 2.0
USB2.0 默认是关闭的,如需打开需要在config.txt中添加 dtoverlay=dwc2,dr_mode=host
ADC
基础介绍
ADS7830 是一款单电源、低功耗、8 位数据采集设备,具有串行 I2C 接口和 8 通道多路复用器。模数 (A/D) 转换器具有采样保持放大器和内部异步时钟。
ADS7830分辨率为8位,总共8路输入,最大采样率为70KSPS。
可以设为差分模式和单端输入,程序默认设置为单端输入。
I2C地址为:0x48
下载程序
打开树莓派终端,执行如下指令:
sudo apt-get install p7zip-full https://www.waveshare.net/w/upload/5/5d/CM4-duino-code.zip 7z x CM4-duino-code.zip -O./ cd CM4-duino-code
Python
运行例程,程序支持python2/3
# python2 sudo python ADS7830.py # python3 sudo python3 ADS7830.py
如下图所示,A0-A7为7个模拟输入通道:
注意:采集0-7共8路ADC,通道如果悬空,该通道的值会上下浮动,数据是无效的;
LED使用
按键使用
板载了2个按键USER1 USER2:
USER1使用的是GPIO4,USER使用的是GPIO5,其中USER2可以通过电阻选择是否为CM4的复位,默认连接的GPIO5
CSI
注意:以下为CM4通用说明,具体设备有所不同:本模块没有DSI接口,且只有HDMI0。
配置文件
- CSI和DSI默认是关闭的,需要加载对应设备树用于开启,并且使用CSI摄像头与DSI屏幕的时候会占用I2C-10、I2C-11、I2C-0 三个I2C设备
- 输入一下指令:
sudo apt-get install p7zip-full -y wget https://www.waveshare.net/w/upload/4/41/CM4_dt_blob.7z 7z x CM4_dt_blob.7z -O./CM4_dt_blob sudo chmod 777 -R CM4_dt_blob cd CM4_dt_blob/ #如果使用两个摄像头和DSI1 执行 sudo dtc -I dts -O dtb -o /boot/dt-blob.bin dt-blob-disp1-double_cam.dts #在使用任意DSI时,HDMI1没有图像输出,哪怕你没有连接DSI屏幕只要编译的对应的文件,那HDMI1就没有输出了 #如果需要恢复,删除对应的dt-blob.bin 即可: sudo rm -rf /boot/dt-blob.bin #执行完毕 关闭电源 重启CM4
新版本系统(bullseye)
配置摄像头
- 执行如下命令进入编辑/boot/config.txt文件
sudo nano /boot/config.txt
- 屏蔽或者删除掉摄像头自动检测语句
- 添加你使用的摄像头的驱动动,这里我以IMX219为例,并且连接上CAM0上,附上适配
型号 CAM0设置语句 CAM1设置语句 OV9281 dtoverlay=ov9281,cam0 dtoverlay=ov9281,cam1 IMX290/IMX327 dtoverlay=imx290,clock-frequency=37125000,cam0 dtoverlay=imx290,clock-frequency=37125000,cam1 IMX378 dtoverlay=imx378,cam0 dtoverlay=imx378,cam1 IMX219 dtoverlay=imx219,cam0 dtoverlay=imx219,cam1 IMX477 dtoverlay=imx477,cam0 dtoverlay=imx477,cam1 IMX708 dtoverlay=imx708,cam0 dtoverlay=imx708,cam1 - 如果使用的是树莓派官方摄像头,且只有一个摄像头接入,无需设置config文件,如果不是官方摄像头,请设置dtoverlay语句,不需要加cam后缀
- CM4-NANO-只用到CAM0,所以只需要添加一句 dtoverlay=imx219,cam0 即可
- 快捷键Ctrl+o保存文件,并回车
- 快捷键Ctrl+x退出编辑器
- 重启CM4
sudo reboot
- 输入摄像头检测指令,此时可以看到摄像头已经被检查到了
libcamera-hello --list-cameras
- 显示摄像头画面到桌面
libcamera-hello -t
- 拍摄照片
libcamera-jpeg -o test.jpg
- 录制一个10s的视频
libcamera-vid -t 10000 -o test.h264
- 执行如下命令进入树莓派配置
sudo raspi-config
- 选择Interfacing Options并进入
- 选择Camera
- 选择开启摄像头接口
- 系统提示如下
- 回到主界面,选择Finish
- 随后重启系统
- 测试拍照:
raspistill -o image.jpg
- 测试录像:
raspivid -o video.h264 -t 10000
- 其中 -t 10000 表示录制 10 秒,用户各根据自己的需要进行调整。
测试摄像头
其他命令
检查摄像头是否被检测到
libcamera-hello --list-cameras
打开对应的摄像头
libcamera-hello --camera 1 libcamera-hello --camera 0
拍摄照片
libcamera-jpeg -o test.jpg #可以添加 --camera 来指定摄像头
老版本系统(buster)
配置摄像头
测试摄像头
参考:CSI相机
资料
提供文档、程序、数据手册等全套资料
官方手册
原理图
3D图
程序
软件
FAQ
a) 检查 /boot/config.txt中是否屏蔽 dtparam -audio - on