当前位置: 首页 > wzjs >正文

找别人做公司网站第一步做什么免费网站推广软件

找别人做公司网站第一步做什么,免费网站推广软件,新品手机上市,专业网站设计开发公司鼠标坏掉了,大抵是修不好了。(全剧终—) 但是爱动手的小明不会浪费这个鼠标,确认外观没有明显烧毁痕迹后,尝试从电路板上利用光电传感器进行位移的测量,光电传感器(型号:FCT3065&am…

鼠标坏掉了,大抵是修不好了。(全剧终—)

但是爱动手的小明不会浪费这个鼠标,确认外观没有明显烧毁痕迹后,尝试从电路板上利用光电传感器进行位移的测量,光电传感器(型号:FCT3065)找不到datasheet,但查到内核仿的是PAW3205, 因此只需要参考后者的datasheet即可。

通过电路板的led找到LED引脚,确定引脚信息,开始操作

首先去掉鼠标主控芯片,然后飞线将vdd连接到电源正极,注意供电不能高于3.6v,再焊接4根杜邦线,引出SDIO、SCLK、电源正负极即可,盖上盖子,测试!

/*Program to interface FCT3065-XY Optical MouseSensor with Arduino.This code detects when mouse is moved and alsoprints the change in x direction and change in ydirection in the serial monitor.Author: Vineet SukhthankerDate: 6 October 2020*///Register Addresses from datasheet
#define PROD_ID1 0x00
#define PROD_ID2 0x01
#define MOTION_STATUS 0X02
#define DEL_X 0x03
#define DEL_Y 0x04
#define OP_MODE 0x05
#define CONF 0x06
#define IMG_QUALITY 0x07
#define OP_STATE 0x08
#define W_PROTECT 0x09
#define SLEEP1_SET 0x0A
#define ENTER_TIME 0x0B
#define SLEEP2_SET 0x0C
#define IMG_THRESHOLD 0x0D
#define IMG_RECOG 0x0Econst int SCLK = 13;
const int SDIO = 12;byte noSleep = 0xA0;int i = 0;
void setup() {Serial.begin(115200);pinMode (SCLK, OUTPUT);mouseInit();byte prodId1 = readRegister(PROD_ID1);Serial.print((prodId1 == 0x31) ? "\nDevice OK" : "\nUnknown Device"); // checks for product IDSerial.print(prodId1);
}void loop() {int motion = readRegister(MOTION_STATUS); // read motion status register// if(motion==0x81){Serial.print("\nMoved!");Serial.print(motion);int8_t delta_x = readRegister(DEL_X); // read delta x registerint8_t delta_y = readRegister(DEL_Y); // read delta y registerSerial.print("\nX:");Serial.print(delta_x);Serial.print(" Y:");Serial.print(delta_y);//}delay(1000);
}void mouseInit(void) // function to initialize optical sensor.
{digitalWrite(SCLK, HIGH);digitalWrite(SCLK, LOW);delayMicroseconds(1); // tRESYNC = 1us (mentioned in datasheet)digitalWrite(SCLK, HIGH);delay(320); // tSIWTT = 320ms (mentioned in datasheet)digitalWrite(SCLK, LOW);writeRegister(OP_MODE, noSleep); // disable sleep mode
}byte readRegister(byte address) {pinMode (SDIO, OUTPUT);for (byte i = 128; i > 0 ; i >>= 1) {digitalWrite (SCLK, LOW);digitalWrite (SDIO, (address & i) != 0 ? HIGH : LOW);digitalWrite (SCLK, HIGH);}pinMode (SDIO, INPUT);delayMicroseconds(3); // tHOLD = 3us (mentioned in datasheet)byte res = 0;for (byte i = 128; i > 0 ; i >>= 1) {digitalWrite (SCLK, LOW);digitalWrite (SCLK, HIGH);if ( digitalRead (SDIO) == HIGH )res |= i;}delayMicroseconds(3); // tHOLD = 3us min. (mentioned in datasheet)return res;
}void writeRegister(byte address, byte data) {address |= 0x80; // MSB indicates write mode.pinMode (SDIO, OUTPUT);for (byte i = 128; i > 0 ; i >>= 1) {digitalWrite (SCLK, LOW);digitalWrite (SDIO, (address & i) != 0 ? HIGH : LOW);digitalWrite (SCLK, HIGH);}for (byte i = 128; i > 0 ; i >>= 1) {digitalWrite (SCLK, LOW);digitalWrite (SDIO, (data & i) != 0 ? HIGH : LOW);digitalWrite (SCLK, HIGH);}delayMicroseconds(100);
}

效果如图,x和y坐标分别向下向右为正,寄存器补码形式存储8位位移量

大合照(或许旋转编码器还再可以玩一玩)

参考

如何优雅的DIY鼠标?

FCT3065-XY_MouseSensor。

http://www.dtcms.com/wzjs/368211.html

相关文章:

  • 中国门户网站建设重要性怎么样创建网站
  • 滨湖网站建设电脑上突然出现windows优化大师
  • app的技术框架有哪些成都关键词seo推广电话
  • 合肥网络推广策划方案站长工具seo综合查询权重
  • 新手如何做企业网站seo网络营销公司
  • 网站建设算什么资产网络营销毕业论文范文
  • 临沂网站优化如何软文代写平台有哪些
  • 电子商务网站建设需求分析报告seo需要会什么
  • 织梦网站后台地址怎么简单制作一个网页
  • 百度网站地图代码竞价托管外包公司
  • 中国建设工程造价管理系统网站谷歌seo一个月费用需要2万吗
  • 在家做网站编辑成都网站seo收费标准
  • 做网站平面模板是啥意思谷歌推广公司哪家好
  • 网站悬浮代码如何优化网络
  • 集团企业网站设计方案营业推广怎么写
  • 陕西做教学成果网站的公司关键词什么意思
  • 郑州做网站哪家好熊掌号网络营销外包网络推广
  • 自建站推广河南平价的seo整站优化定制
  • 郑州的做网站公司百度定位店铺位置怎么设置
  • 湖南餐饮网站建设济南百度竞价开户
  • 如何做网站流量统计合肥网站推广
  • 手表哪个网站做的好sem竞价账户托管
  • 宁波百度seo代理seo外包服务方案
  • 做房地产公司网站的费用百度售后电话人工服务
  • wordpress视频发布站主题郑州发布最新通告
  • 阿里云主机怎么做两个网站吗东莞seo软件
  • 网络seo是什么优化关键词排名seo
  • 淄博做网站班级优化大师免费下载app
  • 在北京做家教的网站长春建站服务
  • 网站分析怎么写谷歌推广平台