本文主要是介绍拆弹专家【爆改车间主任】学习笔记(2)小结,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
小结
摇杆模块
摇杆
用的是两轴五针摇杆
pcf8591转换ad接口
备注: 接线用AIN0,AIN1,AIN2
程序
import time
from machine import Pin,I2Ci2c = I2C(scl=Pin(5), sda=Pin(4), freq=100000)
PCF8591 = 0x48
PCF8591_ADC_CH0 = '\x40'
PCF8591_ADC_CH1 = '\x41'
PCF8591_ADC_CH2 = '\x42'
PCF8591_ADC_CH3 = '\x43'
def rocker_x():i2c.writeto(PCF8591, PCF8591_ADC_CH0)data_x = i2c.readfrom(PCF8591, 1)print(data_x)return str(ord(chr(data[0])))
def rocker_y():i2c.writeto(PCF8591, PCF8591_ADC_CH1)data_y = i2c.readfrom(PCF8591, 1)print(data_y)return str(ord(chr(data[0])))
def rocker_sw():i2c.writeto(PCF8591, PCF8591_ADC_CH0)data_sw = i2c.readfrom(PCF8591, 2)print(data_sw)return str(ord(chr(data[0])))
程序原理
因为摇杆是ad信号而esp8266只有d0一路ad接口然后pcf8591把这些改成不同地址的i2c信号来输出
ad信号原理:
给摇杆电压比如向上电压变高向下变低由此来检测大小
显示模块
oled
用四针的要vcc接3.3v
程序
from machine import Pin, I2C
import ssd1306i2c = I2C(scl=Pin(15), sda=Pin(3), freq=100000)
display = ssd1306.SSD1306_I2C(128, 64, i2c)
def open():display.fill(1)
def off():display.fill(0)
def oled_txt(data_txt):display.fill(0)display.fill(1)display.text(data_txt,0,0,1)display.show()
气泵模块
继电器
继电器要用5v供电就是Vin气泵接常开
电池盒
用的是18650串联的电池盒提供7v电压用来驱动气泵因为esp8266承受不住超过5v的电压所以要用继电器
程序
import time
from machine import Pin# 就是用引脚十来控制开关
d2 = Pin(1,Pin.OUT)
def air_pump_on():d2.on()
def air_pump_off():d2.off()
这篇关于拆弹专家【爆改车间主任】学习笔记(2)小结的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!