使用MATLAB玩转树莓派

前言

之前玩树莓派都是使用Qt去做开发,偶然一次导师要我去研究一下Simulink,用Simulink做树莓派开发,才知道matlab可以玩硬件,虽然之前参加建模的时候有用过matlab(功能强大到只能窥探到冰山一角),在此记录一下,方便自己以及大家后续学习!


一、踩坑记录

  • 环境只支持window系统;

  • 树莓派开发版只支持B版;

  • 树莓派需要使用MATLAB定制版镜像,且镜像和你安装的MATLAB的版本要对应;

  • 下载时常会中断,导致下载不成功,所以建议夜间下载;

    镜像下载地址:https://github.com/mathworks/Raspbian_OS_Setup/releases

  • MATLAB支持包中有两个支持包,一个是MATLAB的支持包(用于在MATLAB中编写代码控制树莓派硬件),一个是simulink的支持包(进行simulink仿真),分别是:

    MATLAB Support Package for Raspberry Pi Hardware
    Simulink Support Package for Raspberry Pi Hardware

  • MATLAB树莓派定制镜像安装好后,默认没有图形界面需要自行配置,具体操作如下;

  sudo apt-get update
  sudo apt-get install xorg -y
  sudo apt-get install lxde openbox -y
  sudo apt-get install pix=icons pix-plym-splash rpd-wallpaper -y
  sudo apt-get install raspberrypi-ui-mods -y
  • 使用MATLAB操作树莓派时,GPIO引脚与wiringPi不一样

二、具体安装步骤

2.1、安装硬件支持包

在这里插入图片描述

2.2、找到树莓派支持包并安装

在这里插入图片描述
在这里插入图片描述

2.3、开始烧录镜像

在这里插入图片描述
点击右侧齿轮进行安装

在这里插入图片描述
选择树莓派版本

在这里插入图片描述
在这里插入图片描述
建议提前下好安装镜像

在这里插入图片描述
在这里插入图片描述
连接无线网

在这里插入图片描述
在这里插入图片描述
插入内存卡开始烧录matlab定制镜像

在这里插入图片描述
在这里插入图片描述
烧录完成之后把内存卡插入树莓派并上电

注意:稍微等一会再点Next,给树莓派启动时间

在这里插入图片描述
测试连接成功

在这里插入图片描述
安装完成

在这里插入图片描述


三、具体使用步骤

3.1、安装MATLAB Support Package for Raspberry Pi Hardware

1、GPIO操作

mypi=raspi(‘192.168.0.10’,'pi,‘123456’); //创建树莓派对象mypi
mypi.AvailableDigitalPins; //查看树莓派可使用GPIO引脚
showPins(mypi); //显示树莓派引脚图
configureDigitalPin(mypi,4,‘input’); //初始化GPIO4为输入
readDigitalPin(mypi,4); //从GPIO4读取
configureDigitalPin(mypi,7,‘output’); //初始化GPIO4为输入
writeDigitalPin(mypi,7,1); //从GPIO4读取

实例

mypi=raspi('192.168.0.10','pi,'123456'); 
configureDigitalPin(mypi,7,'output'); 
while(true)
writeDigitalPin(mypi,7,1); 
pause(0.5);
writeDigitalPin(mypi,7,0); 
pause(0.5)
end

2、UART操作

mypi=raspi(‘192.168.0.10’,‘pi,‘123456’); //创建树莓派对象mypi
myserialdevice=serialdev(mypi,’/dev/ttyAMA0’); //创建串口对象myserialdevice,默认115200 8 n 1
myserialdevice=serialdev(mypi,’/dev/ttyAMA0’,115200,8,‘none’,1);
write(myserialdevice,[10 12],‘uint16’); //通过串口发送一个数组,默认是uint8
output=read(myserialdevice,100); //通过串口读取数据
使用串口控制台
system(mypi,‘sudo rpi-serial-console enable’);
system(mypi,‘sudo shutdown -r now’);
clear mypi;

3、I2C操作

mypi = raspi(‘192.168.0.10’,'pi,‘123456’); //创建树莓派对象mypi
mypi.AvailableI2CBuses; //看出I2C设备
mypi.I2CBusSpeed; //查看I2C总线速率
addr = scanI2CBus(mypi,‘i2c-1’); //获取挂载在I2C总线的I2C设备地址 addr= 0x62
i2cdac = i2cdev(mypi,‘i2c-1’,char(addr));
write(i2cdac,4092);
read(i2cdac,1);
writeRegister(i2cdac,3,hex2dec(‘08’),‘uint16’); //想寄存器3中写入十六进制08
readRegister(i2cdac,3);
disableI2C(mypi); //关闭I2C引脚使能,使用GPIO
enableI2C(mypi,400000); //使能I2C,并将总线速率设为400000

4、SPI操作

mypi = raspi(‘192.168.0.10’,'pi,‘123456’); //创建树莓派对象mypi
enableSPI(mypi); //使能SPI
mypi.AvailableSPIChannels; //获取通道
myspidevice = spidev(mypi,‘CE1’,0); //创建SPI对象myspidevice
out = writeRead(myspidevice,[hex2dec(‘08’) hes2dec(‘D4’)]); //读写SPI设备

3.2、安装Simulink Support Package for Raspberry Pi Hardware

打开Simulink

在这里插入图片描述
创建Simulink文件

在这里插入图片描述
从库中添加组件,搭建模型

在这里插入图片描述
找到Simulink对树莓派的支持包

在这里插入图片描述
在组件上右键添加到模型中

在这里插入图片描述
接线

在这里插入图片描述
点击开始运行

在这里插入图片描述
运行结果

(因为我手边没有摄像头,所以树莓派没有接摄像头,故没有视频信号)
在这里插入图片描述

四、官方资料

基于Simulink的树莓派开发板教程

评论 33
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

贝勒里恩

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值