micropython驱动步进电机

为了驱动步进电机,找了N多源码,有些太过高深看不懂,所以找了个相对简单的(这里)改了一下,实测能驱动28BYJ-48,采用的ULN2003APG驱动板。

import time
from machine import Pin

speed = 2
STEPER_ROUND=512 #转动一圈(360度)的周期
ANGLE_PER_ROUND=STEPER_ROUND/360 #转动1度的周期
#print('ANGLE_PER_ROUND:',ANGLE_PER_ROUND)
p1 = Pin(16, Pin.OUT, value=0)
p2 = Pin(14, Pin.OUT, value=0)
p3 = Pin(12, Pin.OUT, value=0)
p4 = Pin(13, Pin.OUT, value=0)

def Front():
    global speed
       
    p1.value(1)
    p2.value(1)
    p3.value(0)
    p4.value(0)
    time.sleep_ms(speed)

    p1.value(0)
    p2.value(1)
    p3.value(1)
    p4.value(0)
    time.sleep_ms(speed)

    p1.value(0)
    p2.value(0)
    p3.value(1)
    p4.value(1)
    time.sleep_ms(speed)

    p1.value(1)
    p2.value(0)
    p3.value(0)
    p4.value(1)
    time.sleep_ms(speed)
     
def Back():
    global speed
     
    p1.value(1)
    p2.value(1)
    p3.value(0)
    p4.value(0)
    time.sleep_ms(speed)
     
    p1.value(1)
    p2.value(0)
    p3.value(0)
    p4.value(1)   
    time.sleep_ms(speed)
     
    p1.value(0)
    p2.value(0)
    p3.value(1)
    p4.value(1)
    time.sleep_ms(speed)
 
    p1.value(0)
    p2.value(1)
    p3.value(1)
    p4.value(0)
    time.sleep_ms(speed)
 
 
def Stop():
    p1.value(0)
    p2.value(0)
    p3.value(0)
    p4.value(0)
     
def Run(angle):
    global ANGLE_PER_ROUND
     
    val=ANGLE_PER_ROUND*abs(angle)
    if(angle>0):
        for i in range(0,val):
            Front()
    else:
        for i in range(0,val):
            Back()
    angle = 0
    Stop()
 
def main():
    SteperRun(180)
    SteperRun(-180)

esp-12f刷micropython

最近把吃了一年灰的esp-12f找出来了,以前用esp-01s折腾了一个小东西,esp-12f买来一直都没用,因为家里人经常忘带钥匙,准备折腾一个远程开门的机关,所以翻出来试试。

首先焊板子折腾了两三个小时,先用了一个不经常的烙铁,翻来覆去总要出问题,后来拿出用惯了的烙铁分分钟解决问题。接下来就是刷micropython的固件又反复折腾了半天,在我准备放弃的时候,终于刷成功了。在网上不断的找教程,反正模块是用起来了,就差程序和电路了。顺便试了试MQTT服务器,方便、真方便。

BYE,网易相册

陪伴多年的网易相册也要关闭了,从07年开始,上传的照片并不算多,但是都是挑选过值得珍藏。陆续把照片下载到本地,重温了一下旧日足迹。再见,网易相册!

UG_NX12.0 for Linux 安装

最近折腾了Manjaro,比Ubuntu要好用点,之前好久都没用linux了,偶尔用用电脑都是笔记本+win10,少折腾。双11弄了一套R5 2400G的主机,现在继续折腾linux中。

工作中要用到UG,从网上下到了UG NX12.0 for linux的版本。反复折腾了几天,终于在manjaro上跑起来了。首先是必须要安装ksh,就是AT&T公司的那个,之前不熟悉arch系的linux操作,安装的相近的mksh。结果是没有结果。
安装完成后会提示缺少一些东西,通过软件包管理器都能搜到,安装后就能启动。会提示连接不到许可服务器,启动不了,需要改环境变量,/etc/profile.d/nx_login.cshnx_profile.sh 破解的许可服务用的是27800@pcname。

接下来就是没法输入,猜测是和fcitx冲突,卸载fcitx安装ibus解决问题。最后是界面始终是英文的问题,网上找N多方法都没解决,看ug的安装文档,最后死马当活马,改了$UGII_BASE_DIR/ugii/ugii_env_ug.dat 文件里 UGII_LANG=simpl_chinese。

启动,完美!
截图_2018-12-06_20-48-55.png