关于sharp的memory lcd
工作协议 programming_memory_lcd_app_note.pdf
https://hackaday.io/project/12974-wireless-remote-lcd 里面有接线方式,还有lua的代码实例
http://www.espruino.com/MemoryLCD 引脚之类
http://m.xuite.net/blog/tzeng015/twblog/113272083 spi总线
You must use include spi.h, for SS, so certain pins are fixed: SPI CLK = GPIO14 SPI MOSI = GPIO13 SPI MISO = GPIO12 All other pins can be assigned to any available GPIO: CS RST
类似手表的一个实例 https://hackaday.io/project/4706-uv-badge uv是紫外线 代码https://github.com/x-labz/UV-badge
一些手册之类
wifi.setmode(wifi.STATION) wifi.sta.autoconnect(1) print(wifi.sta.getip())
研究esp8266的一些博客 http://blog.pillakloud.com
关于舵机的一些实操
通常的舵机都是5V或6V供电,但转过的角度是脉宽来控制的。周期20ms,脉宽0.5-2.5ms的方波,对应0~180度。 以mg995为例子,红色接VC,灰色接GND,橙色接esp8266的GPIO。我接了IO1
local pin=1
gpio.mode(pin,gpio.OUTPUT)
pwm.setup(pin,50,34);pwm.start(1);tmr.delay(500000);pwm.stop(1)
pwm.setduty(pin,34);tmr.delay(5000000);pwm.stop(1)
不断找0度和180度(不一定是180度,可能是大于)的占空比,我这个找到的是34和116。我再描述一次,就是当0度时候,占空比应该是34,如果设置比34还小,舵机会出现不断抖动想继续前进的现象。
以找到自己0度和180度时候的占空比为例子,调整(0-180)任意角度的函数
function turn(pin,v1)
local v2 = (70*v1)/180+34
pwm.setduty(pin,v2);tmr.delay(5000000);pwm.stop(1)
end
可以参考的一些文章。 https://www.youtube.com/watch?v=6j_5GmoGlyQ http://blog.pillakloud.com/blog/2016/07/23/maker-將mr996r改為不限角度/
python里面找占空比是这样来找的。
servo = PWM(Pin(17), freq=50,duty=34)
servo.duty(变量)
不断尝试找到0和180度合适的值。
from machine import PWM,Pin
class Servo:
def __init__(self, pin, freq=50, min_duty=38, max_duty=118, angle=180):
self.min_duty = min_duty
self.max_duty = max_duty
self.freq = freq
self.angle = angle
self.pwm = PWM(pin, freq=freq, duty=self.min_duty)
def numberMap(self,inputNum, bMin, bMax, cMin, cMax):
outputNum = 0
outputNum = int(((cMax - cMin) / (bMax - bMin)) * (inputNum - bMin)) + cMin
return outputNum
def write_angle(self, degrees=None):
duty = self.numberMap(degrees,0,self.angle,self.min_duty,self.max_duty)
self.pwm.duty(duty)
关于pwm的一些有趣实验。
pwm就是怕玩命。/xiaoku 频率是f,t是周期,单位秒s,f=1/t. pwm就是制造一定频率的波,还有就是可以控制波峰和波底多长时间。因为计算机不是1就是0,所以占空比就是控制1和0各多长时间。参考下图.
用蜂鸣器产生«就算没有如果»这个歌。