旋转广告牌

来自Microduino Wikipedia
Yanglibin@microduino.cc讨论 | 贡献2016年10月17日 (一) 05:45的版本 (创建页面,内容为“{| style="width: 1000px;" |- | ==概述== 600px|center 做一个会旋转的广告牌,可以逐一显示字母(让某...”)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转至: 导航搜索

概述

Anywhere Servo advertising.jpg

做一个会旋转的广告牌,可以逐一显示字母(让某个英文单词的每个字母逐一出现),如显示mCookie时,屏幕依次显示m>mC>mCo>mCoo>mCook>mCooki>mCookie。
适合套件:mCookie102,mCookie202,mCookie302,IBC


模块清单

模块

模块 数量 功能
mCookie-Core 1 核心板
电池盒 1 程序下载和供电模块
mCookie-Hub 1 传感器转接板
舵机 1 舵机
舵机转接板 1 舵机转接板

其他设备

  • USB数据线*1
  • 传感器连接线*1
  • 传感器外壳*1
  • 乐高或其它固定结构
Anywhere Servo-module advertising.jpg

模块搭建

Anywhere Servo-module—step advertising.jpg
  • 将模块和传感器组装起来:
    • 将红色的核心模块,USB上传模块与绿色的扩展模块吸在一起;
    • 将舵机转接板连接在Hub的6/7管脚;
    • 将舵机连接在舵机转接板的1管脚(下面三个插针);
    • 将OLED连接在Hub的IIC管脚。
    • 将USB连接线一端插入USB上传模块,另一端连接电脑;

编程

使用到程序块

“舵机”程序块 “函数”程序块

编程思路

每步执行一次显示程序和舵机转动程序就行了。同学们找找有什么规律?按这种方式要重复执行好多次,能怎样简化程序。

Mixly-ctrl-Servo-advertising.jpg

学习新程序块:“函数”程序块
定制函数,输入要显示的内容,函数将控制OLED屏幕显示该内容,并且控制舵机转动一定角度。通过不断的调用函数并输入不同参数实现显示动作。

Mixly-ctrl-Servo1-advertising.jpg

开始编程

1、函数准备
定义一个叫motion_a的函数,其中需要参数text。将函数的参数设置成字符串,参数名字为text。

Mixly-ctrl-Servo-advertising-code.jpg

2、定制函数内部程序
6管脚舵机转到servo角度,转速30°每秒。变量servo加10(这样下次执行本函数的时候,舵机角度就会比这次多10°)。注意函数准备不能和其他程序块连接在一起

Mixly-ctrl-Servo-advertising-code1.jpg

3、执行函数
声明一个名叫servo的变量,用来储存舵机角度。servo设为60。执行motion_a函数慢慢将“mCookie”显示出来。

Mixly-ctrl-Servo-advertising-code2.jpg
  • 测试结果
    • 上传成功后,随着舵机转动开始,OLED上逐渐显示出“mCookie” 。
Anywhere Servo advertising.jpg



Q:现在广告牌可以在转动中逐个显示mCookie字母,怎么能让广告牌往回转时将字母逐个抹掉呢?
A:可以把文字显示顺序从后往前写,这样字母就被逐个抹掉了。舵机也要往回转,变量值减少。可以新增加一个函数来控制OLED文字抹掉,使舵机往回转。

定义一个叫motion_b的函数,其中需要参数text。6管脚舵机转到servo角度,转速100°每秒。OLED显示参数text。
变量servo减10(这样下次执行本函数的时候,舵机角度就会比这次少10°)

Mixly-ctrl-Servo-advertising-code3.jpg

执行motion_b函数,将“mCookie”字母逐个抹掉.

Mixly-ctrl-Servo-advertising-code4.jpg

技术规范

相关案例

Q&A