
Arduino
文章平均质量分 66
卢光庆
win桌面编程(易语言、aardio)、android(E4A)、单片机(arduino)交流
展开
-
arduino - L7805CV三端稳压器(摘抄自网文)
L7805CV三端稳压器原创 2023-12-06 08:45:06 · 7578 阅读 · 0 评论 -
Arduino - 电动车转把线加装定速巡航功能
1、单片机电源从转把转速控制三线中获取(接转把黑线,红线)2、将转把转速信号线(绿线)接单片机A0,用于获取转把转速信号电压值,以便设置“控制器”转速。3、将控制器转速信号线(绿线)接单片机11,用于设置控制器当前转速。4、将11针PWM输出频率加快,用于给控制器输出平稳的电压信号,让电机转的更丝滑。原创 2022-12-07 21:55:56 · 2633 阅读 · 0 评论 -
Arduino - 利用PROGMEM将数据写到闪存(程序存储空间)
AVR存储器简介:AVR 系列单片机内部有三种类型的被独立编址的存储器,它们分别为:1、Flash 程序存储器(即:程序存储空间、闪存)2、SRAM 数据存储器(即:动态内存)3、EEPROM 数据存储器单片机采用哈弗结构,将程序存储器和数据存储器分开,而数据存储器RAM通常比较小,而程序存储器Flash空间比较大,因此就需要将占用空间较大的不需要改变的数据放在Flash中。比如需要单...原创 2019-03-21 19:47:43 · 27601 阅读 · 7 评论 -
Arduino - 使用u8glib库操作OLED屏
需要的库文件:u8glibgithub地址:https://github.com/olikraus/u8glib一、基本运行框架:绘图过程,必须依照下面的框架执行,将绘图显示的代码,放在firstPage和nextPage组成的循环内执行。 u8g.firstPage(); do { // 此处放置显示代码 } while( u8g.nextPage() );二、常用...原创 2019-03-19 13:20:54 · 26717 阅读 · 1 评论 -
Arduino - 改造电脑开机方式,实现密码开机
作为上班族,你是否因为别人经常乱动你的电脑而烦恼? 作为程序猿,你是否因为代码放在办公室里怕被人拷走而担心? 又或者,你电脑里面有些电视台不让播的秘密? 系统没密码裸奔?一般人不会这样。 系统加登录密码?用U盘照样启动你的电脑。 屏蔽USB口?自己用起来麻烦。 怎么做才安全又省心? 从根本上解决。 我们接下来要实现的方案就是:直接控制主板的开机跳线,设置上密码。如果不知道密码,主板直原创 2017-08-26 16:35:44 · 4070 阅读 · 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 · 6028 阅读 · 0 评论 -
读取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 · 1481 阅读 · 0 评论 -
Arduino - 最小系统 (基于ATtiny2313A)
【基础介绍篇】材料准备: ATtiny2313A 单片机。 主要技术参数: 直接通过ISP编程器进行程序下载,所以不需要烧录Bootloader。 (可选)USB ISP 编程器(如果没有编程器,则用Nano制作下载器,并用芯片出厂默认熔丝参数进行编译下载即可)。 (可选)16M晶振一个,22pF陶瓷电容两个(如果使用外部晶振,则4、5针接外部晶振两脚,并各串联2原创 2017-03-27 11:18:11 · 6825 阅读 · 0 评论 -
Arduino - 基于ATtiny13的模拟量隔离采集+串口发送
http://www.eeworld.com.cn/mndz/2009/1225/article_1954.html转载 2017-03-13 16:44:58 · 2506 阅读 · 0 评论 -
Arduino - PC817C光耦
元件简介 PC817是光隔离线性反馈控制器件。 左边(1、2脚:输入端、控制端)是一个发光二极管。 右边(3、4脚:输出端、受控端)是一个三极管(CE极)。 控制端与受控端是隔离的。主要技术参数 控制端:最大电压5V,最大电流50mA。最大反向电压6V。 受控端:最大电压35V,最大电流50mA。 隔离电压:5000V。 工作温度:-30℃ ~ +原创 2017-03-13 14:40:00 · 22613 阅读 · 0 评论 -
Arduino - 最小系统(基于ATMEGA8-16PU)
【基础介绍篇】材料准备: ATMEGA8-16PU 单片机。 直接通过ISP编程器进行程序下载,所以不需要烧录Bootloader。 (可选)USB ISP 编程器(如果没有编程器,则用Nano制作下载器,并用芯片出厂默认熔丝参数进行编译下载即可)。 (可选)16M晶振一个,22pF陶瓷电容两个(如果使用外部晶振,则9、10针接外部晶振两脚,并各串联22pF电容后接地)。原创 2017-03-12 10:04:47 · 15947 阅读 · 1 评论 -
Arduino - 最小系统(基于ATtiny13A)
【基础资料篇】材料准备 ATtiny13A 单片机。 直接通过ISP编程器进行程序下载,所以不需要烧录Bootloader。 (可选)USB ISP 编程器(如果没有编程器,则用Nano制作下载器,并用芯片出厂默认熔丝参数进行编译下载即可)。 (可选)0.1uF 去耦电容一个(实际应用中,要在VCC与GND之间加个去耦电容:VCC←→电容←→GND)。 ATtiny13资原创 2017-03-09 16:02:47 · 35350 阅读 · 12 评论 -
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 · 6422 阅读 · 1 评论 -
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 · 23381 阅读 · 4 评论 -
PCB - 第一次设计PCB,第一版跟第二版对比
第一版,初稿,有很多缺点版面整体感觉比较生硬,不够流畅,美感不足。部分元件类型选择的不合适,需要更换。模块布局不合理,影响走线,位置拥挤,无法添加足够的滤波电容等元件。走线不够合理,且很多直角。信号线过粗,不够美观。背面走线。蓝牙模块下面走线过多,特别是蓝牙天线下面走线会影响蓝牙信号强度和稳定性。过多的考虑扩展性,将无用针脚都进行了走线处理,限制了整体布局的灵活性。最大的一个缺陷属原创 2017-02-22 11:29:15 · 2167 阅读 · 1 评论 -
E4A - 蓝牙串口连接失败的问题
UUID使用:00001101-0000-1000-8000-00805F9B34FB才能正常和外部的串口蓝牙设备连接。原创 2017-02-18 16:29:18 · 8879 阅读 · 2 评论 -
Arduino - 继电器
1:认识元件继电器(型号 松乐SRD-05VDC-SL-C) PNP型三极管(型号8550) 二极管 1K 电阻 2:了解继电器元器件继电器 松乐SRD-05VDC-SL-C 正面标注了它的型号、电压 继电器底面有5个管脚, 标注了 内部接线, 各脚含义如下: 接在线圈两端的是两个输入脚,公共端、常开端、常闭端是三个输出脚。 公共端与常开端 组成常开开关,公共端与常闭端组转载 2017-02-11 12:30:26 · 31629 阅读 · 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 · 30946 阅读 · 2 评论 -
Arduino - 改造楼道门禁,使用密码开门
楼道门禁系统为用户端可远程开门的那种。拆开看线路板:针对这四根线进行改造。参考网友提供的方案: http://www.arduino.cn/thread-4907-1-1.html方案介绍:通过按下楼道门上的房间按钮,连续按三次,根据每次不同的按键时间,判断其长短顺序是否符合要求,如果符合要求,则开门。 为简单起见,只需按三次即可,共有8种不同的排列方式: 短短短,短短长,短长短,短长长,长短原创 2016-07-26 14:28:34 · 9903 阅读 · 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 · 41935 阅读 · 7 评论 -
Arduino - 5V供电注意事项
在做一个项目,用 Arduino Nano,一切都调试好了,最终接入后,运行效果却不理想。症状表现为:数字输入针脚上接上稍微长一点的导线,就会导致该针脚高低电平不稳定。经过各种折腾,最终确定是电源电流不够大导致的。用电脑调试时一切正常,但是实际接入时,用的 5V500MA的变压器,效果不好。换成 5V 1000MA 的变压器,正常。所以,一定要电压足、电流足!!原创 2016-07-14 15:47:35 · 17629 阅读 · 0 评论 -
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 · 4468 阅读 · 0 评论 -
Arduino - 利用电阻进行分压,测量12V电压
Arduino针脚供电最大5V,电流最大40毫安左右。 如果直接接入12V电压,则可能烧毁。 所以,需要把12V电压,转变为Arduino可接受的电压和电流值才行。 所以,需要从电压和电流两方面来做限制。注:以下数值皆根据欧姆定律计算而出。1、电压转变为5V以内。 众所周知,用电阻串联可以将电压分散。两个阻值一样的电阻串联,则每个电阻两端的电压为总电压的一半。原创 2016-02-29 16:09:17 · 30328 阅读 · 0 评论 -
Arduino - 休眠模式
#include <avr/sleep.h>#include <avr/power.h>#include <avr/wdt.h>#define LED_PIN (13)volatile int f_wdt=1;ISR(WDT_vect){//看门狗唤醒执行函数 f_wdt++;}//自定义休眠函数,以便快捷的执行休眠。void enterSleep(void){ set_slee原创 2016-01-11 16:09:21 · 16615 阅读 · 2 评论 -
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 · 18180 阅读 · 0 评论 -
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 · 11246 阅读 · 1 评论 -
Arduino - 看门狗定时器(WDT:Watch Dog Timer)
看门狗定时器(WDT:Watch Dog Timer)实际上是一个计数器。 一般给看门狗一个大数,程序开始运行后看门狗开始倒计数。 如果程序运行正常,过一段时间CPU应该发出指令让看门狗复位,令其重新开始倒计数。 如果看门狗计数减到0,就认为程序没有正常工作,就强制整个系统复位(单片机重启)。所以,当你开启看门狗后,需要在看门狗超时(减到0)前,对其进行 喂狗(复位)操作,否则看门狗会强制你的原创 2015-12-24 20:20:07 · 20843 阅读 · 3 评论 -
ARduino - 用Arduino主板调试蓝牙模块
对于有TTL转接板的人来说,调试蓝牙很简单,用电脑调试非常方便。 如果没有TTL转接板的话,怎么调试呢? 不急,就用Arduino自身调试就行。原理就是:用软串口连接蓝牙,与硬串口通讯。 需要做的工作: 1、将蓝牙TX、RX连接到数字IO口上(而不是RX、TX口),用于建立软串口。 2、建立软串口,将软硬串口的数据互发。OK,现在可以调试蓝牙模块了,效果如下:代码如下:#include <原创 2015-12-23 18:20:15 · 5865 阅读 · 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 · 29448 阅读 · 9 评论 -
Arduino - RGB全彩LED模块
听起来挺高大上,就是个LED灯。说是全彩,其实就是三色。各个针脚(RGB)连上电就亮。 先看看长什么样子: RGB三个针,分别接三个数字口,进行控制。 另外一根针,有写“-”的,有写“GND”的。 但是我买的这个模块,应该是标错了,实际上应该接VCC(5V),低电平触发。 本来接到 GND 上测试的,可是怎么都不亮。 哎,可恨的商家,可悲的质量,差点就以为模块坏了。代码如下:void s原创 2015-12-23 11:37:29 · 18111 阅读 · 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 · 10628 阅读 · 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 · 11544 阅读 · 0 评论 -
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 · 32228 阅读 · 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 · 11510 阅读 · 0 评论 -
Arduino - 多线程库SCoop应用 之 任务
简单的写一下用法:第一:引用库 #include “SCoop.h” 这个不需要解释了吧。。第二:setup函数里,必须要调用mySCoop.start()命令 void setup() { mySCoop.start(); }第三:loop函数里,必须要调用yield()命令 void loop() { yield(); }接下来就可以使用多线程了。有两种定义方式,请继续往下看:原创 2015-12-21 21:52:24 · 16410 阅读 · 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 · 8730 阅读 · 2 评论 -
Arduino - 编程参考手册
Arduino编程参考手册首页程序结构 变量 基本函数setup()loop()控制结构ifif...elseforswitch casewhiledo...whilebreakcontinuereturngoto相关语法 ; 分号{ 大括号// 单行注释/**/ 多行注释#define 宏定义#include 文件包含算术运算符= 赋值+ (原创 2015-12-19 21:20:54 · 16329 阅读 · 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 · 2093 阅读 · 0 评论 -
Arduino - 28BYJ-48步进电机+ULN2003驱动模块
步进电机的操作倒是简单,只需要引用Stepper.h库文件操作即可。关键点: 1、网上买的步进电机,很多接线顺序都不对。经过不懈努力查资料,终于找到了能用的接线方式:电机上的12345针脚,对应着接线端子的42135。2、ULN2003步进电机驱动板可以让你方便的用Arduino控制28BYJ-48步进电机。驱动板的电机供电接口可以连接到Arduino的GND和5V取电,但是不推荐这种方法,推荐用原创 2015-12-19 11:28:53 · 39405 阅读 · 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 · 7063 阅读 · 0 评论