树莓派折腾之旅(三)

###暑假放假了,做了一个wifi小车。

先是搭硬件,小车,电机驱动,稳压,电池什么的。

此处略去很多字。

既然是wifi小车,首先要让车跑起来。

让车跑,首先要控制I/O口。

用的是python的GPIO口的库。

    sudo apt-get install python-dev
    # 下载 
    $ wget http://raspberry-gpio-python.googlecode.com/files/RPi.GPIO-0.5.3a.tar.gz
    # 解压缩 
    $ tar xvzf RPi.GPIO-0.5.3a.tar.gz 
    # 进入解压之后的目录 
    $ cd RPi.GPIO-0.5.3a 
    # 启动安装 
    $ sudo python setup.py install

然后进入python界面

    import RPi.GPIO as GPIO

没有报错则说明安装成功。

下面就是用I/O口控制小车了。

    import RPi.GPIO as GPIO  
    import time  
    GPIO.setmode(GPIO.BOARD)   
    GPIO.setup(11, GPIO.OUT) 
    GPIO.setup(12, GPIO.OUT) 
    GPIO.setup(15, GPIO.OUT) 
    GPIO.setup(16, GPIO.OUT)
    in11 = GPIO.PWM(11, 50)
    in12 = GPIO.PWM(12, 50)
    in21 = GPIO.PWM(15, 50)
    in22 = GPIO.PWM(16, 50) 
    shudu=30
    def yanshi(t):
        while t>0:
            t=t-1
    def houtui():
        in11.start(30)
        in12.start(0)
        in21.start(30)
        in22.start(0)
    def tingzhi():
        in11.stop()
        in12.stop()
        in21.stop()
        in22.stop()
    def zhizou1():
        in11.start(0)
        in12.start(30)
        in21.start(0)
        in22.start(30)
    def zhizou():
        in11.start(0)
        in12.start(shudu)
        in21.start(0)
        in22.start(shudu)
    def youzhuan():
        in11.start(0)
        in12.start(30)
        in21.start(30)
        in22.start(0)
    def zuozhuan():
        in11.start(30)
        in12.start(0)
        in21.start(0)
        in22.start(30)  
    while True: 
        fangxiang=raw_input()
        if fangxiang=='q':
            shudu=shudu+10
            zhizou()
        elif fangxiang=='e':
            shudu=shudu-10
            zhizou()
        elif fangxiang=='w':
            zhizou1()
        elif fangxiang=='a':
            t=30000
            while t>0:
                t=t-1
                zuozhuan()
                tingzhi()
        elif fangxiang=='s':
            houtui()
        elif fangxiang=='d':
            t=30000
            while t>0:
                t=t-1
                youzhuan()
                tingzhi()
        else :
            tingzhi()

文章作者: Rayu
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Rayu !
  目录