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分钟后叫我一下”,为何不做个定时器,来提醒老妈呢 ...
随机推荐
- centos7最小安装后常常需要添加的命令
本人下载的最小镜像文件下载地址:http://pan.baidu.com/s/1kUD2jbT 原文地址:http://blog.csdn.net/nmgrd/article/details/5176 ...
- docker 服务升级
使用docker大家一般都是微服务部署了.个人的经验是乖乖的用docker自己的注册发现机制. 创建一个overlay类型的network.把所有的微服务加入进去.就可以把service name当作 ...
- 数据库触发器inserted和deleted详解
create trigger updateDeleteTime on user for update as begin update user set UpdateTime=(getdate()) ...
- mapreduce性能提升2
mapreduce性能提升2mapreduce性能提升2mapreduce性能提升2
- PDO的一些操作
一.实例化一个PDO对象 //实例化一个PDO对象//1,设置数据源相关参数$dbms = 'mysql';$host = '127.0.0.1';$port = '3306';$dbname = ' ...
- iOS 单例的销毁
今天做项目的时候,对于不同的用户,需要创建不同的数据库.但是退出登录切换账号时,因为用单例创建数据,导致切换账号不会切换数据.所以,需要销毁单例.销毁单例时,调用以下的代码: 在创建单例的那个类中,调 ...
- 什么情况下会用到try-catch
本文不区分语言,只为记录一次有收获的面试. 面试官:什么情况下用到try-catch?程序员:代码执行预料不到的情况,我会使用try-catch.面试官:什么是预料不到的情况呢?程序员:比如我要计算a ...
- jquery.serialize
jQuery - serialize() 方法 serialize() 方法通过序列化表单值,创建 URL 编码文本字符串. serialize()函数用于序列化一组表单元素,将表单内容编码为用于提交 ...
- C#中Timer使用及解决重入问题
C#中Timer使用及解决重入问题 ★介绍 首先简单介绍一下timer,这里所说的timer是指的System.Timers.timer,顾名思义,就是可以在指定的间隔是引发事件.官方介绍在这里,摘抄 ...
- EntityFramework 使用经验
1.Nuget控制台常用命令 1.获取EntityFramework命令帮助:get-help EntityFramework 2.在项目中启动数据迁移:Enable-Migrations 3.添加 ...