Exemple #1
0
def motor_init():
    if not GPIO.init():
        print "please run using root privilege."
        return False

    for gpio in GPIOS:
        GPIO.setcfg(gpio, GPIO.OUT)

    return True
def init_pins(all_pins):
    #init module
    GPIO.init()
    for pin in all_pins:
        #configure module
        cfgs = all_pins[pin]
        GPIO.setcfg(pin, cfgs[0])
        config = GPIO.getcfg(cfgs[0])
        GPIO.output(pin, cfgs[1])
    GPIO.output(mr_pin, GPIO.HIGH)
Exemple #3
0
def init(mode):

    print("Selected mode: " + str(mode))

    if mode < 0 or mode > 3:
        raise ModeError(mode)

    global MODE
    MODE = mode

    GPIO.init()

    GPIO.setcfg(MOSI, OUT)
    GPIO.setcfg(MISO, IN)
    GPIO.setcfg(SCK, OUT)
    GPIO.setcfg(CS, OUT)

    if mode == 0 or mode == 1:
        GPIO.output(CS, HIGH)
        GPIO.output(SCK, LOW)
        GPIO.output(MOSI, LOW)

    else:
        GPIO.output(CS, HIGH)
        GPIO.output(SCK, HIGH)
        GPIO.output(MOSI, HIGH)

    return
Exemple #4
0
def init(mode):
    
    print ("Selected mode: " + str(mode))
    
    if mode < 0 or mode > 3:
        raise ModeError(mode);        
    
    global MODE
    MODE = mode
    
    GPIO.init()
  
    
    GPIO.setcfg(MOSI, OUT)
    GPIO.setcfg(MISO, IN)
    GPIO.setcfg(SCK, OUT)
    GPIO.setcfg(CS, OUT)
    
    if mode == 0 or mode == 1:
        GPIO.output(CS, HIGH)
        GPIO.output(SCK, LOW)
        GPIO.output(MOSI, LOW)
    
    else:
        GPIO.output(CS, HIGH)
        GPIO.output(SCK, HIGH)
        GPIO.output(MOSI, HIGH)
        
    return
def Init (clock = SPICLK, miso = SPIMISO,
          mosi = SPIMOSI, cs = SPICS, min_channel = 0,
          max_channel = 2, vref = VREF,
          apply_voltage_divider = APPLY_VOLTAGE_DIVIDER,
          r = RESISTANCES):
    '''
    clock: indicates clock pin
    miso: indicates master input slave output pin
    mosi: indicates master input slave output pin
    cs: chip selection pin
    min_channel: indicates the minimum channel where receive the analog inputs
    min_channel: indicates the maximum channel where receive the analog inputs
    apply_voltage_divider: indicates wether to apply the voltage divider in the calc of the read voltage
    r1: value of the R1 resistance in the voltage divider
    r2: value of the R2 resistance in the voltage divider
    '''
    ADC = {}
    ADC['clk'] = clock
    ADC['miso'] = miso
    ADC['mosi'] = mosi
    ADC['cs'] = cs
    ADC['vref'] = vref
    ADC['voltage_div'] = apply_voltage_divider
    ADC['r'] = r
    ADC['error'] = (False, None)

    if ((max_channel > 7) or (min_channel < 0)):
        ADC['error'] = (True, "Unable to create the ADC. The values for the channels are not in the range (0,7)")
        return ADC
    
    ADC['maxch'] = max_channel
    ADC['minch'] = min_channel

    # set up the SPI interface pins
    GPIO.init ()
    GPIO.setcfg(mosi, GPIO.OUT)
    GPIO.setcfg(miso, GPIO.IN)
    GPIO.setcfg(clock, GPIO.OUT)
    GPIO.setcfg(cs, GPIO.OUT)


    return ADC
