Arduino 笔记
来源:互联网 发布:免费手机音量增大软件 编辑:程序博客网 时间:2024/06/06 00:44
最近开始玩玩ardunio,从官网看有好多examples,自己熟悉下也顺便翻译留个记录吧
1. 裸板最小代码
第一个例子包括了利用裸机能运行起来的最少代码,只是熟悉下代码结构:包括setup()和loop()
硬件:
- Arduino Board (我用的是UNO 3)
电路:
有个板子和usb线能连电脑就行了
(电路设计部分可以用Fritzing)
代码:
setup():这个函数是程序开始运行需要调用的。可以用这个函数来初始化一些变量,引脚的模式,准备用哪些库,等。在板子上电或者reset后,这个函数只执行一次。
执行setup()后,开始执行loop,和名字一样,这个函数会持续的循环,主要的代码就在这里了,可以通过loop里的代码控制响应板子。
下面的例子没有什么实际功能,但是这个是一个基本的代码结构。
以“//”开头的行是注释,不参与编译。(好的代码一定要有良好的注释哈)
<pre name="code" class="objc"><pre name="code" class="cpp">void setup(){// put your setup code here, to run once:}void loop(){// put your main code here, to run repeatedly: }
可以参考:setup() loop()
2. Blink 亮灯
熟悉了基本代码结构,开始弄个led试试吧
大部分板子开始可能都是从点亮led开始的,看似简单,不过这可以很直观的感受和学习整个板子的输入输出方式和状况
硬件:
- Arduino Board (还是板子一块,我用的UNO 3)
- LED 一个(话说买了一个套件,头会见到这么精致的电子器件,包装也不错,哈哈)
- resistor 220-ohm(220欧姆的电阻一个)
电路:
也试着用用Fritzing,记得大学只用过protel99,当时是个很痛苦的事情,各种参数各种布线,Fritzing完全改观我了对pcb软件的看法,很精简,有点文艺范,哈哈
一个小灯,就这么接线就行了
原理图就不贴了
代码:
led我这里接在pin 13, 另一个接地,所以要做的是初始化pin 13为输出引脚
pinMode(13, OUTPUT);
为了点亮led,loop里面只要让13高电平就行了:
digitalWrite(13, HIGH);
相反,关灯就给低电平
digitalWrite(13, LOW);
如果要看到闪烁效果,需要用延时进行调节
delay();int led = 13;void setup(){ pinMode(led, OUTPUT);}void loop(){ digitalWrite(led, HIGH);delay(1000);digitalWrite(led, LOW);delay(1000);}
然后烧到板子里就能看见一闪一闪的led了:)
3.led-without-delay
上个笔记可以点亮led了,不过delay的时候是很浪费时间的,这里可以采用另外一个方法实现,所以要用到一个新的函数mills():
这个函数可以返回从程序开始到现在的时间,单位是毫秒级,大约达到50天的时候会溢出(重置为0),具体参见函数介绍。
连线图和上一个笔记里一样,就不贴了,点这里
代码:
const int ledPin = 13;int ledState = LOW;long previousMillis = 0; //记录上一次led状态变化的时间long interval = 1000; //led变化频率,毫秒级,这里还是1秒void setup(){pinMode(ledPin, OUTPUT);}void loop(){unsigned long currentMillis = millis(); if(currentMillis - previousMillis > interval){ previousMillis = currentMillis; if(ledState == LOW) ledState = HIGH; else ledState = LOW; digitalWrite(ledPin, ledState); }}
代码结构很简单,效果和用delay是一样的,但是在loop里面可以做其他的事情了,提高了效率。
- Arduino笔记
- Arduino 笔记
- Arduino笔记
- Arduino笔记(一)
- Arduino 教程 笔记
- Arduino学习笔记1
- arduino学习笔记 一
- Arduino 应用笔记
- Arduino入门函数笔记
- Arduino学习笔记
- arduino开发入门笔记
- arduino学习笔记1 - 什么是arduino?
- Arduino学习笔记2--安装Arduino系统
- Arduino学习笔记—Arduino编程基础
- Arduino笔记五三轴陀螺仪L3G4200D
- arduino 学习笔记(一)
- Arduino 学习笔记(二)
- Arduino学习笔记~(1)
- 蚊子132 给大家写一段最简单的CFileFind 源码
- 抓取级联菜单
- ReadWriteLock
- Developer Tool - 1. Text Tool and GNU/Linux Tool
- [Android 4.4.2] 泛泰A870 Mokee4.4.2 20140531 RC1.0 by syhost
- Arduino 笔记
- More Effective C++笔记
- wince 6.0 开机自启动
- Apache 配置二级域名匹配目录及多个站点配置
- hibernate 映射组成关系
- codeforce 6C
- Struts2拦截器
- 写给过去
- linux下MySQL安装及设置