RPI 課程補充

RPI 課程補充

    #!/usr/bin/env python
    # author: Powen Ko
    import serial
    import time
    import RPi.GPIO as GPIO
    
    def readlineCR(port):
     rv = ""
     while True:
     ch = port.read()
     rv += ch
     if ch=='\r' or ch=='':
     return rv
     
    GPIO.setmode(GPIO.BCM)
    GPIO.setup(4,GPIO.OUT)
    port = serial.Serial("/dev/ttyAMA0", baudrate=9600, timeout=3.0)
    
    
    while True:
     rcv = readlineCR(port)
     print(rcv) 
     port.write(rcv)
     str1=rcv.find("h")
     if str1 > 0 :
     GPIO.output(4,1)
     str1=rcv.find("l") 
     if str1 > 0 :
     GPIO.output(4,0)
     time.sleep(0.1)
    
    
    
    
    
    
    
    
    wget httpss://www.python.org/ftp/python/3.3.2/Python-3.3.2.tar.bz2
    tar jxf ./Python-3.3.2.tar.bz2
    cd ./Python-3.3.2
    ./configure --prefix=/opt/python3.3.2
    make && sudo make install
    python3.2 setup.py install
    sudo apt-get install python-serial
    
    
    #!/usr/bin/env python
    # author: Powen Ko
    import serial
    import time
    
    def readlineCR(port):
      rv = ""
      while True:
        ch = port.read()
        rv += ch
        if ch=='\r' or ch=='':
           return rv
    
    port = serial.Serial("/dev/ttyAMA0", baudrate=115200, timeout=3.0)
    while True:
      port.write("\r\nHi! I am Raspberry")
      rcv = readlineCR(port)
      port.write("\r\nYou sent:" + repr(rcv))
      time.sleep(1)
    
    
    
    import time
    import RPi.GPIO as GPIO
    
    array1=[1,1,1,2,2,2]
    array2=[10,20,30,10,20,100]
    array3=[0.5,0.5,1.1,0.2,0.3,0.4]
    
    GPIO.setup(GPIO.BCM)
    GPIO.setup(4,GPIO.OUT)
    p1=GPIO.PWM(4,100)
    p1.start(0)
    GPIO.setup(17,GPIO.OUT)
    p2=GPIO.PWM(17,100)
    p2.start(0)
    GPIO.setup(27,GPIO.OUT)
    p3=GPIO.PWM(27,100)
    p3.start(0)
    while Ture:
    <%%KEEPWHITESPACE%%>  try:
    <%%KEEPWHITESPACE%%>    x=0
    <%%KEEPWHITESPACE%%>    for b in array1:
    <%%KEEPWHITESPACE%%>      a=array2[x]
    <%%KEEPWHITESPACE%%>      c=array3[x]
    <%%KEEPWHITESPACE%%>      x=x+1
    <%%KEEPWHITESPACE%%>      dc= int((a*19/180)+5
    <%%KEEPWHITESPACE%%>      if b==1:
    <%%KEEPWHITESPACE%%>        p1.ChangeDutyCycle(dc)
    <%%KEEPWHITESPACE%%>      elif b==2:
    <%%KEEPWHITESPACE%%>        p2.ChangeDutyCycle(dc)
    <%%KEEPWHITESPACE%%>      elif b==3:
    <%%KEEPWHITESPACE%%>       p3.ChangeDutyCycle(dc)
    <%%KEEPWHITESPACE%%>      time.sleep(c)
    <%%KEEPWHITESPACE%%>  except ValueError:
    <%%KEEPWHITESPACE%%>    print("Not an interger valye")