极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 27899|回复: 10

Simulink - Arduino 不懂C也可以轻松实现智能小车

[复制链接]
发表于 2014-11-19 17:22:31 | 显示全部楼层 |阅读模式
本帖最后由 simscape 于 2014-12-4 13:03 编辑

针对完全不懂/或者对C不熟悉的电子DIY 爱好者,怎样方便的把自己的算法实现到硬件上去。
就像这张图一样,用画图的方式来设计算法,然后直接下载到arduino/如果用其它的板子比如树莓派,pandaboard也是类似的方式:




这个环境叫Simulink
现在我想的内容是
1. hello world demo:LED灯闪烁
2. digital output: 流水灯,介绍 Simulink 环境
                           闪烁模式控制: 介绍 stateflow 环境
3. digital input: 使用按钮控制LED等闪烁模式
4. analog input:读取光传感器
5. analog output:控制直流电机转速/这里不涉及闭环控制,因为没有编码器
6. 在线调试和测试算法  arduino uno不支持,只能用MEGA 2560板子。
7.  
8. 避障小车?,就只有一个红外传感器和超声波传感器。

计划一共半个小时。因为是第一个,所以主要是介绍这种实现方式。不会涉及到任何复杂的控制算法设计。

这种框图模式设计算法,然后自动生成嵌入式代码的开发方式,已经在汽车行业很流行了。因为越是复杂智能控制,其算法就越复杂,算法本身的测试验证也就越重要,用手写C的方式,显然属于小作坊的形式了。额,撇开这个。

我只是觉得,就DIY爱好者来说,用这种方式来设计算法,然后自动生成C代码实现到Arduino里去,对我这种不擅长C的人来说,挺方便的。
而且还支持算法的在线调试。

(这里的底层驱动只是为了Arduino DIY 爱好者提供的,所谓效率可靠性并非商业用途。)

比如说:


比如说:让pin46的LED灯亮。 用Digital Output模块,设置pin脚为46. 点击上方的蓝色按钮,直接下载到arduino上运行,看到LED灯亮。

控制电机转动: 根据我的硬件连线pin1,2是控制转向, pin3 PWM控制转速。

避障算法: 无障碍,直行;有障碍,先后退再右转,直到没有障碍才前行。




接在pin30的按钮,控制六个LED灯的发光模式。




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

发表于 2014-11-19 18:01:18 | 显示全部楼层
这不是matlab里面的吗?
回复 支持 反对

使用道具 举报

发表于 2014-11-19 21:28:39 | 显示全部楼层
会simlink没有不会c的。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-11-19 22:17:42 | 显示全部楼层
天下无双 发表于 2014-11-19 18:01
这不是matlab里面的吗?

嗯是啊,simulink平台
主要就是想介绍下这个simulink模型通过代码生成工具和提供的驱动模块可以直接下载到arduino等低成本硬件这件事。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-11-19 22:20:57 | 显示全部楼层
林定祥 发表于 2014-11-19 21:28
会simlink没有不会c的。

嗯,C 大家大学学过。
主要是想介绍simulink算法模型实现到arduino上,集中精力在算法设计,而不是编写和调试C代码。
回复 支持 反对

使用道具 举报

发表于 2014-11-19 22:53:39 | 显示全部楼层
马特拉博真是一个神器哈哈。以前学计算机工程的时候,几乎所有课程实验都要用马特拉博和玄妙灵。学FPGA的时候装了Xilins套件,但除了第一次设置打开过,以后再也不用打开,每次都是在马特拉博和玄妙灵里设计和仿真。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-11-19 23:45:46 | 显示全部楼层
sinyontom 发表于 2014-11-19 22:53
马特拉博真是一个神器哈哈。以前学计算机工程的时候,几乎所有课程实验都要用马特拉博和玄妙灵。学FPGA ...

做建模仿真是大部分人都熟悉的功能了
相比之下,做算法的C代码自动生成就没那么多人知道了
回复 支持 反对

使用道具 举报

发表于 2014-11-20 08:39:48 | 显示全部楼层
simscape 发表于 2014-11-19 22:20
嗯,C 大家大学学过。
主要是想介绍simulink算法模型实现到arduino上,集中精力在算法设计,而不是编写和 ...

有兴趣,但是不知道需要什么环境,好像需要Matlab13以上版本才能Arduino仿真.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-12-3 18:45:13 | 显示全部楼层
sinyontom 发表于 2014-11-19 22:53
马特拉博真是一个神器哈哈。以前学计算机工程的时候,几乎所有课程实验都要用马特拉博和玄妙灵。学FPGA ...

除了做设计和仿真,还可以直接"翻译"成C或者HDL,实现到硬件哦
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-12-4 01:04:46 | 显示全部楼层
本帖最后由 simscape 于 2014-12-4 01:05 编辑
simscape 发表于 2014-12-3 18:45
除了做设计和仿真,还可以直接"翻译"成C或者HDL,实现到硬件哦。


12月4号10点的在线交流地址

https://go2.mathworks.com/from-theory-to-practice-case-study-for-project-based-learning-lwb-cn-59300?s_eid=PEP_9104
回复 支持 反对

使用道具 举报

发表于 2014-12-6 12:57:25 | 显示全部楼层
以后写PID是不是轻松很多了?
回复 支持 反对

使用道具 举报

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

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-16 16:47 , Processed in 0.038181 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表