
Arduino
文章平均质量分 66
卢光庆
win桌面编程(易语言、aardio)、android(E4A)、单片机(arduino)交流
展开
-
arduino - L7805CV三端稳压器(摘抄自网文)
L7805CV三端稳压器原创 2023-12-06 08:45:06 · 6728 阅读 · 0 评论 -
Arduino - 电动车转把线加装定速巡航功能
1、单片机电源从转把转速控制三线中获取(接转把黑线,红线)2、将转把转速信号线(绿线)接单片机A0,用于获取转把转速信号电压值,以便设置“控制器”转速。3、将控制器转速信号线(绿线)接单片机11,用于设置控制器当前转速。4、将11针PWM输出频率加快,用于给控制器输出平稳的电压信号,让电机转的更丝滑。原创 2022-12-07 21:55:56 · 2582 阅读 · 0 评论 -
Arduino - 最小系统(基于ATtiny13A)
【基础资料篇】材料准备 ATtiny13A 单片机。 直接通过ISP编程器进行程序下载,所以不需要烧录Bootloader。 (可选)USB ISP 编程器(如果没有编程器,则用Nano制作下载器,并用芯片出厂默认熔丝参数进行编译下载即可)。 (可选)0.1uF 去耦电容一个(实际应用中,要在VCC与GND之间加个去耦电容:VCC←→电容←→GND)。 ATtiny13资原创 2017-03-09 16:02:47 · 34688 阅读 · 12 评论 -
Arduino - Nano针脚分配时需要注意的事项
0、1为Rx、Tx 针脚,这两个针脚一般作为串口使用,非串口设备尽量不占用该针脚。2、3为中断口,分别对应中断0、中断1,需要中断功能的设备,必须接入此。2~13、A0~A5,共18个针脚,都可以作为数字阵脚,编号连起来,分别是2~19。13针脚只能为OUTPUT模式,只能作为输出端,不能用作输入端。A7、A7针脚只能用做模拟信号,不能用作数字信号。总结:一般情况下,除了0、1、13、A6、原创 2017-02-25 10:40:40 · 23302 阅读 · 4 评论 -
PCB - 第一次设计PCB,第一版跟第二版对比
第一版,初稿,有很多缺点版面整体感觉比较生硬,不够流畅,美感不足。部分元件类型选择的不合适,需要更换。模块布局不合理,影响走线,位置拥挤,无法添加足够的滤波电容等元件。走线不够合理,且很多直角。信号线过粗,不够美观。背面走线。蓝牙模块下面走线过多,特别是蓝牙天线下面走线会影响蓝牙信号强度和稳定性。过多的考虑扩展性,将无用针脚都进行了走线处理,限制了整体布局的灵活性。最大的一个缺陷属原创 2017-02-22 11:29:15 · 2152 阅读 · 1 评论 -
Arduino - 继电器
1:认识元件继电器(型号 松乐SRD-05VDC-SL-C) PNP型三极管(型号8550) 二极管 1K 电阻 2:了解继电器元器件继电器 松乐SRD-05VDC-SL-C 正面标注了它的型号、电压 继电器底面有5个管脚, 标注了 内部接线, 各脚含义如下: 接在线圈两端的是两个输入脚,公共端、常开端、常闭端是三个输出脚。 公共端与常开端 组成常开开关,公共端与常闭端组转载 2017-02-11 12:30:26 · 29320 阅读 · 1 评论 -
Arduino - ESP8266 Wifi 模块 之 搭建
用面包板搭了个简易测试环境,包括以下内容:1、Arduino Nano主板 2、Esp8266 Wifi 模块 3、按钮、蜂鸣器测试要点: 1、Esp8266连接 2、硬件与云平台互动环境功能: 1、设备状态变化时,与云平台实时同步。 2、按钮控制LED状态,用于测试互动情况。 3、蜂鸣器用于反映Esp8266 AT指令执行结果。 4、云平台远程控制本地设备。代码如下:#includ原创 2017-01-19 14:39:35 · 30733 阅读 · 2 评论 -
E4A - 蓝牙串口连接失败的问题
UUID使用:00001101-0000-1000-8000-00805F9B34FB才能正常和外部的串口蓝牙设备连接。原创 2017-02-18 16:29:18 · 8721 阅读 · 2 评论 -
Arduino - 多线程库SCoop应用 之 任务
简单的写一下用法:第一:引用库 #include “SCoop.h” 这个不需要解释了吧。。第二:setup函数里,必须要调用mySCoop.start()命令 void setup() { mySCoop.start(); }第三:loop函数里,必须要调用yield()命令 void loop() { yield(); }接下来就可以使用多线程了。有两种定义方式,请继续往下看:原创 2015-12-21 21:52:24 · 16385 阅读 · 10 评论 -
Arduino - 28BYJ-48步进电机+ULN2003驱动模块
步进电机的操作倒是简单,只需要引用Stepper.h库文件操作即可。关键点: 1、网上买的步进电机,很多接线顺序都不对。经过不懈努力查资料,终于找到了能用的接线方式:电机上的12345针脚,对应着接线端子的42135。2、ULN2003步进电机驱动板可以让你方便的用Arduino控制28BYJ-48步进电机。驱动板的电机供电接口可以连接到Arduino的GND和5V取电,但是不推荐这种方法,推荐用原创 2015-12-19 11:28:53 · 39140 阅读 · 10 评论 -
Arduino - 改造楼道门禁,使用密码开门
楼道门禁系统为用户端可远程开门的那种。拆开看线路板:针对这四根线进行改造。参考网友提供的方案: http://www.arduino.cn/thread-4907-1-1.html方案介绍:通过按下楼道门上的房间按钮,连续按三次,根据每次不同的按键时间,判断其长短顺序是否符合要求,如果符合要求,则开门。 为简单起见,只需按三次即可,共有8种不同的排列方式: 短短短,短短长,短长短,短长长,长短原创 2016-07-26 14:28:34 · 9844 阅读 · 2 评论 -
Arduino - 使用EEPROM保存数据
EEPROM (Electrically Erasable Programmable Read-Only Memory),电可擦可编程只读存储器–一种掉电后数据不丢失的存储芯片。 arduino已经为我们准备好了EEPROM类库”EEPROM.h”。 我们要使用得先调用EEPROM.h,然后使用write和read方法,即可操作EEPROM。一、写入方法:EEPROM.write(address原创 2016-07-17 13:34:10 · 41593 阅读 · 7 评论 -
Arduino - (增强版)改装车库门,蓝牙+自动关门
先前通过初步改装,实现了手机蓝牙控制开门关门。 这次增加了通过人体检测,没人时开始计时,超时自动关门。其他改进设想: 用433无线收发模块代替继电器,实现与车库遥控器的对接。代码如下:int pin_shang,pin_xia,pin_ren,pin_men,pin_laba,pin_led,pin_guanmen;int time_ren,time_laba;void setup()原创 2016-07-14 10:20:35 · 4436 阅读 · 0 评论 -
Arduino - 输出引脚扩流
本文转自:http://www.geek-workshop.com/thread-196-1-1.html 原文作者:Ansifa使用Arduino时候,经常需要控制大电流或者高压负载。但是Arduino只有最大5v,20mA的引脚输出。必须要通过扩流电路。扩流的方法有很多。下面介绍几种方法,适合在不同场合下面使用。注意:下述电路图的负载均用电阻符号代替,符号标志是电子学的负载符号RL,就是R(l转载 2017-03-07 11:08:38 · 6360 阅读 · 1 评论 -
读取vcc电压
//读取vcc电压 long readVcc() { long result; // Read 1.1V reference against AVcc ADMUX = _BV(REFS0) | _BV(MUX3) | _BV(MUX2) | _BV(MUX1); delay(2); // Wait for Vref to settle ADCSRA |= _BV(AD转载 2017-03-28 12:27:41 · 1465 阅读 · 0 评论 -
Arduino - 使用u8glib库操作OLED屏
需要的库文件:u8glibgithub地址:https://github.com/olikraus/u8glib一、基本运行框架:绘图过程,必须依照下面的框架执行,将绘图显示的代码,放在firstPage和nextPage组成的循环内执行。 u8g.firstPage(); do { // 此处放置显示代码 } while( u8g.nextPage() );二、常用...原创 2019-03-19 13:20:54 · 26618 阅读 · 1 评论 -
Arduino - 利用PROGMEM将数据写到闪存(程序存储空间)
AVR存储器简介:AVR 系列单片机内部有三种类型的被独立编址的存储器,它们分别为:1、Flash 程序存储器(即:程序存储空间、闪存)2、SRAM 数据存储器(即:动态内存)3、EEPROM 数据存储器单片机采用哈弗结构,将程序存储器和数据存储器分开,而数据存储器RAM通常比较小,而程序存储器Flash空间比较大,因此就需要将占用空间较大的不需要改变的数据放在Flash中。比如需要单...原创 2019-03-21 19:47:43 · 27385 阅读 · 7 评论 -
Arduino - 改造电脑开机方式,实现密码开机
作为上班族,你是否因为别人经常乱动你的电脑而烦恼? 作为程序猿,你是否因为代码放在办公室里怕被人拷走而担心? 又或者,你电脑里面有些电视台不让播的秘密? 系统没密码裸奔?一般人不会这样。 系统加登录密码?用U盘照样启动你的电脑。 屏蔽USB口?自己用起来麻烦。 怎么做才安全又省心? 从根本上解决。 我们接下来要实现的方案就是:直接控制主板的开机跳线,设置上密码。如果不知道密码,主板直原创 2017-08-26 16:35:44 · 4051 阅读 · 0 评论 -
Arduino - ESP8266-01模块
一、模块接线:首先最关注的还是接线问题。 PCB板上竟然没有印刷针脚标识,怎么破?? 先查资料,掌握如下信息: 针脚列表: 编号 针脚 GPIO 功能说明 1 UTXD GPIO1 TX 发送端 2 GND GND 3 CH_PD 高电平工作,低电平模块供电关掉 4 GPIO2 GPIO2 开机上电时必须为原创 2015-12-16 16:44:39 · 7029 阅读 · 0 评论 -
Arduino - PC817C光耦
元件简介 PC817是光隔离线性反馈控制器件。 左边(1、2脚:输入端、控制端)是一个发光二极管。 右边(3、4脚:输出端、受控端)是一个三极管(CE极)。 控制端与受控端是隔离的。主要技术参数 控制端:最大电压5V,最大电流50mA。最大反向电压6V。 受控端:最大电压35V,最大电流50mA。 隔离电压:5000V。 工作温度:-30℃ ~ +原创 2017-03-13 14:40:00 · 21597 阅读 · 0 评论 -
Arduino - 基于ATtiny13的模拟量隔离采集+串口发送
http://www.eeworld.com.cn/mndz/2009/1225/article_1954.html转载 2017-03-13 16:44:58 · 2492 阅读 · 0 评论 -
Arduino - 热敏电阻MF58-104F3950K
热敏电阻接法:阻值:/* * 热敏电阻的型号是 NTC玻封热敏电阻MF58-104F 3950K 直插100K 精度1% B值3950 * 常温25摄氏度(298.15K)下阻值为100k欧 */ #include<math.h> const float voltagePower=5; const float Rs=100;//采样电阻为100千欧 const int B=39原创 2017-03-29 15:39:14 · 5952 阅读 · 0 评论 -
Arduino - 最小系统 (基于ATtiny2313A)
【基础介绍篇】材料准备: ATtiny2313A 单片机。 主要技术参数: 直接通过ISP编程器进行程序下载,所以不需要烧录Bootloader。 (可选)USB ISP 编程器(如果没有编程器,则用Nano制作下载器,并用芯片出厂默认熔丝参数进行编译下载即可)。 (可选)16M晶振一个,22pF陶瓷电容两个(如果使用外部晶振,则4、5针接外部晶振两脚,并各串联2原创 2017-03-27 11:18:11 · 6780 阅读 · 0 评论 -
Arduino - 最小系统(基于ATMEGA8-16PU)
【基础介绍篇】材料准备: ATMEGA8-16PU 单片机。 直接通过ISP编程器进行程序下载,所以不需要烧录Bootloader。 (可选)USB ISP 编程器(如果没有编程器,则用Nano制作下载器,并用芯片出厂默认熔丝参数进行编译下载即可)。 (可选)16M晶振一个,22pF陶瓷电容两个(如果使用外部晶振,则9、10针接外部晶振两脚,并各串联22pF电容后接地)。原创 2017-03-12 10:04:47 · 15803 阅读 · 1 评论 -
Arduino - 5V供电注意事项
在做一个项目,用 Arduino Nano,一切都调试好了,最终接入后,运行效果却不理想。症状表现为:数字输入针脚上接上稍微长一点的导线,就会导致该针脚高低电平不稳定。经过各种折腾,最终确定是电源电流不够大导致的。用电脑调试时一切正常,但是实际接入时,用的 5V500MA的变压器,效果不好。换成 5V 1000MA 的变压器,正常。所以,一定要电压足、电流足!!原创 2016-07-14 15:47:35 · 17554 阅读 · 0 评论 -
Arduino - 315/433MHz RF无线收发模块
貌似又是为了找个合适的库文件进行了N多周折。元件如下图(左边为接收模块,右边为发送模块): 接线图如下: 以下为控制代码: 【库文件:RCSwitch】点此下载 【注意点:接收模块数据线要接到Arduino的中断口】//引用库文件#include <RCSwitch.h>RCSwitch myFa = RCSwitch();//定义发送端RCSwitch myShou = RCSwit原创 2015-12-09 09:44:27 · 23589 阅读 · 10 评论 -
Arduino - 利用电阻进行分压,测量12V电压
Arduino针脚供电最大5V,电流最大40毫安左右。 如果直接接入12V电压,则可能烧毁。 所以,需要把12V电压,转变为Arduino可接受的电压和电流值才行。 所以,需要从电压和电流两方面来做限制。注:以下数值皆根据欧姆定律计算而出。1、电压转变为5V以内。 众所周知,用电阻串联可以将电压分散。两个阻值一样的电阻串联,则每个电阻两端的电压为总电压的一半。原创 2016-02-29 16:09:17 · 30026 阅读 · 0 评论 -
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 · 2083 阅读 · 0 评论 -
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 · 5085 阅读 · 4 评论 -
Arduino - 改装车库门,增设手机蓝牙控制功能
一直有这样的想法,今天终于实现了。 功能很简单,用手机蓝牙发送信号,单片机蓝牙从机接收信号后,给继电器发送指令,控制车库门的开启与关闭。线路图如下:重点: 1、车库门控制器有手动控制接口,所以通过继电器闭合可以控制车库门升降。 2、Arduino板子需要7-12V供电,经测量,车库门控制器上有14~16V供电线路,接上Arduino后,刚好降压到10V左右,蓝牙能正常运行。如果从7V左右的线路原创 2015-12-15 09:20:01 · 5503 阅读 · 0 评论 -
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 · 8087 阅读 · 0 评论 -
Arduino - 防止接通电源时IO口电平不稳的问题
Arduino NUO R3 板子在测试的过程中发现,在板子接通电源后的200毫秒左右,会在输出IO口产生一系列不稳定电平信号(高或低),并大约持续5秒后恢复正常。具体表现为: 1、当setup中定义一个led: pinMode(ledpin,OUTPUT); digitalWrite(ledpin,HIGH); 该led的实际运行情况为亮一下接着灭掉原创 2015-12-10 20:49:56 · 6624 阅读 · 2 评论 -
Arduino - 我偏爱的三块板子( Uno、Nano、Promini)针脚示意图
Arduino UNO Arduino NANO Arduino PRO MINI原创 2015-12-15 21:21:52 · 42308 阅读 · 5 评论 -
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 · 6570 阅读 · 0 评论 -
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 · 22228 阅读 · 3 评论 -
Arduino - 利用红外避障(障碍检测)进行计数
红外避障使用很简单,就是OUT口检测到有效距离内有障碍物时,给OUT发送高电平(或低电平)。可以利用这一特性,进行计数。需要注意的是,根据障碍物在识别范围内所停留的时间不同,模块可能会在障碍物停留的这一段时间频繁的发送高电平(或低电平),所以,要判断两个标志,一个是障碍物进入,一个是障碍物移出,保证在进入后只记录一次数据即可。代码如下:int i=0; //计数bool b=false; //障碍原创 2015-12-14 09:12:15 · 12045 阅读 · 3 评论 -
Arduino - 红外接收
红外接收使用比较简单。 主要注意两点: 1、接线:接收器虽然是三针,但两边的针不是接VCC和GND。而是如下图(圆头面向自己): 2、库文件调用: 需要IRremote库文件。我引用了IRremote.h后,竟然提示我有两个(如下图),不管哪一个了,能用就行。 代码如下: 【针脚:注意接线即可,对arduino的IO口无要求】 【库文件:IRremote】#include <IRr原创 2015-12-10 15:22:20 · 4629 阅读 · 2 评论 -
Arduino - 超声波测距
超声波模块使用比较简单,不需要额外的库文件,接线对针脚也没有特殊要求。 主要要点就是脉冲发送方式和距离计算方式。接线如图:知识要点: pulseIn():用于检测引脚输出的高低电平的脉冲宽度。 pulseIn(pin, value) pulseIn(pin, value, timeout) Pin—需要读取脉冲的引脚 Value—需要读取的脉冲类型,HIGH或LOW Timeout—超原创 2015-12-09 10:42:02 · 2742 阅读 · 0 评论 -
Arduino - 编程参考手册
Arduino编程参考手册首页程序结构 变量 基本函数setup()loop()控制结构ifif...elseforswitch casewhiledo...whilebreakcontinuereturngoto相关语法 ; 分号{ 大括号// 单行注释/**/ 多行注释#define 宏定义#include 文件包含算术运算符= 赋值+ (原创 2015-12-19 21:20:54 · 16253 阅读 · 0 评论 -
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 · 8698 阅读 · 2 评论