Exemple #6
0
    def enable(self, intensity=7):
        GPIO.init()
        GPIO.setcfg(self.dio, GPIO.OUT)
        GPIO.setcfg(self.clk, GPIO.OUT)
        GPIO.setcfg(self.stb, GPIO.OUT)

        GPIO.output(self.stb, GPIO.HIGH)
        GPIO.output(self.clk, GPIO.HIGH)

        self.send_command(0x40)
        self.send_command(0x80 | 8 | min(7, intensity))

        GPIO.output(self.stb, GPIO.LOW)
        self.send_byte(0xC0)
        for i in range(16):
            self.send_byte(0x00)
        GPIO.output(self.stb, GPIO.HIGH)
Exemple #7
0
    def enable(self, intensity=7):
        GPIO.init()
        GPIO.setcfg(self.dio, GPIO.OUT)
        GPIO.setcfg(self.clk, GPIO.OUT)
        GPIO.setcfg(self.stb, GPIO.OUT)

        GPIO.output(self.stb,GPIO.HIGH)
        GPIO.output(self.clk,GPIO.HIGH)

        self.send_command(0x40)
        self.send_command(0x80 | 8 | min(7, intensity))

        GPIO.output(self.stb,GPIO.LOW)
        self.send_byte(0xC0)
        for i in range(16):
            self.send_byte(0x00)
        GPIO.output(self.stb,GPIO.HIGH)
Exemple #8
0
def setup_leds():
  global RED_LED
  global GREEN_LED
  global YELLOW_LED
  
  RED_LED = GPIO.PG5
  GREEN_LED = GPIO.PG1
  YELLOW_LED = GPIO.PG2  
  
  GPIO.init()
  GPIO.setcfg(RED_LED, GPIO.OUT)
  GPIO.setcfg(GREEN_LED, GPIO.OUT)
  GPIO.setcfg(YELLOW_LED, GPIO.OUT)
  
  NOK_ON()
  OK_ON()
  STATUS_ON()
  time.sleep(1)
  NOK_OFF()
  OK_OFF()
Exemple #9
0
import SUNXI_GPIO as GPIO
import time
RED_LED = GPIO.PD0

GPIO.init()
GPIO.setcfg(RED_LED, GPIO.OUT)

while True:
    GPIO.output(RED_LED, GPIO.HIGH)
    print 'high'
    time.sleep(1)
    GPIO.output(RED_LED, GPIO.LOW)
    print 'low'
time.sleep(1)
import SUNXI_GPIO as GPIO
import time

RED_LEDS = (GPIO.PG0, GPIO.PG1, GPIO.PG2, GPIO.PG3, GPIO.PG4, GPIO.PG5,
            GPIO.PG6, GPIO.PG7, GPIO.PC19, GPIO.PC20, GPIO.PC21, GPIO.PC22,
            GPIO.PB18, GPIO.PB19)

GPIO.init()

for led in RED_LEDS:
    GPIO.setcfg(led, GPIO.OUT)
    GPIO.output(led, GPIO.HIGH)
    time.sleep(0.3)
    GPIO.output(led, GPIO.LOW)
Exemple #11
0
            res = res + '\n' + list[u'name'] + ' ' + list[
                u'info'] + ' ' + list[u'detailurl'] + '\n'
        return ans.json()[u'text'] + '\n' + res


def tts(tex):
    ans = requests.get(tts_server + '?tex=' + tex +
                       '&lan=zh&cuid=112233445566&ctp=1&tok=' + access_token)
    audio = open('./tmp.mp3', 'wb')
    audio.write(ans.content)


GPIO.init()
BUTTON = GPIO.PD2
LED = GPIO.PD1
GPIO.setcfg(BUTTON, GPIO.IN)
GPIO.setcfg(LED, GPIO.OUT)

r = 0
print "Ready"
while True:
    state = GPIO.input(BUTTON)
    if state == GPIO.HIGH and r == 0:
        child = subprocess.Popen(
            "arecord -D \"plughw:1,0\" -r 16000 -c 1 -f S16_LE ./tmp.wav",
            shell=True)
        r = 1
    elif state == GPIO.LOW and r == 1:
        print child.pid
        time.sleep(0.2)
        subprocess.call("kill " + str(child.pid + 1), shell=True)
