loktar

  • 2018-06-01
  • 发表了主题帖: [Micropython][ ESP8266] TPYBoard V202之Network

    实验目的
    学习在PC机系统中网络(network)的使用方法。学习TPYBoard V202连接网络的使用。 2.准备工作
    所需元器件
    TPYBoard V202一块数据线一条电脑 1台(本次实验以win7为例)所需软件
    ESPlorer(3)下载地址
    :http://www.tpyboard.com/download/tool/169.htmlNetwork库的使用方法网络模块用于配置WiFi连接。一共两种模式,模式一,是tpyboardv202当sta节点,即连接路由器的节点。模式二,是tpyboardv202做为ap,充当路由。使用以下命令创建这些对象的实例:(1)当ESP8266连接到路由器时:
    import network wlan = network.WLAN(network.STA_IF)      # 创建一个站(当ESP8266连接到路由器时)接口 wlan.active(True)                          # 激活接口 wlan.scan()                                 # 扫描接入点 wlan.isconnected()                         # 检查站点是否连接到路由器 wlan.connect('essid', 'password')        # 连接到路由器 wlan.config('mac')      # 获取接口的MAC地址 wlan.ifconfig()         # 获取接口的IP / netmask / gw / DNS地址复制代码
    检查是否连接是否建立:wlan.isconnected() 检查接口是否活动:wlan.active() 检查接口的网络设置:wlan.ifconfig() 在这教大家TPYBoard v202上电自动连接本地网络:
    from machine import Pin import network import time def led_state():         p2 = Pin(2, Pin.OUT)         p2.value(0)         time.sleep_ms(500)         p2.value(1)         time.sleep_ms(500)         p2.value(0)         time.sleep_ms(500) p2.value(1)         time.sleep_ms(500) def do_connect():         sta_if = network.WLAN(network.STA_IF)         p2 = Pin(2, Pin.OUT)         sta_if.active(False)         if not sta_if.isconnected():                 p2.low()                 print('connecting to network...')                 sta_if.active(True)                 sta_if.connect('TurnipSmart', 'turnip2016')                 while not sta_if.isconnected():                         pass         if sta_if.isconnected():                 print('connect success')                 led_state()                 print('network config:', sta_if.ifconfig()) do_connect()复制代码
    只需要将上面代码写入boot.py,在开发板上电后,就看到蓝灯常亮(正在连接网络),然后蓝灯交替闪烁两次,控制台打印connect success,证明已经连接到本地网络。 (2)当其他设备连接到ESP8266时:
    import network ap = network.WLAN(network.AP_IF) #创建接入点接口 ap.active(True)         # 激活接口 ap.config(essid='ESP-AP') # 设计接入点的ESSID复制代码
    (3)向指定地址发送数据的方法:
    def http_get(url):         _, _, host, path = url.split('/', 3)         addr = socket.getaddrinfo(host, 80)[0][-1]         s = socket.socket()         s.connect(addr)         s.send(bytes('GET /%s HTTP/1.0\r\nHost: %s\r\n\r\n' % (path, host), 'utf8'))         while True:                 data = s.recv(100)                 if data:                         print(str(data, 'utf8'), end='')                 else:                         break         s.close()复制代码
    4.实验
    (1)实验要求
    当TPYBoard v202未连接到网络时,led亮起警示,当连接成功后,熄灭。(2)main.py程序代码
    import network from machine import Pin sta_if = network.WLAN(network.STA_IF) p2 = Pin(2, Pin.OUT) #我们在这里把接入点接口禁用,方便观看实验效果,非实验可以去掉 sta_if.active(False) if not sta_if.isconnected():         p2.low()         print('connecting to network...')         sta_if.active(True)         sta_if.connect('TurnipSmart', 'turnip2016')         while not sta_if.isconnected():                 pass if sta_if.isconnected():         print('connect success')         p2.high()         print('network config:', sta_if.ifconfig())复制代码
    (3)实验效果
    当我们复位,把程序写进去的时候会看到TPYBoard V202板载的蓝灯亮起来,当连接成功后蓝灯熄灭,控制台打印connect success。

  • 2018-05-31
  • 发表了主题帖: [Micropython]TPYBoard v202 v102+v202 家庭无线温湿度检测

    一、实验器件
    1、TPYBoard v102 1块2、TPYBoard v202 1块3、Nokia 5110LCD显示屏 1块4、DHT11温湿度传感器 1个5、micro USB 数据线 2根6、面包板 1块7、杜邦线 若干
    二、实验步骤
    1、TPYBoard v102连接DHT11,采集温湿度信息;2、TPYBoard v102将采集到的温湿度信息显示在LCD5110上;3、TPYBoard v102通过串口将温湿度信息发送给TPYBoard v202;4、TPYBoard v202 将串口的数据读取出来,同时传递到服务器上。
    三、实验方法Nokia 5110 LCD显示屏说明LCD5110是一款84x48 的点阵LCD,可以显示4 行汉字。采用串行接口与主处理器进行通信,支持多种串行通信协议(如AVR 单片机的SPI、MCS51 的串口模式0等),传输速率高达4Mbps,可全速写入显示数据。 http://docs.tpyboard.com/zh/latest/_images/5110.png Nokia 5110 LCD共有8个引脚,不同的板子可能标注的英文略有不同,具体参照如下:http://docs.tpyboard.com/zh/latest/_images/51101.png DHT11温湿度说明DHT11是一款有已校准数字信号输出的温湿度传感器。 精度湿度+-5%RH, 温度+-2℃,量程湿度20-90%RH, 温度0~50℃。http://docs.tpyboard.com/zh/latest/_images/DHT11.pngDHT11温湿度共有3个引脚,具体参照如下: http://docs.tpyboard.com/zh/latest/_images/DHT111.png 四、接线方式14.4.1. 1、针脚对应图DHT11和LCD5110的使用方法上面都介绍过了,接下来,就要动手和我们的TPYBoard v102 接起来了。TPYBoard v102连接LCD5110http://docs.tpyboard.com/zh/latest/_images/5110+102.png TPYBoard v102连接DHT11http://docs.tpyboard.com/zh/latest/_images/DHT112.png TPYBoard v102连接TPYBoard v202http://docs.tpyboard.com/zh/latest/_images/202+102.png 实物连接图http://docs.tpyboard.com/zh/latest/_images/5110+102+202.png 四、源代码
    TPYBoard v102 源代码http://docs.tpyboard.com/zh/latest/_images/V102.pngTPYBoard v102 main.py文件内容如下:
    #main.py import pyb import upcd8544 from machine import SPI,Pin from dht11 import DHT11 def main(lcd_5110,dht,uart6):         data_=dht.read_data()         lcd_5110.lcd_write_string(' ',0,1)#添加一个分隔行         lcd_5110.lcd_write_string('Temp:'+str(data_[0]),2,2)         lcd_5110.lcd_write_string(' ',0,3)         lcd_5110.lcd_write_string(' Hum:'+str(data_[1]),2,4)         uart6.write(str(data_[0])+','+str(data_[1]))#通过串口将数据发送给v202 if __name__ == '__main__':         #init UART         u6=pyb.UART(6,115200)         #init DHT11         dht=DHT11('X12')         #init LCD5110         SPI    = pyb.SPI(1)         RST    = pyb.Pin('Y11')         CE     = pyb.Pin('Y10')         DC     = pyb.Pin('Y9')         LIGHT  = pyb.Pin('X4')         #DIN=>X8-MOSI/CLK=>X6-SCK         #DIN =>SPI(1).MOSI 'X8' data flow (Master out, Slave in)         #CLK =>SPI(1).SCK  'X6' SPI clock         lcd_5110 = upcd8544.PCD8544(SPI, RST, CE, DC, LIGHT)         lcd_5110.lcd_write_string('TPYBoard v102',1,0)         while True:                 main(lcd_5110,dht,u6)                 pyb.delay(2000) TPYBoard v202 源代码只有1个main.py 文件: TPYBoard v202 main.py文件内容,如下: import machine import network import socket from machine import Pin from machine import UART import time u2=UART(0,115200)#串口初始化 led = Pin(2, Pin.OUT).value(1)#板载小蓝灯 默认关闭 def http_get(temp,hum):         url='http://www.tpyboard.com/esp8266/SensorTest.php?t='+temp+'&h='+hum+''         _, _, host, path = url.split('/', 3)         addr = socket.getaddrinfo(host, 80)[0][-1]         s = socket.socket()         s.connect(addr)         s.send(bytes('GET /%s HTTP/1.0\r\nHost: %s\r\n\r\n' % (path, host), 'utf8'))         while True:                 data = s.recv(50)                 if data:                         recive=str(data, 'utf8').upper()                         #print(str(data, 'utf8'), end='')                         if(recive.find('YES')>-1):                            print('Send Data OK')                 else:                         break         s.close() def do_connect():         wlan = network.WLAN(network.STA_IF)         wlan.active(True)         if not wlan.isconnected():                 print('connecting to network...')                 wlan.connect( 'ssid', 'pwd')                 while not wlan.isconnected():                         pass         print('network config:', wlan.ifconfig()) do_connect() led = Pin(2, Pin.OUT).value(0)#连接wifi成功 点亮LED while 1:         data_=u2.readall()         if data_!=None:                 data_=data_.decode('utf8')#数组转成字符串                 data_a=data_.split(',')#分割                 temp_=str(data_a[0])#温度                 hum_=str(data_a[1])#湿度                 http_get(temp_,hum_)#发送给服务器         time.sleep(2)
    服务器源码SensorData.php 文件内容如下:
    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>温湿度传感器实验</title> <script type="text/javascript">         var t;         var te_html_str="N/A";         function timedCount()         {           <?php                 $myfile = fopen("sensor.txt", "r");                 $txt =fread($myfile,filesize("sensor.txt"));                 fclose($myfile);                 if($txt!="")                 {                         echo "te_html_str='".$txt."';";                 }                 ?>           document.getElementById('test').innerHTML=te_html_str;           t=setTimeout("javascript:location=location;",1000)         } </script> </head>   <body>   <center>   <div style="margin-top:80px">         <h2>TPYBoardV202_温湿度传感器实验</h2>         <div id="test"></div>   </div>    </center> </body> </html> SensorTest.php 文件内容如下: <?php         $time_="获取时间:".date('Y-m-d H:i:s');         $data_="传感器数据:Sensor Error!";         $state_="No";         if(is_array($_GET)&&count($_GET)>1)         {                 $data_="";                 //获取温度                 if(isset($_GET["t"]))                 {                         $para=$_GET["t"];                         $data_.="传感器数据:温度:".$para." ℃ - ";                 }                 //获取湿度                 if(isset($_GET["h"]))                 {                         $para=$_GET["h"];                         $data_.="湿度:".$para." % ";                         $state_="Yes";                 }         }         $myfile = fopen("sensor.txt", "w");         $txt = $time_."<br /><br />".$data_;         fwrite($myfile, $txt);         fclose($myfile);         echo $state_; ?>
    五、效果图实物效果图 http://docs.tpyboard.com/zh/latest/_images/SW1.png 网页效果图 http://docs.tpyboard.com/zh/latest/_images/WY1.png

  • 2018-05-30
  • 回复了主题帖: 大家中午睡觉吗?不睡觉都干什么呢?

    石玉 发表于 2018-5-29 15:30 中午吃完饭,办公室门窗灯一关,每个人拿出自已的折叠床,不睡下午抗不住
    硬抗

  • 2018-05-28
  • 回复了主题帖: 大家中午睡觉吗?不睡觉都干什么呢?

    yinyidianzi 发表于 2018-5-25 19:03 四国军旗!
    打拳皇吧

  • 回复了主题帖: 大家中午睡觉吗?不睡觉都干什么呢?

    AOE-hill 发表于 2018-5-25 14:35 不睡觉都在玩儿崩溃
    优秀

  • 2018-05-25
  • 回复了主题帖: 大家中午睡觉吗?不睡觉都干什么呢?

    star_66666 发表于 2018-5-24 11:46 好无聊的帖子啊
    其实我就想找个人一起搓炉石哇咔咔

  • 2018-05-24
  • 发表了主题帖: 大家中午睡觉吗?不睡觉都干什么呢?

    我先来,搓炉石啊。为了大自然

  • 2018-05-23
  • 发表了主题帖: DAC的使用用法

    基本用法 from pyb import DAC dac = DAC(1)            # create DAC 1 on pin X5 dac.write(128)          # write a value to the DAC (makes X5 1.65V) dac = DAC(1, bits=12)   # use 12 bit resolution dac.write(4095)         # output maximum value, 3.3V 输出正弦波 import math     from pyb import DAC     # create a buffer containing a sine-wave     buf = bytearray(100)     for i in range(len(buf)):     buf = 128 + int(127 * math.sin(2 * math.pi * i / len(buf)))     # output the sine-wave at 400Hz     dac = DAC(1) dac.write_timed(buf, 400 * len(buf), mode=DAC.CIRCULAR) 输出12位精度正弦波     import math     from array import array     from pyb import DAC     # create a buffer containing a sine-wave, using half-word samples     buf = array('H', 2048 + int(2047 * math.sin(2 * math.pi * i / 128)) for i in range(128))     # output the sine-wave at 400Hz     dac = DAC(1, bits=12)     dac.write_timed(buf, 400 * len(buf), mode=DAC.CIRCULAR) class pyb.DAC(port, bits=8) 定义DAC         port,1或2,对应X5(PA4)/X6(PA5) bits,输出精度,可以是8或12         dac.init(bits=8)         初始化DAC         dac.noise(freq)         以指定频率,产生伪随机噪声信号 dac.triangle(freq) 以指定频率产生三角波         dac.write(value)         写入参数。在8bits时,参数范围[0-255];在12bits时,参数范围[0..4095]         dac.write_timed(data, freq, *, mode=DAC.NORMAL)         使用DMA方式周期写入数据                 data,缓冲区数组                 freq,默认使用Timer(6),用指定频率更新。也可以指定另外的定时器,有效的定时器是[2, 4, 5, 6, 7, 8]                 mode,DAC.NORMAL or DAC.CIRCULAR

  • 2018-05-19
  • 发表了主题帖: Micropython TurnipBit的蓝牙使用

    为了部落 什么是TurnipBit开发板
    TurnipBit开发板由TurnipSmart公司制作的一款MicroPython开发板,基于nrf51822芯片为主控芯片,以MKL26Z128VFM4芯片作为边载辅助芯片,板载5*5LED灯,板载加速度传感器,板载磁敏传感器灯多种外设器件,同时支持图形编程及MicroPython代码编程控制的高智能芯片开发板。确保广大爱好者零基础学习单片机。
    详细讲解TurnipBit的蓝牙使用 具体要求
    TurnipBit的板载蓝牙是TurnipBit进行无线程序烧写的基本,利用板载蓝牙连接手机和TurnipBit。
    所需器件
    TurnipBit开发板 一块蓝牙为板载器件
    1、蓝牙介绍
    所谓蓝牙技术,实际上是一种短距离无线通信技术,利用“蓝牙”技术,能够有效地简化掌上电脑、笔记本电脑和移动电话手机等移动通信终端设备之间的通信,也能够成功地简化以上这些设备与Internet之间的通信,从而使这些现代通信设备与因特网之间的数据传输变得更加迅速高效,为无线通信拓宽道路。说得通俗一点,就是蓝牙技术使得现代一些轻易携带的移动通信设备和电脑设备,不必借助电缆就能联网,并且能够实现无线上因特网。
    3.TurnipBit利用蓝牙连接手机详细教程
    1.首先在手机上下载TurnipBit所应用的APP,下载连接如下:这里以后加上下载连接。;2.在下载APP完成后,在手机上安装APP,手机系统版本必须在Android5.0以上带有蓝牙的手机才能安装(据说需要android6的才能正常下载);3.安装好APP后,打开APP,界面如图:http://docs.turnipbit.com/zh/latest/_images/LAN6.jpg 4.点击“Connect”,界面如图,图中如果是连接过TurnipBit的,会保留上次连接设备名称,如果要是没有连接过TurnipBit的,这个红框http://docs.turnipbit.com/zh/latest/_images/LAN5.jpg 5.点击上图中的黄色和按钮,开始TurnipBit的搜索连接,如图:http://docs.turnipbit.com/zh/latest/_images/LAN4.jpg; 6.按下“NEXT”,出现蓝牙配对界面,如下图:http://docs.turnipbit.com/zh/latest/_images/LAN2.jpg 7.此时,在给TurnipBit供电的前提下,在同时按住按键A和按键B的前提下,按下“REST”按键两秒左右,松开;8.这时TurnipBit的LED上滚动字符串“pairing”和“mode1”,完成滚动后,LED界面会出现一个图案,这个图案是蓝牙配对的密码,如果要是TurnipBit的LED一直不出现上述现象,可以往板子里面随便烧写一个固件进去再试一下,如图:http://docs.turnipbit.com/zh/latest/_images/LAN.png9.此时在手机APP上,进行密码图案绘制,绘制成功后,右下角会出现一个“NEXT”如图:http://docs.turnipbit.com/zh/latest/_images/LAN3.jpg 10.点击“NEXT”,手机和TurnipBit开始配对,配对成功会出现如图界面:http://docs.turnipbit.com/zh/latest/_images/LAN.jpg 11.剩下的就是点解“OK”;此时TurnipBit和手机就已经配对连接完成。

  • 回复了主题帖: 马上520了

    Timson 发表于 2018-5-19 07:58
    单身狗不皮这下不开心

  • 2018-05-18
  • 发表了主题帖: 马上520了

    本帖最后由 loktar 于 2018-5-18 19:47 编辑 噪起来吧

  • 2018-05-17
  • 发表了主题帖: Micropython turnipbit带小夜灯的电子时钟

    实验目的:2  LED是什么2 光敏电阻是什么2   DS3231模块2 电阻阻值的色环计算2 时钟模块DS3231()库的应用 所需器材:2 TurnipBit开发板 1块2 下载数据线 1条2 废旧纸盒 1个2   导线若干2 DS3231时钟模块 1个2 光敏电阻 1个2 LED 灯 1个2   1K电阻 1个2 接入互联网的电脑 1台(推荐使用Google Chome或者Firefox浏览器) TurnipBit扩展板TurnipBit扩展板是用来将TurnipBit的引脚和主要功能脚引出的一个开发板。利用扩展板,我们可以完成一些更加复杂的工作和任务。TurnipBit扩展板包含以下几个区域:1、金手指插槽,主要用于与TurnipBit开发板进行连接,只需进行正常的插拔即可。2、电源区,包括GND、3.3V和5V区域,提供电源供电。3、USB接口,负责电源接入。4、GPIO口,主要包括P0到P20的GPIO接口、I2C接口、串口以及SPI接口。    意图DS3231的连接DS3231(图11-12)是一个时钟模块,其实就是像一个电子时钟,它自身带有电池,当设置好时间后,DS3231就会自动走时。DS3231与开发板之间的通讯是通过I2C接口来完成的。I2C总线是由Philips公司开发的一种简单、双向二线制同步串行总线。它只需要SDA(串行数据线)和SCL(串行时钟线)两根线即可在连接于总线上的器件之间传送信息。SDA和SCL都是双向I/O线,连接时,只需要将DS3231上的SDA和SCL与TurnipBit扩展板上的SDA和SCL相连即可。表 11-1 DS3231连线表 DS3231TurnipBit扩展板GNDGNDVCC3.3VSCLSCLSDASDA DS3231 线路设计本实验中需要进行连接的器件主要包括LED、光敏电阻、电阻、DS3231,具体连接方法:1、LED的长引脚(正极)与扩展板的P1相连,短引脚也就是负极与GND相连。我们只需要控制P1输出高电平还是低电平就可以控制LED是亮还是灭。当P1输出高电平时,LED两条引脚形成回路,LED亮起。当P1输出低电平时,LED熄灭。2、光敏电阻与1K阻串联后,一端连接正极,一端连接负责,中间引出一个引线,连接到扩展板的P2处。这里我们只需要读取P2引脚的模拟电压,就可以获取光线的变化。3、DS3231与扩展板的连接参见表11-1。具体连接实物图,如下: 连线图具体代码具体代码如下:
    from microbit import * DS3231_ADDR = 0x68 DS3231_REG_SEC = b'\x00' DS3231_REG_MIN = b'\x01' DS3231_REG_HOUR = b'\x02' DS3231_REG_DAY = b'\x04' DS3231_REG_MONTH = b'\x05' DS3231_REG_YEAR = b'\x06' DS3231_REG_TEMP = b'\x11' class DS3231(object): def __init__(self): pass def DATE(self, dat=[]): if dat==[]: t = [] t.append(self.year()) t.append(self.month()) t.append(self.day()) return t else: self.year(dat[0]) self.month(dat[1]) self.day(dat[2]) def TIME(self, dat=[]): if dat==[]: t = [] t.append(self.hour()) t.append(self.min()) t.append(self.sec()) return t else: self.hour(dat[0]) self.min(dat[1]) self.sec(dat[2]) def DateTime(self, dat=[]): if dat==[]: return self.DATE() + self.TIME() else: self.year(dat[0]) self.month(dat[1]) self.day(dat[2]) self.hour(dat[3]) self.min(dat[4]) self.sec(dat[5]) def dec2hex(self, dat): return (int(dat/10)<<4) + (dat%10) def setREG(self, dat,reg): buf = bytearray(2) buf[0] = reg[0] buf[1] = dat i2c.write(DS3231_ADDR,buf, repeat=False) def getREG_DEC(self,reg): i2c.write(DS3231_ADDR,reg) t = i2c.read(DS3231_ADDR,1)[0] #print("--===",t,"----------") return (t>>4)*10 + (t%16) def sec(self, sec=''): if sec == '': return self.getREG_DEC(DS3231_REG_SEC) else: self.setREG(self.dec2hex(sec), DS3231_REG_SEC) def min(self, min=''): if min == '': return self.getREG_DEC(DS3231_REG_MIN) else: self.setREG(self.dec2hex(min), DS3231_REG_MIN) def hour(self, hour=''): if hour=='': return self.getREG_DEC(DS3231_REG_HOUR) else: self.setREG(self.dec2hex(hour), DS3231_REG_HOUR) def day(self, day=''): if day=='': return self.getREG_DEC(DS3231_REG_DAY) else: self.setREG(self.dec2hex(day), DS3231_REG_DAY) def month(self, month=''): if month=='': return self.getREG_DEC(DS3231_REG_MONTH) else: self.setREG(self.dec2hex(month), DS3231_REG_MONTH) def year(self, year=''): if year=='': return self.getREG_DEC(DS3231_REG_YEAR) else: self.setREG(self.dec2hex(year), DS3231_REG_YEAR) def TEMP(self): i2c.write(DS3231_ADDR,DS3231_REG_TEMP, repeat=False) t1 = i2c.read(DS3231_ADDR,1, repeat=False)[0] i2c.write(DS3231_ADDR,b'\x12', repeat=False) t2 = i2c.read(DS3231_ADDR,1, repeat=False)[0] if t1>0x7F: return t1 - t2/256 -256 else: return t1 + t2/256 ds=DS3231() while True: Date=ds.DATE() Time=ds.TIME() Time_s='20' for i in Date: Time_s+=str(i)+'-' Time_s=Time_s[:-1]+' ' for i in Time: Time_s+=str(i)+':' hour=Time[0] sumnum=0 for j in range(0,5): #计算5次电压平均值 sumnum=sumnum+pin2.read_analog() averagenum=sumnum/5 if averagenum < 54: #如果小于54说明光线弱 pin1.write_digital(1) #打开LED else: #如果大于或者等于54,说明光线强 pin1.write_digital(0) #关闭LED display.scroll(Time_s[:-1]) #显示时钟时间 if button_a.get_presses() > 0 or button_b.get_presses() > 0: display.scroll(Time_s[:-1]) #如果按过按键,显示时钟时间 sleep(1000)
    将以上代码,复制到TurnipBit编程区域,然后保存hex文件,并复制到TURNIPBIT磁盘后,会发现Turnipbit已经开始工作了。

  • 2018-05-16
  • 发表了主题帖: Putty连接TPYBorad v102 开发板教程

    第一步:下载Putty软件http://www.micropython.net.cn/download/tool/3.html第二步:通过USB数据线将TPYBorad与PC相连第三步:打开设备管理器,查看TPYborad对应的COM口,如图: 第四步:打开Putty软件,【Connection type】分类中选择【Serial】串口模式,输入串口号和波特率(默认波特率:9600)如图: 第五步:点击【Open】,进行连接。连接成功后,如图: 第六步:Putty通过以下两种方式来操作TYPBorad方式一:直接运行代码连接成功后,输入【pyb.LED(2).on()】回车,TPYBorad板载LED2会亮起,效果如图: 方式二:执行代码文件    1、连接成功后,打开main.py文件输入以下内容,保存退出。    print('********Hello World**********')    2、等待TPYBorad板载上的LED1熄灭,Putty输入【execfile(‘main.py’)】回车,TPYBorad会立即执行main.py文件,效果如图: 第七步:Putty调试代码使用快捷键   (TPYBoard开发板启动会自动运行main.py文件)   Ctrl+C:停止运行程序   Ctrl+D:运行程序然后根据putty提示查看main.py错误提示。

  • 2018-05-15
  • 发表了主题帖: Micropython TPYBoard v102 入门教程 系列2

    目录:11-定时器使用 12-嵌入汇编 13-MicroPython程序入门 14-使用USB_VCP 15-使用RTC. 16-I2C的用法 17-PWM的使用 18-DAC的使用用法 19-ADC的使用方法 20-串口的使用方法

  • 2018-05-11
  • 发表了主题帖: Micropython TPYBoard v102 入门教程 系列1

    TPYBoard v102 入门教程系列1 01.TPYBoard v102 简介 02.TPYBoard v102 使用 03.获取MicroPython提示 04.控制LED灯 05.LED-按键手册 06.按键开关,回调函数和中断 07.加速度传感器 08.安全模式和恢复出厂设置 09.USB-HID应用 10.使用microSD卡 此内容由EEWORLD论坛网友loktar原创,如需转载或用于商业用途需征得作者同意并注明出处

  • 2018-05-09
  • 发表了主题帖: [Micropython]TPYBoard v10x NRF24L01无线通讯模块使用教程

    1.实验目的:•       学习使用NRF24L01无线通讯模块2.所需原器件:•       TPYBoard v10X开发板两块•       NRF24L01无线通讯模块两个•       micro USB数据线 1条•       杜邦线 若干3.实验原理:    1. 驱动NRF24L01无线通讯模块http://tpyboard.com/ueditor/php/upload/image/20180509/1525829572216406.pngTPYBoard v10x的针脚与NRF24L01的针脚对应关系如下: NRF24L01          TPYBoard   v10xGNDGNDVCC3V3CEX4CSNX5SCKX6MOSIX8MISOX7 2.接收端main.py内容如下from nrf24l01use import master from nrf24l01use import slave def main(): while True:     slave() main() 接收端main.py内容如下from nrf24l01use import master from nrf24l01use import slave def main(): while True:     master() main() ​

  • 2018-05-03
  • 发表了主题帖: [Micropython]TPYBoard v10x VS183B红外遥控器控制开发板

    本文只是简单的红外遥控器控制TPYBoard v102开发板资料。可以做的拓展非常多,VS1838固件见附件。1.实验目的:•       学习使用红外接收头VS1838 的使用2.所需原器件:•       TPYBoard v10X开发板 1块•       红外接收头VS1838一个•       micro USB数据线 1条•       杜邦线 若干•       红外遥控器一个3.实验原理:1. 驱动VS1838模块TPYBoard v10x的针脚与VS1838的针脚对应关系如下:OUT     X4GND     GNDVCC     VIN 2.main.py内容如下
    from necir import NecIr from bm import necbm from bm import nec_cb def main(): nec = NecIr() while True: nec.callback(nec_cb) if necbm(): print("bm=",necbm()) main()

  • 2018-04-17
  • 发表了主题帖: [Micropython]TPYBoard v10x拼插编程实验 点亮心形点阵

    一、什么是TPYBoard开发板    TPYBoard是以遵照MIT许可的MicroPython为基础,由TurnipSmart公司制作的一款MicroPython开发板,它基于STM32F405单片机,通过USB接口进行数据传输。该开发板内置4个LED灯、一个加速传感器,可在3V-10V之间的电压正常工作。TPYBoard开发板让用户可以通过Python代码轻松控制微控制器的各种外设,比如LED等,读取管脚电压,播放歌曲,和其他设备联网等等。TPYBoard开发板支持Python3.0及以上版本的直接运行,支持重力加速度传感器,支持上百周边外设配件,支持SWD烧写固件。零基础也能灵活掌握单片机技术! 二、利用TPYBoard 点亮心形点阵1、具体要求    通过TPYBoardv10x开发板连接红色8x8LED点阵屏,实现心形图案的显示。2、所需器件    TYBoard开发板 一块    USB数据线 一根    红色8x8LED点阵屏  一个    杜邦线 若干3、8x8点阵屏介绍         点阵后面有两排针脚,一排以1开头,即1-8针脚,一排以9开头(8针脚的正对面的针脚),即9-16针脚,上图中圆圈内的数字即为针脚的对应序号。ROW 1对应的针脚就是9。当某ROW 的针脚为高电平,某COL的针脚为低电平时候,它们交叉点的LED就会被点亮。 为了方便操作行和列,我们可以将ROW的8个引脚接到我们TPYBoard v102的X1-X8,COL的8个引脚接到我们TPYBoard v102的Y1-Y8。这样我们通过控制X引脚和Y引脚的高低电平就可以控制每一个LED的亮与不亮,这样就可以设计想显示的任何字符和图形,快来试试吧。三、制作主要过程    4、制作流程图形代码:TPYBoard 技术交流群 :157816561 Micropython玩家公众号: 此内容由EEWORLD论坛网友loktar原创,如需转载或用于商业用途需征得作者同意并注明出处

  • 2018-04-11
  • 发表了主题帖: Micropython TPYBoard V10X拼插编程实践之定时器 代码不精通?...

          对于Micropython来讲,代码编程是必不可少的一部分,但是对于DIY爱好者这个受众巨大的群体,编程就显得有点难度了,毕竟大部分人是不精通代码的。那么有没有一个更加简单的编程方式呢?今天给大家介绍如何通过拼插画图来实现常规代码编程。                                                                              我们来实现一个最简单的定时器功能。利用micropython的定时器,实现红色led每秒闪烁一次。先来看一下我们拼插编程的界面:左侧为目录栏,中间白底为拼插画图区,右侧代码显示区。当我们从目录栏拖动相应的图形到拼插画图区时,代码显示区即显示相应代码,如图:1、制作流程 要使用定时器,先需要导入Timer库。from pyb import Timer,可使用*代替。 import pyb from pyb import * #导入库 def test(returnValue):#函数定义   LED(1).toggle()   return t = Timer(1,freq=1,callback=test) #定义Timer: #设置Timer编号#设置轮巡时间 #定义频率 数字越大频率越高

  • 2018-04-02
  • 发表了主题帖: Micropython putty连接TPYBord V202开发板教程

      TPYBoard V202是以MicroPython为基础,研发的一款支持Python和lua语言的Wifi通信开发板,TPYBoard V202有9个通用GPIO口,1费ADC接口,1个SPI接口,1个I2C 接口,1个USART接口。我们分享下V202是如何连接putty的。                                                                                                    所需软件1.TPYBoard v202开发板驱动下载地址:http://www.micropython.net.cn/download/tool/163.html 2.PuTTY_0.67.0.0.exe  下载地址:http://www.micropython.net.cn/download/tool/3.html 板子连接方法1.安装驱动首先将驱动下载并打开文件进行安装。   执行CH341SER.EXE 会出现下图: 点击安装。 2.通过数据线将TPYBoard-esp8266开发板连接电脑。 3. 打开桌面,右键点击我的电脑选择设备管理器。单击端口选项,会出现如下效果: 4.注意事项   如果在端口中没有出现红色方框中的选项,请确认以下几点:   1.检查驱动程序(CH341SER)是否安装成功。   2.安装驱动精灵且将TPYBoard-esp8266开发板连接电脑的同时自动搜索与其匹配的驱动进行安装。   3.检查TPYBoard-esp8266开发板与电脑的连接是否有误。 5.通过PUTTY连接TPYBoard-esp8266开发板1.双击下载后的PuTTY_0.67.0.0.exe软件,点击运行。 红色方框中Host Name 填写端口中新加入的端口名字(这里可以写括号中的COM4)就可以。Port中填写115200。Connection type 中选择Serial选项。 点击下图左方框,在右侧Flow control 选项中选择None。 点击Open按钮,会弹出如下界面: 点击TPYBoard-esp8266开发板中的RST键,会出现如下界面:当界面出现红色方框中的内容时说明TPYBoard-esp8266开发板已经安装成功。现在可以编写python内容了,如图:       

TA暂时无记录哦~

统计信息

已有15人来访过

  • 芯币:133
  • 好友:--
  • 主题:39
  • 回复:16
  • 课时:--
  • 资源:--

留言

你需要登录后才可以留言 登录 | 注册


现在还没有留言