Arduino 内置示例简介

内置例程(sketches)

独立的脚本和程序被称为 “sketches”,已经在Arduino IDE内置。
位于:文件 > 示例。


image.png

这些简单的程序示范了所有基本Arduino的命令。他们横跨所有的领域,从一个Sketch的绝对最小值到数字和模拟IO,再到传感器和显示器的使用。

1.基本原理

image.png
  • 模拟读取串口:读取一个电位计,打印它的状态到Arduino串口监视器。
  • 最简框架:开始一段新程序的最简框架
  • 闪烁:不停打开关闭一个LED灯。
  • 数字读取串口:读取一个开关,打印它的状态到Arduino串口监视器。
  • 渐变:使用模拟输出口来使一个LED灯的亮度变淡。
  • 读取模拟电压:读取一个模拟输入,然后打印其电压值到串口监视器。

2.数字

image.png
  • 不用delay的闪烁:不用delay()函数来闪烁一个LED灯
  • 按键:使用一个按键来控制一个LED灯
  • 防抖:读取一个按键,然后滤掉噪音
  • 数字输入上拉:用pinMode()来声明输出上拉
  • 侦察状态改变:计算按键按下的次数
  • 音调键盘:一个使用压力传感器和压电扬声器的三键音乐键盘
  • 音调旋律:用压力扬声器弹奏一个旋律
  • 多重音调:利用tone()命令使多个扬声器发出声音
  • 高音追随:根据一个模拟输入来决定压力扬声器的音调

3.模拟

image.png
  • 模拟输入输出串口:读取一个模拟输入引脚,返回结果,然后用这个数据使LED灯变暗或者变亮
  • 模拟输入:使用一个电压计来控制LED灯的闪烁
  • 模拟写入Mega:使用Arduino Mega 开发板使12个LED灯一个接一个,逐渐变亮然后变暗
  • 校准:对于超出模拟传感器范围的数值,定义一个最大值和最小值
  • 渐变:用一个模拟输出引脚(PWM引脚)来使一个LED灯褪色。
  • 使光滑:使多个模拟引脚的读取值变得顺滑

4.通讯

image.png
  • ASCIITable(ASCII表格):使用Arduino的高等的串口输出函数。
  • 调光器:移动鼠标来改变LED灯的亮度
  • 图表:发送数据到电脑,然后在Processing里画出它的图表。
  • Midi(乐器数字接口):连续发送MIDI音符信息
  • 多串口Mega:使能Arduino Mega上2个串口。
  • 物理像素:通过从Processing或者Max/MSP发送数据到Arduino上,使LED开关。
  • 读取ASCII字符串:分析整数里一个用逗号分隔的字符串,来使一个LED灯褪色。
  • 串口呼叫响应:通过一个呼-应的方法(握手)来发送多个变数
  • 串口呼叫响应ASCII:通过一个呼-应的方法(握手)来发送多个变数,并在发送前解码(ASCII)这些数值。
  • Serial Event:使用SerialEvent()函数
  • 可视颜色混合器:从Arduino发送多个变数到你的电脑,然后在Processing或者Max/MSP上读取这些数据

5.控制结构

image.png
  • 数组:一个在For循环的变量举例了怎样使用一个数组。
  • For循环:通过for循环来控制多个LED灯
  • If声明条件:使用一个‘if 声明’,通过改变输入条件来改变输出条件
  • Switch Case:怎样在非连续的数值里选择。
  • Switch Case 2:第二个switch-case的例子,展示怎样根据在串口收到的字符来采取不同的行为
  • While 声明条件:当一个按键被读取,怎样用一个while循环来校准一个传感器。

6.传感器

image.png
  • ADXL3xx: 读取一个 ADXL3xx 加速计
  • Knock: 通过一个压电元件来侦察敲击
  • Memsic2125: 2轴加速计
  • Ping: 通过一个超声波测距仪来侦察物品

7.显示

image.png
  • 条形图:制作一个LED条形图
  • 行列扫描:控制一个8×8的LED矩阵

8.字符串

image.png
  • Character Analysis:使用operators来识别对应的特征类型。
  • String Addition Operator:用不同方法把字符串加到一起。
  • String Append Operator:用+=运算符和concat()方法来添加东西到字符串里。
  • String Case Changes:改变字符串的状态。
  • String Characters:在字符串里获得或设置一个指定的字符的值
  • String Comparison Operators:按字母排列顺序地比较字符串
  • String Constructors:初始化字符串对象
  • String Index Of:寻找在字符串里字符的第一个或最后一个的状态
  • String Length & String Length Trim:获得和修剪字符串的长度
  • String Replace:替换字符串里的个别字符
  • String Start With Ends With:检查一个给定的字符或子串(substrings)的开始或结尾
  • StringSubstring:在给定的字符串里寻找"phrases"
  • StringToInt:允许你把字符串转换成整数数字

9.USB

image.png
  • 键盘注销:利用按键命令注销当前使用者
  • 键盘发消息:当一个按键被按下,发送一个文本字符串。
  • 键盘再编译:在Arduino IDE上打开一个新窗口,用简单的跑马灯程序重新编译Leonardo
  • 键盘串口:从串口里读取一个字节,然后返回一个键值。
  • 键盘鼠标控制:在一个程序里示范鼠标和键盘命令
  • 鼠标按键控制:通过5个按键控制光标行动
  • 鼠标摇杆控制:当按键被按下时,通过一个操纵杆来控制电脑光标的行动

10.初学者工具包

image.png

这些工具包例子的教程可在项目书里获得,包括在配套元件里获得。如果你购买一个基础工具包,你将可以进入在Project Ignite上的网上项目。

11.Arduino ISP

image.png

Arduino ISP使你的Arduino变成一个内置电路的编译器,来重新编译ArMega芯片。如果你从Arduino转换到一个面包板上的AtMega,或者你正在制作面包板上的兼容Arduino的电路,当你需要重新下载Arduino的引导程序时,这个功能会很有用处。


基本原理——最简框架

让我们从一个最简单的Arduino框架开始,这个例子包含最简单框架的代码,你需要在Arduino IDE软件上用一段程序来编译:setup() 方法和 loop() 方法。只需要连接你的开发板即可,不需要做任何其他事情。
样例代码

void setup() {
  // put your setup code here, to run once:

}

void loop() {
  // put your main code here, to run repeatedly:

}

注意:
1)当程序开始时,调用setup()函数。用它来初始化变量,引脚,开始使用的库等等。每次上电或者复位开发板时,setup()函数只运行一次。有点像我们以前经常写的初始化函数。

2)创建setup()函数之后,loop()函数就像它的名字那样运行,并且不断循环,允许你的程序改变而且在它运行时响应。你的程序在loop()函数里的代码是用来控制开发板。直接让我们的程序循环动起来,这很方便,顺便通过延时控制下循环的间隔。

3)以下代码实际不能做任何东西,但它的构架对于复制和粘贴来开始你自己程序很有用处。同时它示范怎样在你的代码里注释。

4)整体的这个简易框架更有点像我们自己写的主函数。


ps:后续其他内置代码会在其他章节进一步说明。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 220,809评论 6 513
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 94,189评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 167,290评论 0 359
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,399评论 1 294
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,425评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 52,116评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,710评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,629评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,155评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,261评论 3 339
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,399评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 36,068评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,758评论 3 332
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,252评论 0 23
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,381评论 1 271
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,747评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,402评论 2 358