“水平仪”的版本间的差异

来自Microduino Wikipedia
跳转至: 导航搜索
(创建页面,内容为“{| style="width: 1000px;" |- | ==概述== 600px|center 制作一个水平仪,在OLED显示屏上画一个圈,通过姿态...”)
 
 
(未显示同一用户的2个中间版本)
第44行: 第44行:
 
===使用的程序块===
 
===使用的程序块===
 
*[[“加速度角速度收集”程序块]]
 
*[[“加速度角速度收集”程序块]]
*[[获取“加速度”程序块]]
 
 
*[[“OLED显示-打印”程序块]]
 
*[[“OLED显示-打印”程序块]]
*[[“曲线”程序块]]
+
*[[“OLED-曲线”程序块]]
 +
*[[“OLED-点、线、面”程序块]]
 
*[[“变量声明”、“变量赋值”程序块]]
 
*[[“变量声明”、“变量赋值”程序块]]
 
*[[“约束”程序块]]
 
*[[“约束”程序块]]
 
*[[“映射”程序块]]
 
*[[“映射”程序块]]
 
  
 
===开始编程===
 
===开始编程===
第77行: 第76行:
 
'''Q:已经学会气泡的绘制方法,现在在此基础上再增加两条线(模拟玻璃管的样子),让气泡在两条直线之间滚动。'''
 
'''Q:已经学会气泡的绘制方法,现在在此基础上再增加两条线(模拟玻璃管的样子),让气泡在两条直线之间滚动。'''
 
<br>
 
<br>
'''A:学习新的程序块[[“点,线,面”程序块]]'''
+
'''A:学习新的程序块[[“OLED-点、线、面”程序块]]'''
 
<br>
 
<br>
 
<br>
 
<br>

2016年11月8日 (二) 07:50的最新版本

概述

Anywhere motion-Level.jpg

制作一个水平仪,在OLED显示屏上画一个圈,通过姿态传感器获取姿态,通过圆圈在X方向上的位置来判断是否水平。

模块清单

模块

模块 数量 功能
mCookie-Core 1 核心板
电池盒 1 程序下载和供电模块
mCookie-OLED 1 显示
姿态模块 1 检测姿态,相当于陀螺仪

其他设备

  • USB数据线*1
  • 乐高或其它固定结构
Anywhere motion-Level-module.jpg

模块搭建

搭建

Anywhere motion-Level-step.jpg
  • 将模块和传感器组装起来:
    • 将红色的核心控制、黄色的姿态模块与绿色的扩展模块吸在黄色的电池底座上;
    • 将USB连接线一头插入电池底座,另一头连接上电脑。

编程

编程思路

声明x加速度,将收集的x方向的加速度赋值给x,将x约束并映射到OLED坐标范围,根据坐标OLED显示圆圈位置。

Mixly-ctrl-motion-Level.jpg

使用的程序块

开始编程

1、获取加速度
声明x变量存储圆的横坐标,加速度角速度收集。

Mixly-ctrl-motion-Level-code.jpg


2、加速度约束并映射到OLED坐标上
加速度x存入x,将x约束在-8000至8000,将x从-8000至8000映射到0至127

Mixly-ctrl-motion-Level-code1.jpg

3、显示圆圈位置
上传成功后,x(俯仰)方向上倾斜系统,OLED屏幕上圆圈在水平位置滚动。

Mixly-ctrl-motion-Level-code2.jpg



测试结果
开机前保证姿态模块水平,开机后沿姿态模块X箭头方向撞击障碍物,当撞击时的加速度大于1g灯闪烁一下表示安全气囊打开。

Anywhere motion-Level.jpg



Q:已经学会气泡的绘制方法,现在在此基础上再增加两条线(模拟玻璃管的样子),让气泡在两条直线之间滚动。
A:学习新的程序块“OLED-点、线、面”程序块

初A初值为0。摇杆按下前重复执行内部程序。
其他程序不变,只要加上两条画线的程序即可,更改两根直线的起始和终止坐标。

Mixly-ctrl-motion-Level-code3.jpg

技术规范

相关案例

Q&A