设为首页收藏本站

[教程] Edison上程序开发——决战四驱车

孙毅 发表于 2015-9-30 22:54:04 | 显示全部楼层 [复制链接]
25 6671
本帖最后由 孙毅 于 2015-9-30 22:58 编辑

1, 翻箱倒柜的找到封尘依旧的一两小车的框架,4个直流电机,四个轱辘,两个亚克力板,组装如下:
DSC_0369.JPG DSC_0371.JPG

相信论坛里好多朋友们也都玩过的,没什么花头。
因为不是按照Edison设计的,所以好不容易才能斜着把Edison固定在上面。

2, 噼里啪啦一顿接线,现在是这个样子:
DSC_0377.JPG DSC_0378.JPG


细数下,有如下传感器:
1, 直流电机 x 4
2, LED
3, Button
4, Speaker
5, LCD

然后我们一个一个的讲这些传感器用起来:

3, PWM 输出控制直流电机
  1. #!/usr/bin/python
  2. import mraa
  3. import time
  4. import sys

  5. x1 = mraa.Pwm(3)
  6. x1.period_us(0)
  7. x1.enable(True)

  8. x2 = mraa.Pwm(5)
  9. x2.period_us(0)
  10. x2.enable(True)

  11. x3 = mraa.Pwm(6)
  12. x3.period_us(0)
  13. x3.enable(True)

  14. x4 = mraa.Pwm(9)
  15. x4.period_us(0)
  16. x4.enable(True)

  17. if len(sys.argv) > 1:
  18.     switch = sys.argv[1]
  19. else:
  20.     switch = 'off'

  21. print switch

  22. if switch == 'on':
  23.     x1.write(1)
  24.     x2.write(1)
  25.     x3.write(1)
  26.     x4.write(1)
  27. else:
  28.     x1.write(0)
  29.     x2.write(0)
  30.     x3.write(0)
  31.     x4.write(0)
复制代码

这里的code就不一一解释了,简单说几句吧:
1) Edison默认GPIO 3、5、6、9支持PWM,一共就4个PWM我们都占掉了2)将文件命名为 pwm.py,可以通过传递on/off来使得直流电机工作了:
     ./pwm.py on      关闭使用: ./pwm.py off

4, 使用button控制LED:
  1. import time
  2. import pyupm_grove as grove

  3. # Create the Grove LED object using GPIO pin 2
  4. led = grove.GroveLed(3)

  5. # Create the button object using GPIO pin 0
  6. button = grove.GroveButton(7)

  7. # Read the input and print, waiting one second between readings
  8. while 1:
  9.     print button.name(), ' value is ', button.value()
  10.     time.sleep(1)

  11.     if button.value():
  12.         led.on()
  13.     else:
  14.         led.off()
复制代码
说明:当按下button的时候,LED会点亮,松开的时候,LED灭掉

5, 使用buzzer发出音调:
  1. import time
  2. import pyupm_buzzer as upmBuzzer

  3. # Create the buzzer object using GPIO pin 5
  4. buzzer = upmBuzzer.Buzzer(6)

  5. chords = [upmBuzzer.DO, upmBuzzer.RE, upmBuzzer.MI, upmBuzzer.FA,
  6.           upmBuzzer.SOL, upmBuzzer.LA, upmBuzzer.SI, upmBuzzer.DO,
  7.           upmBuzzer.SI];

  8. # Print sensor name
  9. print buzzer.name()

  10. # Play sound (DO, RE, MI, etc.), pausing for 0.1 seconds between notes
  11. for chord_ind in range (0,7):
  12.     # play each note for one second
  13.     print buzzer.playSound(chords[chord_ind], 1000000)
  14.     time.sleep(0.1)

  15. print "exiting application"

  16. # Delete the buzzer object
  17. del buzzer
复制代码
运行python脚本,buzzer会发出1(dou),2(ruai),3(mi),4(fa),5(sao)

好了基本上就这样吧,作为一个初步的demo,小车的基本功能已经差不多了,后面我们会慢慢的在这辆限量版的纯手工打杂的小车上安装更多的好玩的东东,大家有什么好玩法欢迎留言!
这个时候感觉到3D打印的必要行了。这一堆线挺丑的,一不小心就碰掉哪一个了。



发表于 2015-10-1 09:21:02 | 显示全部楼层
有一个问题 就是小车跑直线的问题能否有问题呢 直流电机问题不是没有的
回复 支持 反对

使用道具 举报

发表于 2015-10-1 12:08:22 | 显示全部楼层
大连林海 发表于 2015-10-1 09:21
有一个问题 就是小车跑直线的问题能否有问题呢 直流电机问题不是没有的

恩,这个显然解决不了啊。。。。吼吼,等你的好idea啊。
回复 支持 反对

使用道具 举报

发表于 2015-10-1 16:44:24 | 显示全部楼层
哈哈 到是有一个想法 吼吼 不知道能不能行
回复 支持 反对

使用道具 举报

发表于 2015-10-1 22:03:29 | 显示全部楼层
放假默默的放教程~
回复 支持 反对

使用道具 举报

发表于 2015-10-3 22:06:03 | 显示全部楼层
踩踩踩
回复 支持 反对

使用道具 举报

