simscape 发表于 2014-11-19 17:22:31

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

本帖最后由 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灯的发光模式。




天下无双 发表于 2014-11-19 18:01:18

这不是matlab里面的吗?

林定祥 发表于 2014-11-19 21:28:39

会simlink没有不会c的。

simscape 发表于 2014-11-19 22:17:42

天下无双 发表于 2014-11-19 18:01 static/image/common/back.gif
这不是matlab里面的吗?

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

simscape 发表于 2014-11-19 22:20:57

林定祥 发表于 2014-11-19 21:28 static/image/common/back.gif
会simlink没有不会c的。

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

sinyontom 发表于 2014-11-19 22:53:39

马特拉博真是一个神器哈哈。以前学计算机工程的时候,几乎所有课程实验都要用马特拉博和玄妙灵。学FPGA的时候装了Xilins套件,但除了第一次设置打开过,以后再也不用打开,每次都是在马特拉博和玄妙灵里设计和仿真。

simscape 发表于 2014-11-19 23:45:46

sinyontom 发表于 2014-11-19 22:53 static/image/common/back.gif
马特拉博真是一个神器哈哈。以前学计算机工程的时候,几乎所有课程实验都要用马特拉博和玄妙灵。学FPGA ...

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

林定祥 发表于 2014-11-20 08:39:48

simscape 发表于 2014-11-19 22:20 static/image/common/back.gif
嗯,C 大家大学学过。
主要是想介绍simulink算法模型实现到arduino上,集中精力在算法设计,而不是编写和 ...

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

simscape 发表于 2014-12-3 18:45:13

sinyontom 发表于 2014-11-19 22:53 static/image/common/back.gif
马特拉博真是一个神器哈哈。以前学计算机工程的时候,几乎所有课程实验都要用马特拉博和玄妙灵。学FPGA ...

除了做设计和仿真,还可以直接"翻译"成C或者HDL,实现到硬件哦:P。

simscape 发表于 2014-12-4 01:04:46

本帖最后由 simscape 于 2014-12-4 01:05 编辑

simscape 发表于 2014-12-3 18:45 static/image/common/back.gif
除了做设计和仿真,还可以直接"翻译"成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

aeroboy 发表于 2014-12-6 12:57:25

以后写PID是不是轻松很多了?
页: [1]
查看完整版本: Simulink - Arduino 不懂C也可以轻松实现智能小车