以前用CRT显示器的时候,调整显示器的时候用一个圆盘转动和点击的方法就可以实现选择菜单和修改设置项的值,比多个按钮的方式方便很多. 鼠标滚轮也是这种操作方法,旋转+点击,只是方向不同.最近在网上买了旋转编码器模块,想把它用到实际制作中.在网上找了很多资料,测试发现其中的代码或多或少都有问题.于是决定自己研究一下旋转编码器的原理,只涉及高低电平应该会比较简单. 我买的旋转编码器模块有5个引脚,分别是VCC, GND, SW, CLK, DT.其中VCC和GND用来接电源和地,按缩写SW应该是Swi…
介绍 旋转或编码器是一个角度測量装置. 他用作精确測量电机的旋转角度或者用来控制控制轮子(能够无限旋转,而电位器只能旋转到特定位置).其中有一些还安装了一个能够在轴上按的button,就像音乐播放器的控制button.Some of them are also equipped with a pushbutton when you press on the axis (like the ones used for navigation on many music controllers). 它们…
37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器和模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手试试做实验,不管成功与否,都会记录下来---小小的进步或是搞不定的问题,希望能够抛砖引玉. [Arduino]168种传感器模块系列实验(资料+代码+图形编程+仿真编程) 实验四十:360度旋转增量编码器模块(KY-040) EC11旋转编码器 也叫开关编码器.旋转编码器,EC11系列编…
前言 购买T12烙铁的相关配件已经1年多了,期间也尝试了一些开源的T12控制器,但都没有成功,要么是配套资料少,要么是英文的,其中51和arduino的居多,STM32的较少.求人不如求己,索性自己开发一个吧!现把制作过程和工作原理记录一下. 项目开源地址:https://github.com/Cai-Zi/STM32_T12_Controller Gitee:https://gitee.com/Cai-Zi/STM32_T12_Controller PCB:https://oshwhub.co…
Development kit:MDK5.14 IDE:UV4 MCU:STM32F103C8T6 一.增量式旋转编码器 1.简介 编码器(encoder)是将信号(如比特流)或数据进行编制.转换为可用以通讯.传输和存储的信号形式的设备.编码器把角位移或直线位移转换成电信号,前者称为码盘,后者称为码尺. 按照读出方式编码器可以分为接触式和非接触式两种: 按照工作原理编码器可分为增量式和绝对式两类.增量式编码器是将位移转换成周期性的电信号,再把这个电信号转变成计数脉冲,用脉冲的个数表示位移的大小.…
好久没写这个系列了.今天讲讲旋转编码器. 旋转编码器好像不是单片机玩家很常用的器件,但是我们的开发板上有,原因如下: 旋转编码器挺好用的.电位器能旋转的角度有限,旋转编码器可以无限圈旋转:旋转时不连续,有卡点,适合对应离散数据. 开发板上选用的旋转编码器,使用起来简单.方便. 本来旁边的电位器(旋钮,以后会讲)一枝独秀,挺孤单的,我就配一个高度大致相同的旋转编码器陪伴它. 今天我想写旋转编码器,于是在网络上搜索了一下,相关资料很少.最基本地,旋转编码器的作用是将角位移.角速度等机械量转换为电信号…
module pmodenc( clk, rst_n, A, B, BTN,// A_Debounce,// B_Debounce,// BTN_Debounce,// Rotary_right,// Rotary_left LED); input wire clk,rst_n; input wire A,B,BTN;// output wire A_Debounce,B_Debounce,BTN_Debounce;// output wire Rotary_right,Rotary_left;…
   接到一个博友的反馈,在屏幕旋转时调用PopupWindow的update方法失效.使用场景如下:在一个Activity中监听屏幕旋转事件,在Activity主布局文件中有个按钮点击弹出一个PopupWindow,另外在主布局文件中有个ListView.测试结果发现:如果ListView设置为可见(visibile)的话,屏幕旋转时调用的update方法无效,如果ListView设置为不可见(gone)或者直接删除的话,屏幕旋转时调用的update方法就生效.下面先展示两种情况的效果图对比.…
分享一下PCB合拼的组合的遍历方法,在分享之前先纠正一下 PCB拼板之多款矩形排样算法实现--学习  时间复杂度计算错误  一.PCB 合拼(全排序+旋转90度)的时间复杂度是多少? 二.合拼遍历(全排序+旋转90度)  基本遍历方法  1.调用方法 //准备数据 List<RectSizeDemo> RectSizeList = new List<RectSizeDemo>(); RectSizeList.Add(new RectSizeDemo() { Name = "…
1.前言     近段时间,博主陆续更新了ESP8266学习笔记,主要开发平台是Arduino.但是,对于很多无基础的初学者来说,甚至不了解Arduino是什么.因此,博主决定加入一个Arduino学习笔记,方便零基础的初学者.初学者可以从基础去了解Arduino,这样才能设计自己的东西,所以博主建议初学者可以参考<ARDUINO程序设计基础>,<Arduino-语法手册>,请点击 传输门 提取码:0923. 注意: 博主建议边学边练,巩固知识 2.什么是Arduino     A…
我们的开源宗旨:自由 协调 开放 合作 共享 拥抱开源,丰富国内开源生态,开展多人运动,欢迎加入我们哈~ 和一群志同道合的人,做自己所热爱的事! 项目开源地址:https://github.com/J20RC/STM32_RC_Transmitter 码云(Gitee)地址:https://gitee.com/J20RC QQ交流群:1091996634 [密码:J20] 1.遥控器的PPM输出 PPM输出是什么?能做什么? 笔者在这篇文章中详细汇总了PPM协议 https://www.cnbl…
下面我将简单介绍LCD1602模块的使用方法: 1602液晶显示器(1602 Liquid Crystal Display,此后简称1602 LCD)是一种常见的字符液晶显示器,因其能显示16*2个字符而得名.通常我们使用的1602 LCD中集成了字库芯片,通过LiquidCrystal类库提供的API,我们可以很方便的使用1602LCD显示英文字母与一些符号.在使用1602 LCD前,我们需要将其连接到Arduino上. 在套件中我们使用IIC LCD1602模块集成了IIC I/O扩展芯片P…
arduino组件安装驱动不成功,总是提示系统找不到指定文件. 原因是因为精简版缺少了两个关键的系统文件,导致无法安装.mdmcpq.inf  和 usbser.sys 解决方案详见帖子http://www.arduino.cn/thread-2350-1-1.html 主要步骤: 1)在C:\Windows\System32和c:\WINDOWS\SYSTEM32\DRIVERS  里放 usbser.sys2)在C:\Windows\System32\DriverStore\FileRepo…
距离传感器是机器人项目最有用的传感器之一. HC-SR04是一种便宜的超声波距离传感器,可以帮助您的机器人在房间周围导航.通过一些努力和一个额外的组件,它也可以用作测量设备.在这篇文章中,您将学习到通过Arduino使用这个美妙的小设备所需要知道的一切. HC-SR04超声波距离传感器 HC-SR04超声波距离传感器是一种便宜的设备,对于机器人和测试设备项目非常有用.这个微小的传感器能​​够测量自身和最近的固体物体之间的距离,如果您试图避免进入墙壁,这是非常好的信息! HC-SR04可以直接连接…
样品谈到最后一个驱动程序LED数码管,采用了最简单的解决方案之一,对于每一个LED高低电平控制,这样的好处是每个LED控制可检.避免短路造成的错觉,因为,但是对于数字的变化是,它是多余的写,因此,这种试图通过一组方法,来实现. //设置阴极接口 int d1 = 1; int d2 = 2; int d3 = 3; int d4 = 4; int d5 = 5; int d6 = 6; int d7 = 7; //设置阳极接口 int a = 8; int b = 9; int c = 10;…
在电子产品设计中,经常会用到旋转编码开关,比如数码电位器等,它的英文名翻译过来就是Rotary Encoder Switch.常见的有5pin和3pin产品.5pin实在左右旋转的基础上增加了向下按得功能.以EC11为例,常用语仪器仪表面板,音响面板等.其pin脚用途如下: 1,3pin输出编码信号,一般需要外接上拉电阻. 2pin公共端,接地 4,5pin是下按键的接线端考虑到通用性,所以下面的代码只实现旋转编码部分,按键部分忽略.下图是1,3pin旋转时输出波形图,可以看到A,B信号相位相差…
判断是否需要旋转 /**             *iphone判断图片方向,是否需要旋转图片             */            if(strpos($_SERVER['HTTP_USER_AGENT'], 'iPhone')&&in_array($ext, array('jpg','png','gif','jpeg','jepg'))){                $exif =exif_read_data($tmp);                switch…
//本教程针对UNO 1.在file->preferences中找到preferences.txt文件 2:用记事本打开preferences.txt,选择hex文件存放的路径,在最后行加入 build.path=D:\Arduino\Hex (换成你想要的目录) 3.安装Arduino 1.5.8 4.下载pscp.exe,plink.exe 5.复制如下代码到update.bat,按照本例就是D:\Arduino\update.bat 注意点:(1)hexSwapFile所保存的那个文件夹要…
imageView2 = (ImageView) findViewById(R.id.img2); Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher); //创建一个与bitmap一样大小的bitmap2 Bitmap bitmap2 = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), bitmap.getCo…
如果要对自定义的视图在屏幕旋转时重新布局,则在自定义视图中定义以下触发方法: -(void)layoutSubviews { [super layoutSubviews]; //1.获取到屏幕旋转的方向 UIInterfaceOrientation orientation = [UIApplication sharedApplication].statusBarOrientation; //2.根据屏幕旋转方向布局子视图 switch (orientation) { //竖直方向 case UI…
..\..\SYSTEM\usart\usart.c(1): error:  #5: cannot open source input file "sys.h": No such file or directory #include "..\sys\sys.h"这样就能够找到路径了 再次编译出现了问题 ..\..\SYSTEM\usart\..\sys\sys.h(3): error:  #5: cannot open source input file "…
1.旋转矩阵 注:旋转矩阵标题下涉及到的SLAM均不包含位移. 根据同一点P在不同坐标系下e(e1,e2,e3)e'(e1',e2',e3')的坐标a(a1,a2,a3)a'(a1',a2',a3')有如下等式成立:   即a = eTe'a‘,其中eTe'设为R为旋转矩阵,即a = Ra‘,由此便得到P在e'坐标系下到e坐标系下的坐标变换. 在SLAM中一般a'为相机坐标系下坐标Pc,a为世界坐标系下坐标Pw.则有Pw = RPc 其中R = eTe'  →  eR = e' 如果把R分成三个…
源视频包下载地址:链接:http://pan.baidu.com/s/1mhENI9i密码:mf1x 银杏科技优酷视频发布区:http://i.youku.com/gingko8…
Rotate List  Given a list, rotate the list to the right by k places, where k is non-negative. For example: Given 1->2->3->4->5->NULL and k = 2, return 4->5->1->2->3->NULL. 思路:题目非常清晰.思路是先得到链表长度.再从头開始直到特定点,開始变换连接就可以. 代码例如以下: /*…
用了一段时间Arduino IDE,感觉比较简陋~~很多功能都没有~虽然不影响使用啦~(主要是启动速度有点慢...我的破笔记本….), 网上搜寻了下,发现sublime text有插件可以替代,这就比较爽了,嘿嘿. 闲话少叙,我直接上安装使用方法. 此处是WIN下的安装方法,ubuntu下方法基本一致,改天再贴. 准备:Arduino IDE Sublime text(2或3都可以) 安装方法:先贴出插件的网址: https://github.com/Robot-Will/Stino 网页的下部…
37款传感器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器,依照实践(动手试试)出真知的理念,以学习和交流为目的,这里准备逐一做做实验,不管能否成功,都会记录下来---小小的进步或是搞不掂的问题,希望能够抛砖引玉.  [Arduino]108种传感器模块系列实验(资料+代码+图形+仿真) 实验之七:旋转电位器模块 电位器实际上就是可变电阻器,由于它在电路中的作用是获得与输入电压(外加电压)成一定关系得输出电压,因此称之为电位器.通…
原文:http://www.arduino.cn/thread-2421-1-1.html 1.什么是中断? 试想一下,你正在家里吃饭,这时传来了敲门声,虽然你巨饿,虽然面前全是山珍海味,但此时你不得不去开门,同时不得不放停下生命中最重要的事情——吃饭. 打开门后,你发现只是一个查水表的,你检查了水表读数并告诉了查水表的人.关上门,你马不停蹄的又投入了于食物的作战中. 我们来分析一下这个颇具传奇性的故事,在这里人生的主旋律——吃饭,就是你的主程序,而敲门声,就是一个中断信号,它让你不得不去执行你…
Arduino 的程序可以划分为三个主要部分:结构.变量(变量与常量).函数. 结构部分 一.结构 1.1 setup() 1.2 loop() 二.结构控制 2.1 if 2.2 if...else 2.3 for 2.4 switch case 2.5 while 2.6 do... while 2.7 break 2.8 continue 2.9 return 2.10 goto 三.扩展语法 3.1 ;(分号) 3.2 {}(花括号) 3.3 //(单行注释) 3.4 /* */(多行注…
实验名称:Arduino智能小车组装和综合测试 实验小组成员:20135223何伟钦 20135234马启扬 20135229吕松鸿 实验日期:2015.10.27—2015.11.3 实验时长:24h-48h 一.实验前的学习准备 第一步:将光盘资料全部复制到您的电脑保存好(此步骤有利于各类驱动文件的安装和软件的运行). 第二步:新手操作学习板之前一定要先认真看光盘的<2.开发环境>,其中包括驱动和开发软件的安装. 第三步:认真按照视频教程连接小车底板和接线,装好驱动程序和各类随机必备的软件…
设置中断函数   attachInterrupt() attachInterrupt(interrupt, function, mode) 描述: 当发生外部中断时,调用一个指定函数.当中断发生时,该函数会取代正在执行的程序.大多数的Arduino板有两个外部中断:0(数字引脚2)和1(数字引脚3). arduino Mege有四个外部中断:数字2(引脚21),3(20针),4(引脚19),5(引脚18). 参数: interrupt:中断引脚数 function:中断发生时调用的函数,此函数必…