arduino 知识
文章平均质量分 87
arduino 知识
蔚蓝慕
这个作者很懒,什么都没留下…
展开
-
Arduino 崩溃或挂起的 7 种方式及如何防止
in为了帮助防止Arduino崩溃或挂起,我进行了一系列实验,以确定Arduino崩溃,挂起,重置,冻结,停止运行代码或做一些奇怪的事情的所有方式。我把这些实验的结果放在一起,作为Arduino如何崩溃或挂起的指南,以及如何防止这种情况发生在你身上。原创 2022-12-13 13:32:46 · 3573 阅读 · 0 评论 -
使用 Arduino 中断 – 硬件、引脚变化和定时器
今天我们将学习中断,这是Arduino和其他微控制器的一个非常重要的基本功能。虽然我们将专注于Arduino Uno,但这里介绍的概念与其他板同样有效。当我们设计一个项目时,我们通常基于微控制器。这样做有很多很好的理由,其中包括:因为它们可以处理多个输入,并且因为它们可以做很多事情,所以微控制器可能会变得非常繁忙。繁忙的微控制器需要一种方法来管理外部事件,例如按下按钮,同时兼顾其他输入和输出时序过程。控制外部输入或内部定时事件的一种方法是使用中断。中断顾名思义,是一种中断程序执行以处理其他事情的方法。中断绝原创 2022-12-08 08:46:51 · 6801 阅读 · 2 评论 -
Arduino 定时器中断
Circuits Arduino查看原文奥雷里(地球、月亮和太阳)立式兰花播种机胶合板书柜扬声器计时器中断允许您以非常特定的时间间隔执行任务,而不管代码中发生了什么其他事情。我将解释如何在比较匹配或 CTC 模式下以清除计时器设置和执行中断。如果要查找示例代码,请直接跳转到步骤 2。通常,当您编写Arduino程序时,Arduino会按照编写顺序执行封装在函数中的所有命令,但是,很难对中的事件进行计时。有些命令比其他命令需要更长的时间来执行,有些依赖于条件语句(if,while…),一些Arduino库函数原创 2022-12-07 16:30:42 · 5511 阅读 · 0 评论 -
arduino中keyboard库的使用
Keypad 库函数介绍请参考:https://blog.csdn.net/acktomas/article/details/117119504arduino中keyboard库的使用原文地址:https://playground.arduino.cc/Main/KeypadTutorial/键盘库允许您的Arduino读取矩阵类型的键盘。您可以从旧电话中清除这些键盘,也可以从几乎任何电子零件商店以不到5美元的价格获得它们。它们具有3x4、4x4和其他各种配置,并在按键上写有单词,字母和数字。该库能翻译 2021-05-21 14:06:19 · 7006 阅读 · 1 评论 -
arduino中Keypad 库函数介绍
原文:https://playground.arduino.cc/Code/Keypad/Creation构造函数:Keypad(makeKeymap(userKeymap), row[], col[], rows, cols)const byte rows = 4; //four rowsconst byte cols = 3; //three columnschar keys[rows][cols] = { {'1','2','3'}, {'4','5','6'}, {'翻译 2021-05-21 14:05:16 · 8528 阅读 · 1 评论 -
Arduino字符串及串口操作的【汇总贴】
多个Serial.print拼成一条Serial.print省时间吗?【冷知识】为何要用 String.reserve( )Arduino - 串口操作函数与示例代码大全String库函数用String或sprintf( )与dtostrf( )做类似printf( )格式化输出Arduino自带字符串示例汇总...原创 2021-05-19 09:02:18 · 538 阅读 · 0 评论 -
Arduino自带字符串示例汇总
String示例1. String Character AnalysisIn this example we use the operators that allow us to recognise the type of character we are dealing with. It is useful to check if a character is ASCII, or is upper case, or numeric, or it is a punctuation mark and s原创 2021-05-19 08:52:32 · 534 阅读 · 0 评论 -
AccelStepper库
ACCELSTEPPER库实例分析1. AFMotor_ConstantSpeed演示如何非常简单的运行AccelStepper固定速度模式没有加速度需要AFMotor库注意:Adafruit电机shield V2不兼容浏览 https://github.com/adafruit/Adafruit_Motor_Shield_V2_Library来获取如何在Adafruit电机shield V2运行的实例// AFMotor_ConstantSpeed.pde// -*- mode: C++原创 2021-04-02 09:52:25 · 7335 阅读 · 0 评论 -
lasterGrbl和GRBL使用指南
软件https://github.com/svenhb/GRBL-Plotter0. 目录:首页:https://github.com/gnea/grbl/wiki编译Grbl:https://github.com/gnea/grbl/wiki/Compiling-Grbl连接Grbl:https://github.com/gnea/grbl/wiki/Connecting-Grb...翻译 2020-04-17 16:54:12 · 14011 阅读 · 0 评论 -
【小常识】从按钮开关看上拉pull-up电阻、下拉电阻
https://www.arduino.cn/thread-13186-1-1.html到底啥是上拉(pull-up)電阻和下拉(pull-down)電阻 ?在用 Arduino 做實驗時, 按鈕開關(Button/Switch)是很常見的應用,然後你常常看到文件說要接個電阻, 又看到"上拉電阻"或"下拉電阻"!電阻(resistor)應該大家多多少少都知道(大家都聽過歐姆定律),可是到...转载 2019-11-08 09:31:09 · 12641 阅读 · 0 评论 -
arduino 计时器和中断
index什么是计时器?定时器0:计时器1:定时器2:Timer3,Timer4,Timer5:计时器寄存器时钟选择和定时器频率计时器模式什么是中断?定时器中断计时器溢出:输出比较匹配:定时器输入捕捉:PWM和计时器本教程说明了Arduino板的计时器和中断的用法。作为Arduino程序员,您将在没有知识的情况下使用计时器和中断,因为Arduino API隐藏了所有底层硬件。许多Arduino函...翻译 2019-11-03 12:44:08 · 29062 阅读 · 3 评论 -
关于使用MPU6050中的几个问题,特记录下来
如果使用dmp计算各种角,就要用到int接口,这时使用软串口就接收不到数据,即使能够接收到,那么6050不论使用uno板卡上的2,3PIN(对应中断0,1)将不会产生中断。如果使用uno上的硬件串口,就不会有问题,在我的项目中利用两个蓝牙进行数据传送,如果蓝牙(主设备)接在硬串口上将不能从slave设备上接收数据。为了是两个设备通信只能用到软串口(SoftwareSerial)。蓝牙通信,要...原创 2019-10-28 16:51:11 · 1830 阅读 · 0 评论 -
Arduino重置-复位
Arduino重置-复位简介:三种方式手动重启Arduino方法一:使用Arduino板上的RESET引脚简介:三种方式手动重启ArduinoArduino板上重新编写代码时,Arduino将重新设置Arduino软件中打开串行终端,同时将Arduino板连接到计算机。打开串行终端时,Arduino会自动重置按下复位按钮详情见:https://www.theengineeringp...转载 2019-10-28 10:09:08 · 16454 阅读 · 0 评论 -
String库函数
String()的用法,堪称神器。String stringOne = “Hello String”; // using a constant StringString stringOne = String(‘a’); // converting a constant char into a StringStr...原创 2019-10-27 15:24:57 · 778 阅读 · 0 评论 -
Arduino - 串口操作函数与示例代码大全2(废弃)
index1.串口设置Serial.begin();Serial.end();2.清空串口缓存Serial.flush();3.输出串口数据Serial.print();Serial.println();Serial.SerialEvent();4.读串口缓存区数据Serial.available();Serial.read();Serial.peek();Serial.readBytes(buf...转载 2019-10-22 15:44:00 · 856 阅读 · 0 评论 -
HC-05,HC-06AT指令
进入AT模式的两种方法经过摸索,这里总结两种进入AT模式的方法:与USB转TTL相连后接入电脑,将波特率设置成9600,模块指示灯快闪,这时再按下模块的按钮便进入AT模式,这时打开串口助手,输入AT指令再回车就可以发送AT指令了。与USB转TTL相连后接入电脑,将电源线断开一根,长按模块按钮,上电,然后松手,模块的指示灯慢闪,将波特率设置为38400便进入AT模式,打开串口助手,输入AT指令...原创 2019-10-21 14:52:43 · 10686 阅读 · 1 评论 -
【arduino库文件】-wire.h
@TOCAs a reference the table below shows where TWI pins are located on various Arduino boards.BoardI2C / TWI pinsUno, EthernetA4 (SDA), A5 (SCL)Mega256020 (SDA), 21 (SCL)Leonardo2...转载 2019-03-01 22:05:26 · 24039 阅读 · 0 评论 -
SPI
文章目录1. 工作方式简介4种工作方式全双工主机/从机连接方法(1)一个主机和多个从器件的通信系统。(2)几个单片机互相连接构成多主机通信系统。(3)主机、从机和从器件共同组成的应用系统。数据传输用户逻辑基本原理与结构相关技术资料SPI原文:http://wiki.dzsc.com/4328.html由于SPI(setial peripheralinterface)总线占用的接口线少,通信...转载 2019-04-22 11:14:01 · 23279 阅读 · 0 评论 -
隐藏的Arduino宏F()修复随机锁定
原文:https://www.baldengineer.com/arduino-f-macro.html我凌晨3点,但是在你压扁这最后一个虫子之前你不会睡觉。你可以在任何想到的地方撒上Serial.print()语句,然后就会崩溃:你的代码随机锁定,LED发疯,你已经拥有它。这是怎么回事?你的RAM用完了!所有这些Serial.print()语句都由c风格的字符串组成。这是“常量字符数组”。为...翻译 2019-04-22 14:59:03 · 1465 阅读 · 1 评论 -
寻找IIC设备地址的代码
一个寻找设备地址的代码官方地址:i2c_scanner(http://playground.arduino.cc/Main/I2cScanner)这个非常简单的草图扫描了设备的I2C总线。如果找到设备,则将其报告给Arduino串行监视器。该草图是使I2C通信正常工作的第一步。草图将找到的设备的7位地址显示为十六进制值。该值可用于使用7位地址的“ Wire.begin”功能。某些数据表使用...翻译 2019-09-26 09:35:38 · 2331 阅读 · 0 评论 -
11.Arduino 内部集成电路(I2C)
通信接口I2CI2C接口的原意是"Inter IC",只用两条线来连接其他组件,为了方便同一个电路板上的各个组件相互通信。I2C至少有一个主控端(master,通常由微处理器担任,负责发送时钟和地址信号)和至少一个从端(slave,通常是传感器组件),所有I2C组件的数据线和时钟线都连接在一起。此外,I2C的数据线和时钟线都要连接一个电阻到电源线,电阻值通常选择1~10KΩ,建议采用1.8kΩ...原创 2018-11-15 15:10:33 · 1028 阅读 · 0 评论 -
analogWrite怎么做PWM输出?改PWM频率(定时器相关)
文章目录1. 首先来看看 PWM 仿真电压的原理, 这在官网上就有解说了:1.1 官网上的仿真范例:1.2 如果真的这样做, 有好处也有坏处, 官网上已经说了:2. 那 Arduino 是怎么做的呢?2.1 通过 Timer 定时器直接控制 pin 做 PWM 输出, Arduino UNO 的 MCU 有三个 timer,2.1 timer 的基本知识:2.2 analogWrite( ) 真...转载 2019-04-13 14:26:14 · 16426 阅读 · 1 评论 -
为何定时做事的ISR或中断程序內不可用Serial.print(定时器相关)
https://www.arduino.cn/thread-12546-1-1.html常常有人用到定時器的中斷(或外部中斷),然後想要使用 Serial.print 或 Serial.println 送數據到串口監視器查看,可是卻常常有人發現加了一些 Serial.println 之後可能很快就不動了 !?官方網站也建議在 ISR( ) 內或是在用 attachInterrupt 連接...转载 2019-04-12 10:44:20 · 853 阅读 · 0 评论 -
关于不用中断定时或每隔几次做某事
原文地址:https://www.arduino.cn/thread-12452-1-1.html下面仅仅是将原文给编辑一下,原文阅读有困难,看原文时一定看看下面的评论。前面跟大家分享了如何自己設定Arduino內部定时器定時做事,我把在以下兩篇中對於暫停/繼續 timer1 和 timer2 的 CTC 中斷之補充也抓過來:“自己控制 timer1 計時器定時做多件事(教程)”:http...转载 2019-04-12 10:42:03 · 606 阅读 · 0 评论 -
关于中断(Interrupt)的详细介绍以及IIC、软串口、PinChangeInt库
https://www.arduino.cn/thread-13205-1-1.html註: 五四三就是英文的 etc.現在來跟大家分享關於中断處理的一些常見問題 . . .常常看到有人問到:我在中斷的子程序内加進IIC通信後就進不了中斷了…求指點。或是我在中断程序内加入 Lcd_IIC 的程序後就死機…求指點。其實, 不論是 IIC/TWI, 或是 SPI, 以及硬串口、軟串口甚至...转载 2019-04-12 10:41:45 · 9743 阅读 · 1 评论 -
使用Bounce2库按键“消抖”处理
说明:最为常用的消抖方式就是通过软件消抖,该方法广泛应用于单片机硬件电路设计中,其基本的原理就是延时消抖,当按键的一刹那,并不让CPU立即处理指令,而是等待一个时间间隔,让按键信号稳定下来。这里我不对具体程序进行介绍,而是给出Arduino中专门处理按键的一个库文件实现按键的“消抖”。该库文件为Bounce2.h,之前的版本是Bounce1,Bounce2是其改进版,二者在使用上有所不同,这里我...原创 2019-03-06 16:57:57 · 6984 阅读 · 0 评论 -
Arduino - 串口操作函数与示例代码大全
文章目录Arduino - 串口操作函数与示例代码大全1.串口设置Serial.begin();Serial.end();2.清空串口缓存Serial.flush();while(Serial.read()>= 0){}3.输出串口数据Serial.println();Serial.SerialEvent();4.读串口缓存区数据Serial.available();Serial.read(...原创 2019-04-01 11:13:04 · 9176 阅读 · 1 评论 -
用String或sprintf( )与dtostrf( )做类似printf( )格式化输出
https://www.arduino.cn/thread-14644-1-1.html關於類似 printf( ); 的輸出方式, 雖然本站站長奈何大神有寫了一篇關於格式化輸出:http://www.arduino.cn/thread-8366-1-2.html但是我覺得那篇寫得不好, 因為雖然那篇讓你多知道一點秘密, 但是不好用 !转载 2019-03-11 16:01:10 · 1618 阅读 · 0 评论 -
arduino nano 上传出错的解决方法
解决办法:1、驱动下载:https://download.csdn.net/download/acktomas/110252272、在ARDUINO IDE 选择 处理器:ATmega328p(Old bootloader)原创 2019-03-16 09:58:44 · 16635 阅读 · 2 评论 -
【翻译】arduino 内置示例
内置示例1. Basics2.数字(Digital)3.模拟4.沟通(communication)5.控制结构(Control Structures)6.传感器7.显示8.字符串9. USB键盘(KEYBOARD)Mouse10. Starterkit和BasicKit11. Arduino ISPhttps://www.arduino.cc/en/Tutorial/BuiltInExample...翻译 2019-03-23 10:56:35 · 5104 阅读 · 0 评论 -
关于加速度计收藏的几篇文章
I2C通信之Arduino与加速度传感器ADXL345:https://blog.csdn.net/acktomas/article/details/88072797Arduino学习笔记二三轴加速度传感器ADXL345:https://blog.csdn.net/u010216127/article/details/8974085ADXL345加速度计使用心得(带中断唤醒):https:/...原创 2019-03-29 08:29:40 · 581 阅读 · 0 评论 -
millis() 溢出(overflow)归零(rollover)有沒问题?
https://www.arduino.cn/thread-12506-1-1.html在 Arduino, 我們常常使用 millis( )做檢查時間或計時(定时)的工作:http://www.arduino.cn/thread-12408-1-1.htmlhttp://www.arduino.cn/thread-12468-1-1.htmlhttp://arduino.cc/en/Re...转载 2019-04-12 15:21:08 · 4611 阅读 · 1 评论 -
如何偷改 millis( ) 与 micros( )的值方便测试(教程)(定时器相关)
https://www.arduino.cn/thread-12550-1-1.html(1)很多人常常利用 millis( ) 或 micros( )檢查是否到了該做事情,或是用來設定定時做事( Timer 庫或 SimpleTimer 庫都是這樣);但是, 有時很想知道如果 millis( ) 很大會怎樣, 到那時自己的寫法有沒問題 ?認真仔細推想當然可以,不過, 懶得仔細想的人就想...转载 2019-04-12 15:22:35 · 1957 阅读 · 0 评论 -
补充设定 timer1 定时器和 timer2 定时器定时做多件事
7. 补充设定 timer1 定时器和 timer2 定时器定时做多件事(教程)原文地址:https://www.arduino.cn/thread-12452-1-1.html下面仅仅是将原文给编辑一下,原文阅读有困难,看原文时一定看看下面的评论。前面跟大家分享了如何自己设定Arduino内部定时器定时做事,我把在以下两篇中对于暂停/继续 timer1 和 timer2 的 CTC 中断之...转载 2019-04-12 15:33:46 · 5827 阅读 · 0 评论 -
使用 MsTimer2 库
ARDUINO TIMER AND INTERRUPT TUTORIAL:https://oscarliang.com/arduino-timer-and-interrupt-tutorial/3. 使用 MsTimer2 库定时做多件事(教程)(定时器timer2的使用)转载:使用 MsTimer2 库定时做多件事(教程)(定时器timer2的使用)https: //www.arduino...转载 2019-04-12 15:33:32 · 20614 阅读 · 4 评论 -
使用TimerOne库
4. 使用TimerOne库(Timer1)定时做多件事使用TimerOne库(Timer1)定时做多件事https://www.arduino.cn/thread-12441-1-1.html(出处: Arduino中文社区)特别强调:请注意, 如果你使用了 Timer1 库 (TimerOne 库),则 pin 9 和 pin 10 就不能再用做 PWM 输出了!因为该 pi...转载 2019-04-12 15:33:16 · 10491 阅读 · 0 评论 -
为何 for只要 4 us
https://www.arduino.cn/thread-12611-1-1.html雖然 delayMicroseconds( ) 很好用,可是常常有人喜歡用 for 來做 delay 延遲, 然後就發現怪怪的 !!其實如下這句寫法是等於沒寫的:for(int i=0; i < 32000; ++i);如果你這樣測量:unsigned long begt = micros( ...转载 2019-04-12 15:31:47 · 262 阅读 · 0 评论 -
为何 delay(1000); 前后只有 999ms (milli second)?
https://www.arduino.cn/thread-15132-1-1.html首先感謝 xvb13135 幫忙發現這個問題 !什麼問題 ? 就是 delay( ) “看起來” 好像不準的問題, 請看:unsigned long st = millis( );delay(1000);unsigned long et = millis( );Serial.println(et -...转载 2019-04-12 15:31:34 · 2286 阅读 · 4 评论 -
如何取出从PC 的串口监视器送到Arduino的多个数值
https://www.arduino.cn/thread-14995-1-1.html常常有人問到要一次傳許多個整數給 Arduino,我來寫一個簡單函數給大家用:kittenblock中小学创客名师推荐的图形化编程软件// 首先弄个全局便量 Global Variable 存放答案:long iAns[13]; // 最多 12 个, 是 Global variable// iAn...转载 2019-04-12 15:31:06 · 2102 阅读 · 0 评论 -
【冷知识】为何要用 String.reserve( )
https://www.arduino.cn/thread-12558-1-1.htmlString 是 C++ 的類別(class), 它比 C 語言原生的 char Array 字符串好用,但相對的當然比直接用 C 語言原生字符串慢非常多 !那可否讓 C++ String 的運作快一點呢 ?常常看到範例程序中寫:String gg="";然後在 void setup( ) { 內寫...转载 2019-04-12 15:26:43 · 3370 阅读 · 1 评论