发表于 2015-10-9 09:09:44 | 显示全部楼层
大连林海 发表于 2015-10-1 16:44
哈哈 到是有一个想法 吼吼 不知道能不能行

说说看什么想法啊。。。
回复 支持 反对

使用道具 举报

发表于 2015-10-9 09:10:07 | 显示全部楼层
luna 发表于 2015-10-1 22:03
放假默默的放教程~

你不也在默默的看教程吗。嘻嘻嘻
回复 支持 反对

使用道具 举报

发表于 2015-10-9 09:34:34 | 显示全部楼层
亚克力板透明的真好看啊~~~~只是线确实暴露太多了~~哈哈
回复 支持 反对

使用道具 举报

发表于 2015-10-9 10:37:51 | 显示全部楼层
孙毅 发表于 2015-10-9 09:09
说说看什么想法啊。。。

一个电机控制两个电机转动 做成轴动的 前面可以用一个马达控制转向
回复 支持 反对

使用道具 举报

发表于 2015-10-9 13:02:18 | 显示全部楼层
孙毅 发表于 2015-10-1 12:08
恩,这个显然解决不了啊。。。。吼吼,等你的好idea啊。

跑直线的话需要反馈调节转速,不过我还没试过ㄟ( ▔, ▔ )ㄏ
回复 支持 反对

使用道具 举报

发表于 2015-10-9 14:00:26 | 显示全部楼层
Chan陈陈陈 发表于 2015-10-9 13:02
跑直线的话需要反馈调节转速,不过我还没试过ㄟ( ▔, ▔ )ㄏ

对的,必须得闭环控制。。。。。求教程,吼吼
回复 支持 反对

使用道具 举报

发表于 2015-10-9 14:02:03 | 显示全部楼层
Juice 发表于 2015-10-9 09:34
亚克力板透明的真好看啊~~~~只是线确实暴露太多了~~哈哈

啊,难得琚大人喜欢哈。。。。恩,线的问题,我也很郁闷,还好不是处女座,不过真挺崩溃的,随便碰一下,线就掉了,然后重新想应该插在哪里。
回复 支持 反对

使用道具 举报

发表于 2015-10-9 14:04:24 | 显示全部楼层
扬声器是直接接到DAC上了么?
回复 支持 反对

使用道具 举报

发表于 2015-10-9 14:20:13 | 显示全部楼层
lianuo 发表于 2015-10-9 14:04
扬声器是直接接到DAC上了么?

哦,我是不是忘记提这个事情了?!
扬声器需要接在PWM上,对于Edison,也就是pin脚 3,5,6,9
回复 支持 反对

使用道具 举报

发表于 2015-10-10 09:40:01 | 显示全部楼层
孙毅 发表于 2015-10-9 14:00
对的,必须得闭环控制。。。。。求教程,吼吼

吼吼,木有 。。 自动控制原理才刚刚开课= ̄ω ̄=
回复 支持 反对

使用道具 举报

发表于 2015-10-10 09:55:18 | 显示全部楼层
Chan陈陈陈 发表于 2015-10-10 09:40
吼吼,木有 。。 自动控制原理才刚刚开课= ̄ω ̄=

WOW,你还是大学生?!强悍,要是正好有什么课程设计之类的,欢迎分享。
回复 支持 反对

使用道具 举报

发表于 2015-10-10 10:22:35 | 显示全部楼层
孙毅 发表于 2015-10-10 09:55
WOW,你还是大学生?!强悍,要是正好有什么课程设计之类的,欢迎分享。 ...

嗯嗯,一定的 嘿嘿
回复 支持 反对

使用道具 举报

发表于 2015-10-10 13:54:04 | 显示全部楼层
孙毅 发表于 2015-10-9 14:02
啊,难得琚大人喜欢哈。。。。恩,线的问题,我也很郁闷,还好不是处女座,不过真挺崩溃的,随便碰一下, ...

INTEL的周边不如DF用的顺手
回复 支持 反对

使用道具 举报

发表于 2015-10-11 14:08:10 | 显示全部楼层
hnyzcj 发表于 2015-10-10 13:54
INTEL的周边不如DF用的顺手

关键是DF的周末也没见你玩啊。。。。
回复 支持 反对

使用道具 举报

发表于 2015-10-11 14:21:54 | 显示全部楼层
孙毅 发表于 2015-10-11 14:08
关键是DF的周末也没见你玩啊。。。。

额额额
回复 支持 反对

使用道具 举报

12下一页
您需要登录后才可以回帖 登录 | 立即注册  

本版积分规则 允许回帖同步到新浪微博  

  • 版主
  • 2273
  • 56
  • 活跃会员

    活跃会员

  • 版主限定

    版主限定

  • 小蘑菇勋章

    小蘑菇勋章

推荐阅读

精华导读




公司简介| 联系我们| 小黑屋| 加入我们| 微博| 优酷| 英文网站| DF创客社区 ( 沪ICP备09038501号-4  
友情链接| 硬创邦| 花生壳社区| 模友之吧| 电子发烧友社区| 创客星球| 云汉电子社区| 电子工程网| 与非网| Arduino中文社区| 南极熊3D打印网| OneNET|

上海智位机器人有限公司  沪ICP备09038501号-4   

Powered by Discuz! X3.1

Licensed Comsenz Inc.

返回顶部 返回列表