- 博客(86)
- 资源 (1)
- 收藏
- 关注
原创 microPython学习笔记2-i2c总线、spi总线的控制
一、i2c总线的使用1、基本功能2、驱动ssd1306屏幕(12864)import machinei2c = machine.I2C(scl = machine.Pin(21), sda = machine.Pin(22), freq = 100000)print(i2c.scan())
2021-11-01 11:27:40
562
原创 microPython学习笔记1-引脚、时间、串口的基本操作
一、PIN的基本操作对于引脚的操作,最基本的有:1、输出高低电平2、输入高低电平,上下拉电阻3、输入模拟电压blink例程:import timefrom machine import Pinled = Pin(2, Pin.OUT) # create LED object from pin2,Set Pin2 to outputwhile True: led.value(1) # Set led turn on time.sleep(0.5) led.val
2021-10-29 14:43:54
2206
原创 用vscode编辑microPython
在网上找vscode的插件时,找到了3个相关的插件教程:1、microPython ide 一切安装顺利,定义了com14口,确总是说打开失败。2、Pymakr,一切安装顺利,在配置文件里定义好com14,但是总是去访问com9,然后提示失败,没办法去链接com14.3、RT-Thread MicroPython,在来来回回折腾前面两个插件后,已经有点要放弃了,结果发现了这个插件,他的自我介绍是“VSCode 最好用的 MicroPython 插件”,安装以后非常好用,顺利打开com14。而且,自带了
2021-10-28 16:32:09
2116
原创 esp8266烧录microPython
1、先去mpy官网去下载最新的固件,按照flash的大小共有三种选择,我的esp8266是4MB的flash,所以选2MB或更大的这个选项。2、下载flash_download_tools,加载第一步下载好的固件,写入地址是0x0000,再写入之前,先把flash擦除一次。3、下载MicroPython File Uploader,运行程序后,打开端口,按下rst键,可以在提示窗中看到mpy的信息了。?MicroPython v1.17 on 2021-09-02; ESP module with
2021-10-28 14:03:45
584
原创 dfplayer mini 播放模块校验码的计算
产品说明如下:链接根据官方说明,可以用串口发送命令来控制模块的工作,串口指令需要两位的校验码,琢磨好久,都算不对,后来发现是文档标识错误。按图片所写,即可算出校验码。
2021-09-09 10:05:49
961
5
原创 arduino中time.h的使用方法
变量类型首先,在TimeLib.h中,定义了typedef unsigned long time_t;time_t 的取值范围0~4294967295。主要函数int hour(); // the hour now int hour(time_t t); // the hour for the given timeint hourFormat12(); // the hour now in 12 hour formatint .
2021-09-06 16:17:41
6874
原创 使用esp8266的webserver,网页控制ws2812的颜色变化、呼吸效果
手机效果#include <ESP8266WiFi.h>#include <ESP8266WebServer.h>#include <Adafruit_NeoPixel.h>#define PIN 4 //ws2812的控制脚#define NUMPIXELS 7 //ws2812的灯珠数量,后面要通过循环遍历#define ssid "ESP8266"//名称#define pssd "123456789"//密码#defin
2021-03-23 16:15:26
1792
6
原创 用电容或者rs触发器实现硬件消抖,单片机不再使用软件消抖
大多数单片机程序里,都是使用软件消抖,也就是先触发一次,然后延时5ms再检验一次。软件消抖的好处是使硬件变得简单化,当然也有坏处,就是使检验组合按键变得复杂,程序延时也积累的更多。搜罗了网上的资料,并且经过实际电路验证,有以下两种方法实现硬件消抖。1、使用电容。电路图如下:共使用两个电阻和一个电容,相当于用电容实现硬件的延时,使得检验更准确。2、rs触发器我使用74ls279n做试验,电路图如下:rs触发器是使用逻辑电路,不怕任何的按键抖动,而且没有使用电容,所以可以看做没有延迟。但是相对于
2021-02-22 13:53:58
5071
3
转载 芯片常见的三种封装形式
DIP-双列直插(后面的数字表示管脚数)双列直插式封装。插装型封装之一,引脚从封装两侧引出,封装材料有塑料和陶瓷两种。DIP是最普及的插装型封装,应用范围包括标准逻辑IC,存贮器LSI,微机电路等。引脚中心距2.54mm,引脚数从6到64。封装宽度通常为15.2mm。有的把宽度为7.52mm和10.16mm的封装分别称为skinnyDIP和slimDIP(窄体型DIP)。但多数情况下并不加区分,只简单地统称为DIPSOP-双列表贴(后面的数字是管脚数)是表贴集成电路封装的一种,它比同类的DIP封装的
2021-02-04 15:56:23
8373
原创 旋转编码器不使用中断实现加减
旋转编码器外观上看起来很像电位器,在一些数码设备上经常遇到,比如汽车音响的旋钮。它的功能相当于三个按键,加、减、按压,按压和普通微动开关没区别,加和减相当于两个微动开关,优于微动开关的是,你可以迅速旋转很多角度,相当于连续按压很多次微动开关,效率很高。比如要调节一个参数,范围值是100,如果是用微动开关,需要按100次,当然也可以设置成长按开关快速变化,但是也比较麻烦。用旋钮就可以快速调整参数变化了。常用的旋转编码器ec11如下:这种编码器一共有五个针脚,两个是按压的微动开关使用,和其他功能毫无关系。剩
2021-01-21 20:06:13
2119
原创 佳博80系列小票打印机 gp 80180安装驱动,显示打印错误
找了好几遍驱动,最后发现是端口选错了,端口的种类是com、lpt、usb,分别对应的是串口,并口,usb设备,我这台是usb设备,所以在虚拟端口这里,要选中usb。
2020-12-17 09:15:01
4082
2
原创 arduino 串口输出16进制数据的方法
折腾了一个上午,终于弄清楚了serial.write 和serial.print的区别,前者是机器之间传输数据使用,后者是给人观看的,所以传输的是字符。unsigned char testcode[236] = {0XFD,0XFD,0X30,0X3,... Serial.write(testcode,236);...
2020-08-09 11:09:10
14822
1
原创 esp32 使用Adafruit_SSD1331.h驱动1331 oled
esp32 使用Adafruit_SSD1331.h驱动1331 oledAdafruit_SSD1331.h、Adafruit_GFX.h源文件里列出了所有的函数,要实现基本的文字显示,需要先定义Adafruit_SSD1331 oled = Adafruit_SSD1331( OLED_pin_cs_ss, OLED_pin_dc_rs, OLED_pin_sda_mosi, OLED_pin_scl_sck, OLED_pin_res_rst );
2020-07-20 10:44:50
1091
原创 arduino 列出sd卡文件名遇到的大坑--中文文件名
sd卡上临时放了一个文件,文件名包含中文,结果用Arduino遍历文件名的时候总是出错,不能完整的列出所有文件,又从SD.h折腾到sdfat.h,还是不行,最终发现卡上不知什么时候放了这么个文件,改名后终于运行正常。这真的是一个大坑,我可以接受乱码,可以接受文件名变短,但是你不能遇到这个文件就终止,导致后面的文件都无法遍历啊!!!核心代码如下:int i=0;while (1) { File logFile = root.openNextFile(); if (!logFile) {
2020-07-11 15:28:27
1596
原创 nodeMCU esp8266连接128*64OLED屏幕
代码很简单,用u8g2自带的例程即可,屏幕是I2C的,选择对应的参数,针脚我定义到了D5和D6。屏幕一共四个端子,其中2个是电源,scl接D5,sda接D6。#include <Arduino.h>#include <U8g2lib.h>#include <Wire.h>U8G2_SSD1306_128X64_NONAME_1_SW_I2C u8g2(U8G2_R0, /* clock=*/ D5, /* data=*/ D6, /* reset=*/ U8
2020-07-04 15:33:21
2190
原创 nodeMCU使用旋转编码器
旋转编码器从外观上来看很接近旋转电位器,但是旋转编码器没有终点,随便转多少圈。我是淘宝上随便买了一个,一共5个端子,其中2个是电源,1个是按压开关,按下的状态为LOW,剩余两个端子是比较时序使用的。网上找来的例程是给arduino uno使用的,移植到nodeMCU上需要略做改动。一、重新定义接入针脚,两个测时序的端子分别接D1和D2,按钮端子接D0二、重新绑定中断attachInterrupt(4, updateEncoder, CHANGE),当电平改变时触发中断三、ICACHE_RAM_AT
2020-07-04 14:52:21
1023
原创 零知开发板连接sd、tf卡模块,针脚定义 spi总线的连接方式
零知开发板的例程也是有点坑,代码里面没有写明接线方式。找到开发板的针脚定义,按如下方式接线:SCK 13MISO 12MOSI 11CS 10上传例程代码,成功。
2020-07-02 16:55:38
1009
1
原创 nodeMcu esp8266连接sd、tf卡模块,修改针脚定义 spi总线的连接方式
esp8266的自带的例程相当的不走心,里面的针脚是这样写的:** MOSI - pin 11** MISO - pin 12** CLK - pin 13** CS - pin 4这个定义是完全照抄arduino,并不适合esp8266。根据针脚定义图可以看到,esp8266的spi总线是D5,D6,D7(针脚对应的右边绿色方框),cs是选取设备的时候通电,所以cs针脚可以随便选择,但是例程里面用的是SD.begin(4),也就是gpio4,对应的是D2,如果不想修改例程,那就把cs线插到D2
2020-07-02 14:49:22
7513
8
原创 nodeMcu esp8266上手初体验,搭建arduino环境,烧录闪灯程序
搭建arduino环境,烧录闪灯程序说起来也是很简单,但是前前后后折腾了好几个小时,主要还是因为网络不给力。1、打开arduino ide2、首选项–附加开发板管理器网址,粘贴http://arduino.esp8266.com/stable/package_esp8266com_index.json3、工具–开发板–开发板管理4、找到esp8266,选择最高的版本,开始自动下载5、由于vpn不太给力,这段下载来来回回折腾很久很久。6、自动更新完毕后,插入开发板,选中端口,再问问卖家应该选哪个规
2020-06-29 10:24:42
1117
原创 Arduino 制作gps轨迹记录仪 最详细的制作过程、代码
现售的专业记录轨迹的设备有很多,从几百元到几千元不等,智能手机也可以记录轨迹,自己做轨迹记录仪的好处在哪里呢?1、智能手机的待机时间是痛点,如果设置不当,自动管理后台应用的程序会让地图软件休眠,导致熄屏的时候没有记录数据。自制设备开机即记录。2、现售的设备存储空间不是很理想,且操作需要主机菜单点击,存储路点不方便。自制设备一键记录路点。3、买来的东西没有自己做的东西好玩。设想的功能:1、没有屏幕,不显示时间等信息,调试的时候可以使用屏幕,最后成品打包的时候,拿掉屏幕。2、tf卡读卡器,取数据的时
2020-06-20 11:55:38
4573
3
原创 给孩子的html-js编程课 第五课时:最基本的页面交互-js控制dom 附习题
交互:用户输入–网页对其响应,比如改变字体大小,改变颜色,弹出对话框。
2020-06-13 16:30:34
251
原创 给孩子的html-js编程课 第四课时:数组 附习题
1、三个变量的排序let a=24,b=30,c=18;//找出最大值if(a<b){ a=b;}if(a<c){ a=c;}console.log("max:"+a);
2020-06-13 14:00:21
298
原创 给孩子的html-js编程课 第三课时:变量的基本操作 附习题
一、数值变量的基本操作1、+ - * / %2、在循环中经常使用的i++相当于i=i+13、i+=5的含义,相似的还有i+=5;i*=5;i-=5;i/=5;4、循环中累计求和let num=0for(let i=0;i<10;i++){ num+=i;}5、循环中累计求积let num=1for(let i=1;i<10;i++){ num*=i;//i不能从0开始循环}...
2020-06-08 14:56:49
248
1
原创 给孩子的html-js编程课 第二课时:变量,if,for,附练习题
一、js的变量js变量有三种类型:1、数值:3434.503e52、字符“abcde”‘this is’3、布尔值布尔值只有ture和false两个值,注意没有引号。let a=5,b=10;let c=a>b; //c=falselet i=1,j=1,k="1";c=i==j //c=true 运算符的优先级c=i==k //c=true 字符和数值没有办法比较相等,js会默认把字符转换成数值,然后比较。二、if的语法if(条件){ 条件为true时执行
2020-05-30 15:30:54
350
原创 给孩子的html-js编程课 第一课时:网页的基本结构,dom、css、js的基本作用。
一、html的基本机构<!DOCTYPE html><html><head> <meta charset="utf-8"> <title></title> <script type="text/javascript"> function testjscode() { alert("Hello world"); }
2020-05-30 13:57:50
230
原创 js的格式化输出
字符串插入变量和表达式。变量名写在 中,{} 中,中,{} 中可以放入 JavaScript 表达式。let name = “Mike”;let age = 27;let info = My Name is ${name},I am ${age+1} years old next year.console.log(info);// My Name is Mike,I am 28 years old next year.字符串中调用函数:function f(){return “have f
2020-05-28 09:01:27
1037
原创 筛选、隐藏百度的部分搜索结果
百度的搜索结果中,有时候会出现讨厌的网站,这个网站名或者网站地址会显示在搜索信息的左下。比如你搜索汽车变速箱故障,结果出现了一堆二手车的网站,搜索试题答案,结果点进去相关的网站,才发现,看答案要注册或者收费,让人很烦躁。使用此脚本需要一点点动手能力,要把自己想屏蔽的网站名或网址加到脚本的数组中,注意字符串数组要在字符外面加英文的引号,多个字符串中间用英文的逗号隔开。// ==UserScrip...
2020-03-31 15:39:36
630
原创 利用js重新排版页面
帮朋友写的重写排版页面有几个地方可以记录下来便于以后复习1、利用document.getElementsByClassName(‘video-img’)[0].childNodes[1].childNodes[0]的方式找到没有id值的节点,并通过setAttribute(“id”, “SubName”)方法加上id,便于后续的操作。2、修改图片的尺寸要先修改所在div的尺寸,再修改图片本身...
2020-03-30 16:00:41
990
原创 以图片形式显示道客巴巴的文档,便于打印。
使用火狐、谷歌、edge等可以使用油猴的浏览器。添加下面的脚本即可。运行脚本后,会在网页左边多出一个按钮,点击按钮即可以图片方式显示该页文档。// ==UserScript==// @name 复制稻壳 - doc88.com// @namespace Violentmonkey Scripts doc88// @match *://www.doc88.co...
2020-03-05 11:33:40
1925
原创 js修改网页中某个类css的style,自定义网页中字体大小
核心编码是下面这句 document.styleSheets[0].cssRules[0].style.fontSize="44px";styleSheets为本网页所加载的所有样式表的集合以百度为例,打开百度任意一个搜索网页,在控制台输入console.log(document.styleSheets)StyleSheetList(10) [ StyleSheet , StyleS...
2020-02-24 14:40:45
1680
原创 树莓派linux查看进程的绝对路径的方法
想要给浏览器设置执行权限,但是要先知道浏览器的位置1、查看进程ps -A -c2、根据进程号找到proc文件夹里exe文件对应的位置sudo ls /proc/进程号 -l3、得到浏览器的绝对路径 /usr/lib/chromium/chromium...
2020-01-09 11:12:17
1332
原创 树莓派初体验,卸载软件、修改权限
家里的小朋友爱上了写作,给她一个什么样的设备可以专心写作呢?ipad和win平板都排除掉了,太容易被平板娱乐的app带偏方向了。于是树莓派就进入了视野,体积小、便宜、权限控制方便。家里刚好有个闲置的显示器,背后固定一套树莓派,再配合一套无线键鼠,一套基本的硬件就搭好了。问题当然也是一大堆,首先,我自己也不会linux。。。用vmware虚拟了一台树莓派,先练练手吧。进入系统之后,看到了不想看到...
2020-01-09 10:12:12
698
转载 vs2019 创建Windows Service服务时 不显示serviceProcessInstaller的解决办法
在用vs2019创建Windows服务时,在service窗体右键点击“添加安装程序”,安装网上的低版本vs操作,应该自动添加serviceInstaller1和 serviceProcessInstaller1两个组件,但是在vs2019里,并没有看到两个组件。解决办法如下: 按照图中的位置,添加using System.ServiceProcess图片来源点击这里...
2019-12-30 16:28:47
1692
原创 用c# webbrowser 编写自动签到
用c# webbrowser 编写自动签到遇到的问题、要点1、阻止页面弹出js错误对话框2、自动填写文本框报错功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FL...
2019-12-21 15:17:31
618
原创 利用js批量翻译单词,有道批量翻译。
有道翻译提供api可以获得单词的翻译结果,但是结果中只包含一个汉语意思,有些词是有多个意思多个词性的,所以想办法获取某个单词的所有翻译。不会写爬虫,所以就用js编程,获取数组中所有单词的翻译结果。使用方法:1、火狐加油猴2、更新wordBank中的词汇3、点击有道页面中的相关按钮4、刷新页面。5、翻译结束后,复制页面中最后面的表格即可。// ==UserScript==// @na...
2019-09-17 20:13:29
1555
原创 利用js提取蛋糕英语的对话字幕
需要使用火狐并安装油猴之类的扩展。蛋糕英语网页中,使用了一些方法,使得用户无法复制英语视频中的字幕,用以下代码可以复制出对话文本。 // ==UserScript== // @name 蛋糕英语自动提取对话 // @namespace cake // @match http://pap.baicizhan.com/* //@r...
2019-09-16 21:32:59
292
原创 24点自动出题,可打印,A4排版
<!DOCTYPE html><html lang="zh-CN"><head> <meta charset="UTF-8"> <title>24点自动出题</title> <style type="text/css"> table { fon...
2019-08-23 10:40:10
29846
1
原创 arduino中String的用法全解
string是c语言中自带的变量类型,等同于char[]。String是需要使用扩展库实现的变量类型,可以相对方便的操作。String stringOne = "Hello String"; // using a constant StringString stringOne = String('a'); //...
2019-06-29 19:32:37
21099
5
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