Arduino入门笔记【1】
刚刚接触这个东西只知道这是类似于单片机的开发板,可以做一些单片机实现或者不能实现的东西,但是比单片机要简单得多。
Arduino到底是什么?
维基百科上的描述是:Arduino是一块开发板的微控制器和一整套的开发软件,它的硬件包含一个以AVR单片机为核心的开发板和其他各种I/O板。软件包括一个标准编程语言开发环境和在开发板上运行的烧录程序。
简单的说,Arduino包括了硬件和软件,拥有自己的硬件和开发软件。
第一件事:
拿到开发板后的第一件事就是使用它,首先要将它和电脑连接起来。在这之前需要了解的就是在手中的开发板的型号,我的是Arduino UNO,是Arduino USB系列的最新版,芯片用的是ATmega328p,也就是板子上稍微大一点的,有许多引脚的塑料块。
我用到的东西:Arduino UNO开发板,一根usb电缆,1.0.5版本IDE.
将usb的一端连在开发板上,另外一端连接到PC上。
第一个问题:
由于win7是精简版的,windows无法自动安装开发板的驱动,手动安装提示windows找不到驱动文件。查看C:\Windows\inf\setupapi.dev.log,这个文件包含了有关即插即用设备和驱动程序安装的信息,当然它也记录你Arduino驱动安装失败的原因。发现缺少文件夹mdmcpq.inf_x86_neutral_9f203c20b6f0dabd,没错,就是这么长,不同版本的windows缺少的文件也不一样,详细的要看log文件中的记录,由于这是系统文件,所以首先赋予管理员权限(方法:右键一下,你就知道),新建一个同名文件夹,将你从网上下载的缺失文件拖入其中(我是拖进去的,由于权限问题不能复制进去)。这时候就大功告成啦,重新安装驱动试试看!
总结一下:
安装驱动出现问题一般出现在精简版的windows里面,正版一般不会出现问题,精简版缺少了一些文件,详情看自己的setupapi.dev.log文件,看这个文件的时候直接拖到最后面,从后往前找。驱动正确安装以后再设备管理器里能找到开发板对应的串口。
小实验一个:
好了,把驱动问题解决了之后,打开IDE,连上开发板,选择串口。在IDE的tools下的board下选择你的开发板,这个主要根据板子上的芯片来确定,我的是ATmega328p,所以选择Arduino UNO,之后先用IDE自带的exp测试一下,我用的是Blink:
/*
Blink
Turns on an LED on for one second, then off for one second, repeatedly. This example code is in the public domain.
*/ // Pin 13 has an LED connected on most Arduino boards.
// give it a name:
int led = ; // the setup routine runs once when you press reset:
void setup() {
// initialize the digital pin as an output.
pinMode(led, OUTPUT);
} // the loop routine runs over and over again forever:
void loop() {
digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level)
delay(); // wait for a second
digitalWrite(led, LOW); // turn the LED off by making the voltage LOW
delay(); // wait for a second
}
一眼看过去这个程序是很简单的类C语言。Arduino程序必须包含void setup(){}和void loop{}两个函数,必须必须,否则Arduino将不会工作,setup函数只在程序开头运行一次,之后一直在loop函数中循环。这个程序让LED13,也就是板子上的一个很小的LED亮1s再灭1s,一直循环亮灭亮灭…
今天就到这里,明天继续。
Arduino入门笔记【1】的更多相关文章
- Arduino入门笔记(4):用蜂鸣器演奏音乐并配有LED闪烁
转载请注明:@小五义 http://www.cnblogs.com/xiaowuyi 欢迎加入讨论群 64770604 一.本次实验所需器材 1.Arduino板 https://item.taoba ...
- Arduino入门笔记(3):单LED闪烁
转载请注明:@小五义http://www.cnblogs.com/xiaowuyi 欢迎加入讨论群 64770604 在搭建好arduino开发环境(http://www.cnblogs.com/xi ...
- Arduino入门笔记(6):温度传感器及感温杯实验
转载请注明:@小五义 http://www.cnblogs.com/xiaowuyi 欢迎加入讨论群 64770604 一.本次实验所需器材 1.Arduino板 :https://item.taob ...
- Arduino入门笔记(1):认识Arduino
转载请注明:@小五义http://www.cnblogs.com/xiaowuyi 欢迎加入讨论群 64770604 各种网站论坛里经常看到网友DIY各种遥控小车.机器人什么的,一直很好奇,很想学习一 ...
- Arduino入门笔记(2):Arduino的开发和virtualbreadboard仿真环境
欢迎加入讨论群 64770604 1.开发环境 (1)下载开发环境 Arduino的开发环境从http://arduino.cc/en/Main/Software官网下载即可,分为windows版本. ...
- Arduino入门笔记(5):1602液晶实验(实现时钟)
转载请注明:@小五义 http://www.cnblogs.com/xiaowuyi 欢迎加入讨论群 64770604 一.本次实验所需器材 1.Arduino板 https://item.taoba ...
- Arduino入门笔记(9):蓝牙模块及第一辆蓝牙遥控小车
转载请注明:@小五义 http://www.cnblogs.com/xiaowuyi 欢迎加入讨论群 64770604 一.本次实验所需器材 1.Arduino UNO板 https://item.t ...
- Arduino入门笔记(8):利用12864和ADXL345学习重力感应控制
转载请注明:@小五义 http://www.cnblogs.com/xiaowuyi 欢迎加入讨论群 64770604 一.本次实验所需器材 1.Arduino UNO板 https://item.t ...
- Arduino入门笔记(7):利用1602、1302实现时钟和定时器
转载请注明:@小五义 http://www.cnblogs.com/xiaowuyi 欢迎加入讨论群 64770604 常常听到老妈在做饭时说“开锅15分钟后叫我一下”,为何不做个定时器,来提醒老妈呢 ...
随机推荐
- css ul li 横向排列
因为li是块级元素,默认占一行的,要想实现横向排列,一般通过以下两个方法:float:left这样设置有一个问题,li浮动以后则脱离了文本流,即不占位置,如果它的父级元素有具体的样式且没有固定宽高,建 ...
- 罗永浩专访全文记录(转自好奇心日报-http://www.qdaily.com/)
这篇文章是转的,存档做记录,定期看一看,激励自己遇到到困难时,想想人家比自己难多了,自己那点事算个屁啊.学习别人,不要带有傻逼主观倾向性,这样什么也得不到,我看完后,发现有一句话,说的非常好,自己有自 ...
- 本机ip+端口不能访问web server,外部却可以访问
本机ip+端口不能访问web server,外部却可以访问! 这个奇葩的问题困扰了我好久,别人通过ip访问我的server一切正常,自己却访问不了,一度怀疑win10的问题,久寻无果! 最后关闭ads ...
- (二)ADS1.2的安装教程以及使用 调试 (不会 AXD 调试工具)
安装教程: 参考百度 http://jingyan.baidu.com/article/cdddd41c7db85253cb00e1ae.html 具体使用看: 杨铸的那本书(嵌入式底层软件驱动开发) ...
- UEditor上传图片等附件都出现红叉,该怎么解决
------解决方案-------------------------------------------------------- 引用: 在本地这样配置就没问题:var URL = window. ...
- python直接执行另一个文件中的代码
看你弄的这么辛苦,给你的方法exec(open(".py","r").read)open(".py",'r').read() 就是读取文件的 ...
- AngularJS中控制器之间通信方法
在同个angular应用的控制器之间进行通信可以有很多种不同的方式,本文主要讲两种: 基于scope继承的方式和基于event传播的方式 基于scope继承的方式 最简单的让控制器之间进行通信的方法是 ...
- Window Azure ServiceBus Messaging消息队列技术系列1-基本概念和架构
前段时间研究了Window Azure ServiceBus Messaging消息队列技术,搞了很多技术研究和代码验证,最近准备总结一下,分享给大家. 首先,Windows Azure提供了两种类型 ...
- c++ 注册类到 lua
test.h: #ifndef __TEST_H__ #define __TEST_H__ class CTest { public: CTest(); ~CTest(); int getA(); v ...
- java实现ftp文件的上传与下载
最近在做ftp文件的上传与下载,基于此,整理了一下资料.本来想采用java自带的方法,可是看了一下jdk1.6与1.7的实现方法有点区别,于是采用了Apache下的框架实现的... 1.首先引用3个包 ...