Exemple #12
0
#!/usr/bin/env python

import SUNXI_GPIO as GPIO

turn_foward = GPIO.PD0
turn_back = GPIO.PD1
turn_left = GPIO.PD2
turn_right = GPIO.PD3
steer_up = GPIO.PD5
steer_down = GPIO.PD6
steer_left = GPIO.PD8
steer_right = GPIO.PD9
steer_center = GPIO.PD4

GPIO.init()
GPIO.setcfg(turn_foward, GPIO.OUT)
GPIO.setcfg(turn_back, GPIO.OUT)
GPIO.setcfg(turn_left, GPIO.OUT)
GPIO.setcfg(turn_right, GPIO.OUT)
GPIO.setcfg(steer_up, GPIO.OUT)
GPIO.setcfg(steer_down, GPIO.OUT)
GPIO.setcfg(steer_left, GPIO.OUT)
GPIO.setcfg(steer_right, GPIO.OUT)
GPIO.setcfg(steer_center, GPIO.OUT)


def reset():
    GPIO.output(turn_foward, GPIO.LOW)
    GPIO.output(turn_back, GPIO.LOW)
    GPIO.output(turn_left, GPIO.LOW)
    GPIO.output(turn_right, GPIO.LOW)
Exemple #13
0
import SUNXI_GPIO as GPIO
import time

RED_LED = GPIO.PD0

GPIO.init()
GPIO.setcfg(RED_LED, GPIO.OUT)

while True:
    GPIO.output(RED_LED, GPIO.HIGH)
    print 'high'
    time.sleep(1)
    GPIO.output(RED_LED, GPIO.LOW)
    print 'low'
time.sleep(1)
Exemple #14
0
import SUNXI_GPIO as GPIO
import time

RED_LEDS = (GPIO.PG0, GPIO.PG1, GPIO.PG2, GPIO.PG3, GPIO.PG4, GPIO.PG5,
            GPIO.PG6, GPIO.PG7, GPIO.PC19, GPIO.PC20, GPIO.PC21, GPIO.PC22,
            GPIO.PB18, GPIO.PB19)

GPIO.init()

GPIO.setcfg(RED_LEDS[0], GPIO.OUT)
old = time.time()
state = GPIO.LOW
for i in range(0, 100000):
    GPIO.output(RED_LEDS[0], state)
    time.sleep(0.1)
    if state == GPIO.LOW:
        state = GPIO.HIGH
    else:
        state = GPIO.LOW

print("time: %f" % (time.time() - old))
Exemple #15
0
		return ans.json()[u'text']+'\n'+res
	elif ans.json()['code'] == 308000:
		res = ""
		for list in ans.json()[u'list']:
			res = res +'\n' + list[u'name']+ ' ' +list[u'info']+ ' ' +list[u'detailurl']+'\n'
		return ans.json()[u'text']+'\n'+res

def tts(tex):
	ans = requests.get(tts_server+'?tex='+tex+'&lan=zh&cuid=112233445566&ctp=1&tok='+access_token)
	audio = open('./tmp.mp3','wb')
	audio.write(ans.content)

GPIO.init()
BUTTON = GPIO.PD2
LED = GPIO.PD1
GPIO.setcfg(BUTTON, GPIO.IN)
GPIO.setcfg(LED, GPIO.OUT)

r = 0
print "Ready"
while True:
	state = GPIO.input(BUTTON)
	if state == GPIO.HIGH and r == 0 :
		child = subprocess.Popen("arecord -D \"plughw:1,0\" -r 16000 -c 1 -f S16_LE ./tmp.wav",shell=True)
		r = 1
	elif state == GPIO.LOW and r == 1 :
		print child.pid
		time.sleep(0.2)
		subprocess.call("kill "+str(child.pid+1), shell=True)
		r = 0
		#subprocess.call("python wav.py ./tmp.wav",shell=True,stdout=subprocess.PIPE,stderr=subprocess.PIPE)
