"开关抖动": 由于按键是基于弹簧-阻尼系统的机械部件,所以当按下一个按键时,读到的信号并不是从低到高,而是在高低电平之间跳动几毫秒之后才最终稳定. 代码解读: 1 const int LED = 9; 2 const int BUTTON = 2; 3 boolean lastButton = LOW; 4 boolean currentButton = HIGH; 5 boolean ledOn = false; 6 7 // The setup() function runs o…
机器学习实战(Machine Learning in Action)学习笔记————04.朴素贝叶斯分类(bayes) 关键字:朴素贝叶斯.python.源码解析作者:米仓山下时间:2018-10-25机器学习实战(Machine Learning in Action,@author: Peter Harrington)源码下载地址:https://www.manning.com/books/machine-learning-in-actiongit@github.com:pbharrin/ma…
1.前言     近段时间,博主陆续更新了ESP8266学习笔记,主要开发平台是Arduino.但是,对于很多无基础的初学者来说,甚至不了解Arduino是什么.因此,博主决定加入一个Arduino学习笔记,方便零基础的初学者.初学者可以从基础去了解Arduino,这样才能设计自己的东西,所以博主建议初学者可以参考<ARDUINO程序设计基础>,<Arduino-语法手册>,请点击 传输门 提取码:0923. 注意: 博主建议边学边练,巩固知识 2.什么是Arduino     A…
SaToken学习笔记-04 如果有问题,请点击:传送门 角色认证 在sa-token中,角色和权限可以独立验证 // 当前账号是否含有指定角色标识, 返回true或false StpUtil.hasRole("super-admin"); // 当前账号是否含有指定角色标识, 如果验证未通过,则抛出异常: NotRoleException StpUtil.checkRole("super-admin"); // 当前账号是否含有指定角色标识 [指定多个,必须全部验…
Redis:学习笔记-04 该部分内容,参考了 bilibili 上讲解 Redis 中,观看数最多的课程 Redis最新超详细版教程通俗易懂,来自 UP主 遇见狂神说 10. Redis主从复制 10.1 概念 主从复制,是指将一台Redis服务器的数据,复制到其他的Redis服务器.前者称为主节点(master/leader),后者称为从节点(slave/follower): 数据的复制是单向的,只能由主节点到从节点: Master以写为主,Slave 以读为主: 默认情况下,每台Redis…
基本功能: 长按控制按钮开机,长按控制按钮关机(>3s) 通过三个调节按钮调节灯的颜色,每一个按钮分别对应R,G,B值 模式切换:短按控制按钮切换模式(长亮模式/闪烁模式) 元器件清单: Arduino Uno R3 小号面包板 跳线 10kΩ 电阻(×4) 220Ω 电阻(×3) USB电缆 按键 (×4) 5mm 共阴极 RGB LED 知识回顾:(参考书目<Arduino魔法书>) 1. 脉冲宽度调制(P25 - P27) PWM的输出可以写入数值的范围:0~255 PWM的工作原…
今天继续xml学习,主要是:SimpleXML快速解析文档.xml与数组相互转换 .博客中只是简单的做一个学习记录.积累.更加详细的使用方法,可以查看php手册 1.SimpleXML快速解析文档 前面的三篇博客中提到的主要是DOM解析XML文档,我们在使用的过程中可以明显的感觉到DOM解析虽然很强大,但是步骤繁琐.下面我们说一种相对简单的XML解析, SimpleXML解析xml文件非常简单,因为它一次性把xml文件解析成一个对象 还是和以前一样,程序中的代码注释进行了详细的说明 <?php…
1 使用普通摄像头进行深度估计 1.1 深度估计原理 这里会用到几何学中的极几何(Epipolar Geometry),它属于立体视觉(stereo vision)几何学,立体视觉是计算机视觉的一个分支,它从同一物体的两张不同图像提取三维信息. 极几何的工作原理: 它跟踪从摄像头到图像上每个物体的虚线,然后再第二张图像做同样的操作,并根据同一物体对应的线的交叉来计算距离. 在使用 OpenCV 如何使用极几何来计算所谓的视差图,它是如图像中检测到不同深度的基本表示,这样就能够提取出一张图片的前景…
变量声明: Go语言的程序实体包含:变量.常量.函数.结构体和接口,是一门静态类型的编程语言. (在声明变量或常量的时候,需要指定类型,或者给予足够信息是的Go语言能够推导出类型) Go语言变量的类型可以是预定义的类型,也可以是程序自定义的函数.结构体或接口. Go语言常量的类型,只能是Go语言预定义的基本类型. 面试题:变量声明赋值有几种方式? 1. 用关键字 var var num int 2. 短变量定义 :=基于第一种方式的代码,赋值符号=右边的代码不动,左边只留下num,再把=变成:=…
本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱好者,互联网技术发烧友 微博:伊直都在0221 QQ:951226918 ---------------------------------…
我自己接触Linux主要是大学学习的Turbolinux --> 根据<鸟哥的Linux私房菜:基础篇>(第三版) --> 马哥的就业班课程.给我的感觉是这些课程对于bash的讲解,理论上是不够的,但是限于时间.篇幅和精力,确实无法讲解的足够深入.在接触了骏马金龙的博客以及bash官方站点后,就会理解骏马兄说的“平常我们学的只是bash的形,而不是bash的神”.最近在写这个系列的学习笔记,经常查阅bash官方手册,真的是有种醍醐灌顶的感觉,但是限于能力和进度问题,有些问题暂且无法…
阅读本文大概需要 8 分钟 插件听上去很高大上,实际上就是一个个动态库,动态库在不同平台下后缀名不一样,比如在 Windows下以.dll结尾,Linux 下以.so结尾 开发插件其实就是开发一个动态库,该动态库能够很好的加载进主程序.访问主程序资源.和主程序之间进行通信 本篇文章一起学习下 Qt Creator当中是如何实现插件的开发.加载.解析.管理以及互相通信的,方便我们开发自定义插件打下基础 简介 Qt Creator 插件理解起来其实很简单,定义一个接口类作为基类,其他插件需要继承该类…
1.前言     我们讲了数字IO口介绍以及做了流水灯演示(主要用到IO口的输出功能),这节课我们讲解一下IO口的输入功能,说到输入功能,最经典的例子莫过于按键实验.废话少说,赶紧上车. 2.实验材料 按键模块 LED模块(这里属于共阳极LED模块) Mega2560板子 注意:这课实验是基于第三课实验材料进行的. 3.实验内容 3.1 按键实验1 实验内容: 当按住按键时点亮LED,当放开按键后熄灭LED: 实验代码: /** * @Desc 按键灯(当按住按键时点亮LED,当放开按键后熄灭L…
1.前言     还记得前几个我们都是在讲解数字IO,而其实我们生活中大多数信号都是模拟信号,如声音以及温度变化.在Arduino中,常用0~5v的电压来表示模拟信号. 1.1 模拟输入功能     在Arduino,编号前带有"A"的引脚是模拟输入引脚,Arduino可以读取这些引脚上输入的模拟值,也就是可以读取引脚上输入的电压大小.     模拟输入引脚带有ADC功能(ADC:Analog-to-Digital Converter 模数转换).它可以将外部输入的模拟信号转换为芯片运…
看了开源社区的LED控制程序,开始上手代码编写,修改,下载以及调试,原文地址:http://www.arduino.cn/thread-1072-1-1.html,这个帖子写的比较通俗易懂. 自己移植代码想实现如下功能,当有按键按下时,LED点亮:松开按键,LED熄灭. 完整程序如下: 如上程序,实现过程注意以下两点: ①IDE为1.0.1版本的需要初始化的时候增加IO口输入上拉电阻配置:pinMode(pin,INPUT_PULLUP):针对的情况是,按键按下2脚接地,按键松开2脚悬空的使用条…
<?php // 1.数组的声明,可以直接为数组元素赋值,也可以使用array函数声明数组 /* 索引数组:下标从0开始,依次递增 * 关联数组:字符串为下标 * */ //直接赋值声明数组,不需要先声明,使用ar[]将自动填写最大下标 $array_cont1[0] = 1; $array_cont1[1] = 2; $array_cont1[] = 3; //调试程序时,可以使用print_r()或者var_dump()查看所有的元素 print_r($array_cont1); echo…
1.前言     红外通信是一种利用红外光编码进行数据传输的无线通信方式,在目前来说是使用非常广泛的.生活中常见电视遥控器,空调遥控器,DVD遥控器(现在估计是老古董了),均使用红外线遥控.使用红外线遥控,主要有一体化红外接收头和红外遥控器. 1.1 一体化红外接收头     一体化接收头内部集成了红外接收电路.它可以接收红外信号并还原发射端的波形信号.通常使用的一体化接收头都是38KHz的红外信号. 1.2 红外遥控器     实验中采取以下遥控器     每个按键都有各自的编码,按下按键后,…
授人以鱼不如授人以渔,目的不是为了教会你具体项目开发,而是学会学习的能力.希望大家分享给你周边需要的朋友或者同学,说不定大神成长之路有博哥的奠基石... QQ技术互动交流群:ESP8266&32 物联网开发 群号622368884,不喜勿喷 一.你如果想学基于Arduino的ESP8266开发技术 一.基础篇 ESP8266开发之旅 基础篇① 走进ESP8266的世界 ESP8266开发之旅 基础篇② 如何安装ESP8266的Arduino开发环境 ESP8266开发之旅 基础篇③ ESP826…
图解 函数具体讲解 pinMode(工作接脚,模式) 工作接脚 工作接脚编号(0--13与A0--A5) 模式 工作模式:INPUT或OUTPUT 例子 将8接口设置为输出模式 pinMode(8,OUTPUT); digitalWrite(工作接脚,状态) 工作接脚 工作接脚编号(0--13与A0--A5) 状态 工作状态:HIGH(高电位)或LOW(低电位) 高电位和低电位 高电位=通电=5V 低电位=未通电=0V 例子 在8接口输出5V电流,设置为高电位模式 digitalWrite(8,…
参考链接:https://www.yiboard.com/thread-831-1-1.html Arduino Uno R3 - 引脚图 Arduino Uno R3 - 详细参数 Arduino Uno R3 - 存储 Arduino的存储空间即是其主控芯片所集成的存储空间.也可以通过使用外设芯片的方式来扩展Arduino的存储空间. Arduino UNO的存储空间分三种: Flash,容量为32 KB.其中0. 5 KB作为BOOT区用于储存引导程序,实现通过串口下载程序的功能:另外的3…
为什么要用上拉电阻和下拉电阻?--避免输入引脚处于"悬空"状态 下图是一个没有使用上拉电阻/下拉电阻的电路图: 在按键没有按下时,要读取的输入引脚没有连接到任何东西,这种状态就称为"悬空". 由于附近引脚的电气噪声,从处于"悬空"状态的输入引脚读取到的数值会在高电平和低电平之间来回波动,得到一个不确定的值. 如果用串口监视器将 在没有使用上拉/下拉电阻的情况下 从一个数字引脚读取的输入打印出来,会得到图示的结果: 可以看到此时读取到的输入并不是一…
前言 昨天,我们跟着这位大哥的博客(https://github.com/nswbmw/N-blog/wiki/_pages)进行了nodeJS初步的学习,最后也能将数据插入数据库了 但是一味的跟着别人博客写代码肯定不行,所以我们今天就来做一个简单的新闻发布系统,系统第一阶段不需要太难,主要有以下功能 ① 新闻类型管理 ② 新闻管理(具有图片上传功能) ③ 新闻浏览 功能虽然不多,但是也涵盖很多基本操作了,程序不过增删查改嘛,外加上传附件,够了.于是开始我们今天的学习吧 准备工作 根据昨天的折腾…
一.主从构造器 java中构造函数没有主.从之分,只有构造器重载,但在scala中,每个类都有一个主构造器,在定义class时,如果啥也没写,默认有一个xxx()的主构造器 class Person { var name: String = _ /** * 从构造器 * @param name */ def this(name: String) = { this //注意:从构造器,必须先调用主构造器 this.name = name; } override def toString = { "…
第四章 jQuery中的事件和动画 一.jQuery中的事件 加载DOM 在JS中等待页面加载完成通常使用window.onload方法,而在jQuery中则使用$(document).ready()方法来替代传统的window.onload方法.这两者有很大的不同: 执行时机 window.onload方法是在网页所有的元素(包括元素关联的文件)完全加载到浏览器后才能执行.而Query中的$(document).ready()方法,在DOM载入就绪就可以对其操纵并调用它绑定的函数,此时网页中的…
功能如题目. 在串口收到逗号分割的6串数字比如 100,200,45,4,87,99 然后在6个PWM端口3, 5, 6, 9, 10, 11输出对应PWM值 代码注释很详细了,就不再说明了. ARDUINO 代码复制打印   //定义一个comdata字符串变量,赋初值为空值 String comdata = ""; //numdata是分拆之后的数字数组 int numdata[6] = {0}, PWMPin[6] = {3, 5, 6, 9, 10, 11}, mark = 0…
概述 消息选择器使用类似于SQL语法,为Consumer指定基于Message属性的筛选条件. 消息选择器 发送的时候,给消息添加一些属性:在接收的时候,根据属性进行过滤. API javax.jms.Message提供了一系列的方法,用于设置属性: setIntProperty(String name, int value):void设置int类型的属性 setStringProperty(String name, String value):void设置字符串类型的属性 setObjectP…
主要内容:(一). Arduino IDE的下载及安装 (二). Arduino IDE的应用 (三). Arduino的程序结构 (四). Arduino程序的编译及下载 (一). Arduino IDE的下载及安装 (1). Arduino IDE的下载:到https://www.arduino.cc/en/Main/Software 根据自己的情况,下载对应的版本,如果是windwos就下载windows版本的,苹果就下载Mac版本的,linux的就根据32位或64位选择对应的,如果是树莓…
Arduino的入门文档https://wenku.baidu.com/view/4040861d58fafab069dc02d4.html?from=search,共61页的文档,看完就差不多可以入门了.…
1.前言     EEPROM,叫做电可擦可编程可读寄存器(是不是觉得好官方,不知道是什么鬼?反正我也一脸懵逼),只需要知道这是一种断电后数据不会丢失的存储设备,可以用来应对需要做记录做保存的场合.简而言之,若想断电后Arduino仍然记住数据,就可以使用EEPROM.至于板子是否支持EEPROM,可以自主去查看板子的简洁.常见Arduino的EEPROM如下:     Arduino EEPROM类库中,EEPROM的地址被设定从0开始,每个地址可以存储1B数据.所以当数据大于1B时,需要逐个…
1.前言     Ardunio与计算机通信最常用的方式就是串口通信.在Arduino控制器上,串口都是位于Rx和Tx两个引脚,Arduino的USB口通过一个转换芯片与这两个串口引脚连接.该转换芯片会通过USB接口在计算机上虚拟出一个用于Arduino通信的串口.当你使用串口功能的时候,就意味着你不能引用串口引脚作为输入或者输出.     要想使串口与计算机通信,首先需要先启用串口功能,初始化Arduino的串口通信功能,也就是: Serial.begin(speed)     其中参数spe…