dcexpert

个性签名:一起来玩 microbit/micropython

  • 2019-05-20
  • 回复了主题帖: [GD32E231 DIY大赛] 04. 机械臂艰难的组装过程

    传媒学子 发表于 2019-5-20 16:42 对对,我就是亚克力,采用的就是一点一点变化,变化大了,就掉电了。。。
    掉电是电源输出功率不够,需要换一个电源。或者是供电的线缆内阻偏大了。

  • 回复了主题帖: 【麦昆试用】python编程(2)

    cruelfox 发表于 2019-5-20 18:39 欢乐颂啊 看起来很奇怪,怎么有一个#A, 没有 D, E, B 这几个音。从后面 'A', 'G', 'F', 'F', 'G', ...
    厉害。这个是用软件转的,转出来就是这个结果,可能是软件本身的误差。

  • 加入了学习《matlab机器学习》,观看 什么是机器学习

  • 回复了主题帖: micropython为I2C新增i2c.writevto()函数

    例如原来ssd1306 OLED驱动中:写入数据的用法:     def write_data(self, buf):         self.temp[0] = self.addr

  • 发表了日志: micropython为I2C新增i2c.writevto()函数

  • 发表了主题帖: micropython为I2C新增i2c.writevto()函数

    为了提高I2C的效率,micropythhon新增加了一个函数:i2c.writevto() 函数的基本形式:i2c.writevto(addr, (buf1, buf2)). 它允许由地址+命令+数据的模式写入I2C,在命令后面紧跟大量数据,而无需重新设置缓冲区。 https://github.com/micropython/m ... 11e7d246b97e3101f1b

  • 回复了主题帖: 法国oled屏

    为啥是法国的

  • 回复了主题帖: 又入了一块集成度最高的开发板,没有之一。

    cypress现在还支持mbed了,程序移植更加容易: https://os.mbed.com/media/cache/platforms/SS2_3797_with_out_USB_cable.jpg.200x200_q85.jpg https://os.mbed.com/platforms/CY8CKIT-062-BLE/ https://os.mbed.com/media/cache/platforms/p6_wifi-bt_proto.png.250x250_q85.jpg https://os.mbed.com/platforms/CY8CPROTO-062-4343W/

  • 回复了主题帖: 又入了一块集成度最高的开发板,没有之一。

    从PSOC4到PSOC6都不错,还可以自动产生代码。

  • 回复了主题帖: 又入了一块集成度最高的开发板,没有之一。

    PSOC的芯片非常有特点,可以自由组合功能,可惜用的人一直不多。

  • 回复了主题帖: 【麦昆试用】python编程(5)

    同样还可以找到一个舵机的驱动函数。     //% weight=90     //% blockId=servo_ServoRun block="Servo|%index|angle|%angle"     //% angle.min=0 angle.max=180     //% index.fieldEditor="gridpicker" index.fieldOptions.columns=2     export function ServoRun(index: aServos, angle: number): void {         let buf = pins.createBuffer(2);         if (index == 0) {             buf[0] = 0x14;         }         if (index == 1) {             buf[0] = 0x15;         }         buf[1] = angle;         pins.i2cWriteBuffer(0x10, buf);     }复制代码 暂时还没有测试舵机功能,等有空在补上。

  • 发表了日志: 【麦昆试用】python编程(5)

  • 发表了主题帖: 【麦昆试用】python编程(5)

    麦昆上有两个减速电机,用来驱动小车的轮子,可以正反转和调速。电机是通过一个I2C转PWM芯片后,在由75V18驱动的。因为DF没有提供相关的资料,不知道是什么芯片。不过也没有关系,通过makecode程序,我们可以很快的就知道使用方法。 首先打开麦昆的makecode扩展程序网址:https://github.com/DFRobot/pxt-maqueen然后打开里面的maqueen.ts文件https://github.com/DFRobot/pxt-maqueen/blob/master/maqueen.ts 可以找到这样一个函数:     //% weight=90     //% blockId=motor_MotorRun block="Motor|%index|dir|%Dir|speed|%speed"     //% speed.min=0 speed.max=255     //% index.fieldEditor="gridpicker" index.fieldOptions.columns=2     //% direction.fieldEditor="gridpicker" direction.fieldOptions.columns=2     export function MotorRun(index: aMotors, direction:Dir, speed: number): void {         let buf = pins.createBuffer(3);         if (index==0){             buf[0]=0x00;         }         if (index==1){             buf[0]=0x02;         }         buf[1]=direction;         buf[2]=speed;         pins.i2cWriteBuffer(0x10, buf);     }复制代码 这就是电机的驱动函数,从这里可以看出,I2C芯片的地址是0x10,发送的命令是3个字节:第一个字节代表了通道,0代表电机1,2代表电机2;第二个字节是方向,应该就是正反转了;第三个字节是速度,也就是PWM的占空比,范围是0-255。 知道了驱动方法,我们就可以编写python驱动函数: from microbit import * def moto1(speed=200):         buf = bytearray(3)         buf[0] = 0         buf[1] = [1, 0][speed>0]         buf[2] = abs(speed)%256         if buf[2]>0:buf[2]=max(buf[2], 20)         i2c.write(16, buf) def moto2(speed=200):         buf = bytearray(3)         buf[0] = 2         buf[1] = [1, 0][speed>0]         buf[2] = abs(speed)%256         if buf[2]>0:buf[2]=max(buf[2], 20)         i2c.write(16, buf)复制代码 moto1函数中,只使用了一个参数speed,范围是-255到+255,正负号代表了正反转。0代表电机停止,不等于0代表电机转动。因为实测速度参数小于20时,电机可能无法启动,因此设置了最小速度为参数20。 此内容由EEWORLD论坛网友dcexpert原创,如需转载或用于商业用途需征得作者同意并注明出处

  • 发表了主题帖: 【麦昆试用】python编程(4)

    本帖最后由 dcexpert 于 2019-5-20 12:54 编辑 麦昆上有4颗WS2812全彩色RGB LED,它使用P15控制。WS2812是一种串行控制的LED,它内部带有控制器,通过1个数据线传递控制命令,可以多个WS2812级联起来,用一个数据线就能控制多个WS2812。 在micropython中,控制WS2812需要使用到neopixel库,定义时需要两个参数,一个是控制引脚,另一个是WS2812的数量。 4个LED显示红绿蓝白,并循环旋转 import neopixel np = neopixel.NeoPixel(pin15, 4) np[0] = (8, 0, 0) np[1] = (0, 8, 0) np[2] = (0, 0, 8) np[3] = (8, 8, 8) while 1:         t= np[0]         for i in range(3):                 np[i] = np[i+1]         np[3] = t         np.show()         sleep(500)复制代码 红绿蓝依次渐亮 import neopixel np = neopixel.NeoPixel(pin15, 4) n = 0 while 1:         r = g = b = 0         for i in range(4):                 if n

  • 2019-05-19
  • 回复了主题帖: [GD32E231 DIY大赛] 04. 机械臂艰难的组装过程

    这种机械臂有两种,一种是较便宜的亚克力板做的,另一种是用金属结构件,使用舵机进行控制。舵机是50HZ的PWM信号控制,用占空比控制角度,具体可以网上搜一下。 因为舵机扭矩大,动作快,对于较轻的亚克力板,有时会造成不稳定。可以让舵机不要一次变化太大,分多次改变角度,就可以让动作平滑下来。

  • 发表了日志: 【麦昆试用】python编程(3)

  • 发表了主题帖: 【麦昆试用】python编程(3)

    寻线传感器 寻线传感器是类似上图的传感器,通常由一个红外发射管和一个接收管组成。它的输出信号是开关量,当接收管收不到反射信号时输出0,否则输出1。实际使用时,通常是用一个较宽的黑线和白底做轨迹,使用2个或多个传感器来判断,让小车沿着黑线运动。 在麦昆上,寻线传感器使用P13和P14作为信号输入。下面代码可以读取寻线传感器的状态。 while 1:         print(pin13.read_digital(), pin14.read_digital())         sleep(500)复制代码 此内容由EEWORLD论坛网友dcexpert原创,如需转载或用于商业用途需征得作者同意并注明出处

  • 发表了日志: 【麦昆试用】python编程(2)

  • 发表了主题帖: 【麦昆试用】python编程(2)

    本帖最后由 dcexpert 于 2019-5-19 20:56 编辑 蜂鸣器 microbit 默认使用pin0控制蜂鸣器,可以用来播放音乐。 from microbit import * import music #直接播放内置音乐 music.play(music.POWER_UP) music.play(music.PYTHON) #后台播放音乐 music.play(music.PYTHON, wait = 0) #后台循环播放音乐 music.play(music.PYTHON, wait = 0, loop=1) #播放自定义音乐 from microbit import * import music # MoonRive 月亮河 music.set_tempo(ticks=16, bpm=90) tune = ['G5:32', 'D6:12', 'C:24', 'B5', 'A:6', 'G:8', 'F', 'G:32', 'B:24',         'A:8', 'G', 'F', 'G:32', 'E:12', 'D:48', 'R:16', 'D:8', 'C:32', 'G:16',         'E:24', 'D:8', 'C:48', 'G:16', 'E:24', 'D:12', 'C', 'E:16', 'G', 'C6',         'B5', 'A:8', 'B:16', 'A', 'G:12', 'A:48'] music.play(tune) from microbit import * import music # Beethoven 致爱丽丝 music.set_tempo(ticks=16, bpm=125) tune = ['E6:8', 'D#', 'E', 'D#', 'E', 'B5', 'D6', 'C', 'A5:16', 'R6:8', 'C5',         'E', 'A', 'B:16', 'R6:8', 'E5', 'G#', 'B', 'C6:16', 'R:8', 'E5', 'E6',         'D#', 'E', 'D#', 'E', 'B5', 'D6', 'C', 'A5:16', 'R6:8', 'C5', 'E', 'A',         'B:16', 'R6:8', 'E5', 'C6', 'B5', 'A:16'] music.play(tune) 复制代码 下面一首音乐是什么?第一位正确回复的网友可以获取10芯币的奖励。 from microbit import * import music music.set_tempo(ticks=16, bpm=100) tune = ['A5:16', 'A', 'A#', 'C6', 'C', 'A#5', 'A', 'G', 'F', 'F', 'G', 'A', 'A:24', 'G:8', 'G:32', 'A:16', 'A', 'A#', 'C6', 'C', 'A#5', 'A', 'G', 'F', 'F', 'G', 'A', 'G:24', 'F:8', 'F:32', 'G:16', 'G', 'A', 'F', 'G', 'A:8', 'A#', 'A:16', 'F', 'G', 'A:8', 'A#', 'A:16', 'G', 'F', 'G', 'C', 'A:32', 'A:16', 'A#', 'C6', 'C', 'A#5', 'A', 'G', 'F', 'F', 'G', 'A', 'G:24', 'F:8', 'F:32'] music.play(tune)复制代码 此内容由EEWORLD论坛网友dcexpert原创,如需转载或用于商业用途需征得作者同意并注明出处

  • 发表了主题帖: 【麦昆试用】python编程(1)

    本帖最后由 dcexpert 于 2019-5-19 20:55 编辑 虽然麦昆的资料中没有说python编程,但是microbit是可以用python编程的,因此我们使用python对麦昆进行基本的操作。 使用python编程时,可以使用mu软件,也可以使用pythonEditor在线编程。 LED控制 左 pin8.write_analog() 右 pin12.write_analog() 参数范围0-1023。当然如果不需要亮度控制,用write_digital()函数也可以,只有亮灭两种状态 下面程序让两个LED轮流点亮 from microbit import * a = 0 while 1:         pin8.write_analog(a)         pin12.write_analog(1023-a)         a = 1023 - a         sleep(500)复制代码 此内容由EEWORLD论坛网友dcexpert原创,如需转载或用于商业用途需征得作者同意并注明出处

