- 博客(30)
- 收藏
- 关注
转载 Arduino - 中断的使用
原文地址: http://www.arduino.cn/forum.php?mod=viewthread&tid=2421&page=1#pid82211、什么是中断? (这里就不多解释了,主要讲一下具体使用)2、各种板子的中断:UNO、NANO、ProMINI这仨板子都是INT0(D2针脚:中断编号为0)、INT1(D3针脚:中断编号为1),其它板子参考电路图。3、中断函数、中断触发模式与设置中
2015-12-27 11:13:42 18048
转载 Arduino - 关于内存
转自: http://www.geek-workshop.com/forum.php?mod=redirect&goto=findpost&ptid=10816&pid=113693Arduino 328p 用的芯片 属于 哈弗结构,他把存储区分为 三个部分:1. FLASH 程序存储区, 2. RAM 动态 内存,3. ROM 区 。他不同于 诺依曼 结构的 程序存储区 和 RAM 内存
2015-12-26 12:11:58 11049 1
原创 Arduino - 看门狗定时器(WDT:Watch Dog Timer)
看门狗定时器(WDT:Watch Dog Timer)实际上是一个计数器。 一般给看门狗一个大数,程序开始运行后看门狗开始倒计数。 如果程序运行正常,过一段时间CPU应该发出指令让看门狗复位,令其重新开始倒计数。 如果看门狗计数减到0,就认为程序没有正常工作,就强制整个系统复位(单片机重启)。所以,当你开启看门狗后,需要在看门狗超时(减到0)前,对其进行 喂狗(复位)操作,否则看门狗会强制你的
2015-12-24 20:20:07 20283 3
原创 ARduino - 用Arduino主板调试蓝牙模块
对于有TTL转接板的人来说,调试蓝牙很简单,用电脑调试非常方便。 如果没有TTL转接板的话,怎么调试呢? 不急,就用Arduino自身调试就行。原理就是:用软串口连接蓝牙,与硬串口通讯。 需要做的工作: 1、将蓝牙TX、RX连接到数字IO口上(而不是RX、TX口),用于建立软串口。 2、建立软串口,将软硬串口的数据互发。OK,现在可以调试蓝牙模块了,效果如下:代码如下:#include <
2015-12-23 18:20:15 5722 1
原创 Arduino - 摇杆模块
摇杆可以被视为一个按钮(Z轴)和电位计(X、Y轴)的组合。接线方式:GND、VCC(+5V)这两个不用说了。VRx,VRy (X、Y轴)为模拟输入信号,连接到模拟IO口A0~A7。 VRx,VRy 的值:从 0 ~ 1023 分别代表 左~右,上~下。中间值为512。SW (Z轴)是数字输入信号,连接到数字端口,并启用上拉电阻。 SW 的值:1代表未按下,0代表按下。 代码如下://在这里VR
2015-12-23 12:46:31 28788 9
原创 Arduino - RGB全彩LED模块
听起来挺高大上,就是个LED灯。说是全彩,其实就是三色。各个针脚(RGB)连上电就亮。 先看看长什么样子: RGB三个针,分别接三个数字口,进行控制。 另外一根针,有写“-”的,有写“GND”的。 但是我买的这个模块,应该是标错了,实际上应该接VCC(5V),低电平触发。 本来接到 GND 上测试的,可是怎么都不亮。 哎,可恨的商家,可悲的质量,差点就以为模块坏了。代码如下:void s
2015-12-23 11:37:29 17835 1
原创 Arduino - 多线程库SCoop应用 之 时钟(计时器)
使用该库的【时钟(又叫:计时器)】功能,首先要做三件事:第一:引用库 #include “SCoop.h” 【库文件下载地址】 http://www.dfrobot.com.cn/community/forum.php?mod=attachment&aid=MTI4MzZ8MWFmMjk1MGF8MTQ1MDcwNTA2M3wwfD第二:setup函数里,调用mySCoop.start()命令
2015-12-22 20:45:26 10364 1
原创 Arduino - 软串口
软串口跟硬串口一样,只不过用了两个数字IO口代替RX,TX。 【所用库文件】系统自带的 : SoftwareSerial 应用方法如下:#include <SoftwareSerial.h> //引用库文件SoftwareSerial DLSerial(6, 7); // 定义软串口 RX(插到D6口), TX(插到D7口)//其它操作就跟Serial一样了//如:DLSerial.b
2015-12-22 16:51:01 11442
原创 Arduino - 连接RS232串口设备(通过RS232转TTL转接口)
弄了很久,终于试验成功。 刚开始用Arduino的硬串口 0(RX)、1(TX)号口测试,一直不成功,怀疑是跟电脑连接的原因。 后来用软串口测试,成功了。先看看RS232转TTL转接口长啥样子: 还是先看连接方法:TTL_VCC——接Arduino板子5V TTL_GND——接Arduino板子GND TTL_RXD——接Arduino板子RXD TTL_TXD——接Arduino板子T
2015-12-22 16:08:45 30776 8
原创 Arduino - 蓝牙串口透传模块:HC-06从机
蓝牙模块使用方法也比较简单,直接串口操作,无需额外的库文件。首先还是先看看模块长什么样子:【注意蓝牙的工作电压】这个模块兼容3.6-6V电压,所以我接在5V电压上使用。首先是对蓝牙模块进行设置,我是用TTL转接口连接到电脑上,通过AT指令进行设置的。蓝牙与ttl的连接:GND-GND ; VCC - 5V ; TX - RX ; RX - TX。连接上后,打开串口调试工具,发送指令。常用指令如下:1
2015-12-22 11:19:30 10889
原创 Arduino - 多线程库SCoop应用 之 任务
简单的写一下用法:第一:引用库 #include “SCoop.h” 这个不需要解释了吧。。第二:setup函数里,必须要调用mySCoop.start()命令 void setup() { mySCoop.start(); }第三:loop函数里,必须要调用yield()命令 void loop() { yield(); }接下来就可以使用多线程了。有两种定义方式,请继续往下看:
2015-12-21 21:52:24 16183 10
原创 Arduino - ENC28J60有线网络模块
先看网络模块长啥模样: 惯例,看接线方法,必要接的有7根: Vcc —— 3.3V GND —— GND RESET —— RESET; SI —— D11; SO —— D12; SCK —— D13; CS —— 片选,与“ether.begin()”的第三个参数一致;下面的测试代码接D10;写一段代码,当用网页访问网络模块的时候,显示开关状态。 当直接访问 http://19
2015-12-21 13:33:40 8541 2
原创 Arduino - 编程参考手册
Arduino编程参考手册首页程序结构 变量 基本函数setup()loop()控制结构ifif...elseforswitch casewhiledo...whilebreakcontinuereturngoto相关语法 ; 分号{ 大括号// 单行注释/**/ 多行注释#define 宏定义#include 文件包含算术运算符= 赋值+ (
2015-12-19 21:20:54 15703
转载 Arduino - IIC SCANNER
#include <Wire.h>#define SERIAL_BAUD 57600 void setup(){ Wire.begin(); Serial.begin(SERIAL_BAUD); Serial.println("I2C Scanner started"); Serial.println();}void loop(){ uint8_t error, i2cAd
2015-12-19 16:14:35 2053
原创 Arduino - 28BYJ-48步进电机+ULN2003驱动模块
步进电机的操作倒是简单,只需要引用Stepper.h库文件操作即可。关键点: 1、网上买的步进电机,很多接线顺序都不对。经过不懈努力查资料,终于找到了能用的接线方式:电机上的12345针脚,对应着接线端子的42135。2、ULN2003步进电机驱动板可以让你方便的用Arduino控制28BYJ-48步进电机。驱动板的电机供电接口可以连接到Arduino的GND和5V取电,但是不推荐这种方法,推荐用
2015-12-19 11:28:53 38529 10
原创 Arduino - ESP8266-01模块
一、模块接线:首先最关注的还是接线问题。 PCB板上竟然没有印刷针脚标识,怎么破?? 先查资料,掌握如下信息: 针脚列表: 编号 针脚 GPIO 功能说明 1 UTXD GPIO1 TX 发送端 2 GND GND 3 CH_PD 高电平工作,低电平模块供电关掉 4 GPIO2 GPIO2 开机上电时必须为
2015-12-16 16:44:39 6951
原创 Arduino - 修正LCD1602 IIC转接卡只显示第一个字符的问题
淘了个LCD1602 IIC转接卡,可是发送指令后,只显示第一个字符。变通处理一下,好歹算是可以用了。#include <LiquidCrystal_I2C.h>LiquidCrystal_I2C lcd(0x27,16,2); // 设置 LCD转接卡的地址 为 0x27 ,每行16个字符,共2行void setup(){ lcd.init(); // 初始化 lcd.back
2015-12-15 22:05:07 5003 4
原创 Arduino - 我偏爱的三块板子( Uno、Nano、Promini)针脚示意图
Arduino UNO Arduino NANO Arduino PRO MINI
2015-12-15 21:21:52 41519 5
原创 Arduino - Pro mini 烧录方法 ( FT232RL )
一、首先,最关注的就是FT232RL与Promini的连接方式: VCC(5V) - VCC(5V) GND - GND RXD - RXD TXD - TXD 以上四个接口是必须的,连接正确了这四根线就可以用了。 只是需要在烧录的时候,提示upload(上传)时,手动按一下板子上的RESET按钮复位才行。二、要想不用按复位按钮就可以上传,只要把FT232RL上的CTS脚引出来,接到Pr
2015-12-15 13:25:35 21822 3
原创 Arduino - 改装车库门,增设手机蓝牙控制功能
一直有这样的想法,今天终于实现了。 功能很简单,用手机蓝牙发送信号,单片机蓝牙从机接收信号后,给继电器发送指令,控制车库门的开启与关闭。线路图如下:重点: 1、车库门控制器有手动控制接口,所以通过继电器闭合可以控制车库门升降。 2、Arduino板子需要7-12V供电,经测量,车库门控制器上有14~16V供电线路,接上Arduino后,刚好降压到10V左右,蓝牙能正常运行。如果从7V左右的线路
2015-12-15 09:20:01 5243
原创 Arduino - Micro SD卡 读写
SD 卡读写测试,因为没有小于2G的卡,暂时无法测试。先查了下资料,确定一下接线方法: 1、VCC、GND - 接 3.3V 和 地线 【注意电压:3.3V,不要接到5V上】 2、MOSI - 接 UNO板子的11口 【其它板子可以查资料】 3、MISO - 接UNO板子的12口 3、CLK - 接UNO板子的13口 4、CS - 取决于 SD 卡的 shield 或 module.
2015-12-15 08:44:18 6519
原创 Arduino - 利用红外避障(障碍检测)进行计数
红外避障使用很简单,就是OUT口检测到有效距离内有障碍物时,给OUT发送高电平(或低电平)。可以利用这一特性,进行计数。需要注意的是,根据障碍物在识别范围内所停留的时间不同,模块可能会在障碍物停留的这一段时间频繁的发送高电平(或低电平),所以,要判断两个标志,一个是障碍物进入,一个是障碍物移出,保证在进入后只记录一次数据即可。代码如下:int i=0; //计数bool b=false; //障碍
2015-12-14 09:12:15 11764 3
原创 Arduino - 防止接通电源时IO口电平不稳的问题
Arduino NUO R3 板子在测试的过程中发现,在板子接通电源后的200毫秒左右,会在输出IO口产生一系列不稳定电平信号(高或低),并大约持续5秒后恢复正常。具体表现为: 1、当setup中定义一个led: pinMode(ledpin,OUTPUT); digitalWrite(ledpin,HIGH); 该led的实际运行情况为亮一下接着灭掉
2015-12-10 20:49:56 6432 2
原创 Arduino - 红外接收
红外接收使用比较简单。 主要注意两点: 1、接线:接收器虽然是三针,但两边的针不是接VCC和GND。而是如下图(圆头面向自己): 2、库文件调用: 需要IRremote库文件。我引用了IRremote.h后,竟然提示我有两个(如下图),不管哪一个了,能用就行。 代码如下: 【针脚:注意接线即可,对arduino的IO口无要求】 【库文件:IRremote】#include <IRr
2015-12-10 15:22:20 4553 2
原创 Arduino - DHT11温湿度传感器
这个模块应用很简单,因为有库文件 ^-^ (这就是封装的好处) 库文件下载地址: https://github.com/adafruit/DHT-sensor-library实物如图: 简单的三线结构。 DATA随便接一个数字IO口即可。#include "DHT.h"#define DHTPIN 8#define DHTTYPE DHT11DHT dht(DHTPIN, DHTTYPE
2015-12-09 16:53:45 19860 7
原创 Arduino - 人体红外传感器(PIR)模块HC-SR501
人体红外模块非常简单,就是普通的三针(VCC,GND,DATA),高电平为有活动人体被检测到,低电平为没有检测到活动人体。需要注意的是模块上有几个可以设置的地方:一、触发方式: L不可重复,H可重复。可跳线选择,默认为H。 A.不可重复触发方式:即感应输出高电平后,延时时间一结束,输出将自动从高电平变为低电平。 B.可重复触发方式: 即感应输出高电平后,在延时时间段内,如果有人
2015-12-09 12:50:09 33612 3
翻译 E4A - 打开、关闭软键盘
查阅资料如下:获取编辑框焦点: editText.setFocusable(true);打开软键盘: InputMethodManager imm = (InputMethodManager)ctx.getSystemService(Context.INPUT_METHOD_SERVICE); imm.toggleSoftInput(0, InputMethodManager.HIDE_
2015-12-09 11:34:10 1556
原创 Arduino - 超声波测距
超声波模块使用比较简单,不需要额外的库文件,接线对针脚也没有特殊要求。 主要要点就是脉冲发送方式和距离计算方式。接线如图:知识要点: pulseIn():用于检测引脚输出的高低电平的脉冲宽度。 pulseIn(pin, value) pulseIn(pin, value, timeout) Pin—需要读取脉冲的引脚 Value—需要读取的脉冲类型,HIGH或LOW Timeout—超
2015-12-09 10:42:02 2545
原创 Arduino - 315/433MHz RF无线收发模块
貌似又是为了找个合适的库文件进行了N多周折。元件如下图(左边为接收模块,右边为发送模块): 接线图如下: 以下为控制代码: 【库文件:RCSwitch】点此下载 【注意点:接收模块数据线要接到Arduino的中断口】//引用库文件#include <RCSwitch.h>RCSwitch myFa = RCSwitch();//定义发送端RCSwitch myShou = RCSwit
2015-12-09 09:44:27 22668 10
原创 Arduino - Tiny RTC 12C 时钟模块
测试了几个RTC库文件,不是很好用。后来终于有一个测试成功的,是下面的地址: https://github.com/adafruit/RTClib A fork of Jeelab’s fantastic RTC library 成功了,高兴一下。^-^这是我买的时钟模块: 这是接线方法: #include <RTClib.h>RTC_DS1307 RTC;void setup ()
2015-12-08 13:52:55 7921 3
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人