def initLcd():
    # setup
    for d in DATA_IO:
        GPIO.setcfg(d, GPIO.OUT)
        GPIO.output(d, GPIO.LOW)

    GPIO.setcfg(LCD_RD, GPIO.OUT)
    GPIO.setcfg(LCD_WR, GPIO.OUT)
    GPIO.setcfg(LCD_RS, GPIO.OUT)
    GPIO.setcfg(LCD_CS, GPIO.OUT)
    GPIO.setcfg(LCD_REST, GPIO.OUT)

    GPIO.output(LCD_RD, GPIO.HIGH)
    GPIO.output(LCD_WR, GPIO.HIGH)
    GPIO.output(LCD_RS, GPIO.HIGH)
    GPIO.output(LCD_CS, GPIO.HIGH)
    GPIO.output(LCD_REST, GPIO.HIGH)

    # init
    GPIO.output(LCD_REST, GPIO.HIGH)
    time.sleep(0.005)
    GPIO.output(LCD_REST, GPIO.LOW)
    time.sleep(0.015)
    GPIO.output(LCD_REST, GPIO.HIGH)
    time.sleep(0.015)

    GPIO.output(LCD_CS, GPIO.HIGH)
    GPIO.output(LCD_WR, GPIO.HIGH)
    GPIO.output(LCD_CS, GPIO.LOW)
    #CS

    Lcd_Write_Com(0xCB)
    Lcd_Write_Data(0x39)
    Lcd_Write_Data(0x2C)
    Lcd_Write_Data(0x00)
    Lcd_Write_Data(0x34)
    Lcd_Write_Data(0x02)

    Lcd_Write_Com(0xCF)
    Lcd_Write_Data(0x00)
    Lcd_Write_Data(0XC1)
    Lcd_Write_Data(0X30)

    Lcd_Write_Com(0xE8)
    Lcd_Write_Data(0x85)
    Lcd_Write_Data(0x00)
    Lcd_Write_Data(0x78)

    Lcd_Write_Com(0xEA)
    Lcd_Write_Data(0x00)
    Lcd_Write_Data(0x00)

    Lcd_Write_Com(0xED)
    Lcd_Write_Data(0x64)
    Lcd_Write_Data(0x03)
    Lcd_Write_Data(0X12)
    Lcd_Write_Data(0X81)

    Lcd_Write_Com(0xF7)
    Lcd_Write_Data(0x20)

    Lcd_Write_Com(0xC0)  #Power control
    Lcd_Write_Data(0x23)  #VRH[5:0]

    Lcd_Write_Com(0xC1)  #Power control
    Lcd_Write_Data(0x10)  #SAP[2:0];BT[3:0]

    Lcd_Write_Com(0xC5)  #VCM control
    Lcd_Write_Data(0x3e)  #Contrast
    Lcd_Write_Data(0x28)

    Lcd_Write_Com(0xC7)  #VCM control2
    Lcd_Write_Data(0x86)  #--

    Lcd_Write_Com(0x36)  # Memory Access Control
    Lcd_Write_Data(0x48)

    Lcd_Write_Com(0x3A)
    Lcd_Write_Data(0x55)

    Lcd_Write_Com(0xB1)
    Lcd_Write_Data(0x00)
    Lcd_Write_Data(0x18)

    Lcd_Write_Com(0xB6)  # Display Function Control
    Lcd_Write_Data(0x08)
    Lcd_Write_Data(0x82)
    Lcd_Write_Data(0x27)

    Lcd_Write_Com(0x11)  # Exit Sleep
    time.sleep(0.120)

    Lcd_Write_Com(0x29)  # Display on
    Lcd_Write_Com(0x2c)