最近访客

< 1/6 >

统计信息

已有1521人来访过

  • 芯币:45731
  • 好友:43
  • 主题:992
  • 回复:5952
  • 课时:1
  • 资源:14

留言

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


dcexpert 2019-4-7
和C语言中用法是一样的
szl123456 2019-4-6
您好 我正在在micropython上搞485通信,因为没有历程,大家好像都没搞过 大神能指导一下吗   help  help
werjufour 2018-8-28
你好!向你请教个问题。PIC24fj64ga004 AD转换值放在哪个寄存器当中?
MSYuan0317 2018-8-9
您好!我们是代理乐鑫产品的,如果有需要可以联系我,QQ:285254096 ,谢谢!
dcexpert 2018-8-2
在《MicroPython中文教程》电子版和《MicroPython入门指南》一书中都有
15588608145 2018-8-2
具体的MicroPython所支持的模块和语法说明在哪里呢?
MSYuan0317 2018-7-27
您好!我们是代理乐鑫产品的,如果有需要可以联系我,QQ:285254096 ,谢谢!
dcexpert 2018-6-6
还没有开始做,等做好了我送你两片
mo2016 2018-6-6
DIY一个micropython的多功能无线电子钟 想要有偿PCB板二片,谢谢!
dcexpert 2015-1-22
不是5个DIY项目,是围绕DIY F429示波器,有5个小专题,希望大家一起讨论完成。

5个都在DIY示波器帖子中的。
xu__changhua 2015-1-22
5个DIY项目,我就查到示波器,还有4个能给出链接么?
查看全部