11.1 Accelerometer

import RPi.GPIO as GPIO

import time

GPIO.setwarnings(False)

GPIO.setmode(GPIO.BOARD)

from contextlib import closing

import sys

import RPi.GPIO as GPIO

from time import sleep

GPIO.setwarnings(False)

GPIO.setmode(GPIO.BOARD)

GPIO.cleanup()

GPIO.setup(22,GPIO.OUT)

GPIO.setup(24,GPIO.OUT)

GPIO.setup(7,GPIO.OUT)

GPIO.setup(11,GPIO.OUT)

r1 = GPIO.PWM(22, 50)

r2 = GPIO.PWM(24, 50)

l1 = GPIO.PWM(11, 50)

l2 = GPIO.PWM(7, 50)

r1.start(0)

l1.start(0)

i=0

def forward1(i) :

if(i<100):

print('forward1')

r1.start(i)

l1.start(i)

l2.stop()

r2.stop()

sleep(0.1)

else :

print('forward2')

r1.ChangeDutyCycle(100)

l1.ChangeDutyCycle(100)

l2.stop()

r2.stop()

def reverse1(i) :

if(i<100):

print('reverse1')

r2.start(i)

l2.start(i)

l1.stop()

r1.stop()

sleep(0.1)

else :

print('reverse2')

r2.ChangeDutyCycle(100)

l2.ChangeDutyCycle(100)

l1.stop()

r1.stop()

def right1(i):

if(i<100):

print('right1')

r2.start(i)

l1.start(i)

sleep(0.1)

l2.stop()

r1.stop()

else :

print('right2')

r2.ChangeDutyCycle(100)

l1.ChangeDutyCycle(100)

l2.stop()

r1.stop()

def left1(i) :

if(i<100):

print('left1')

r1.start(i)

l2.start(i)

sleep(0.1)

l1.stop()

r2.stop()

else :

print('left2')

r1.ChangeDutyCycle(100)

l2.ChangeDutyCycle(100)

l1.stop()

r2.stop()

def stop() :

r1.stop()

l2.stop()

l1.stop()

r2.stop()

from i2clibraries import i2c_adxl345

adxl345=i2c_adxl345.i2c_adxl345(1)

try:

while True:

print(i)

(x,y,z)=adxl345.getAxes()

print(x,y,z)

sleep(0.1)

if(x<-0.2 and x>-1.5 and z<-0.2 and z>-1.5):

forward1(i)

print(i)

i=i+2

elif (x>-0.2 and x<0.2 and y>0.2 and y<1.5):

left1(i)

i=i+2

elif (x>-0.2 and x<0.2 and y<-0.2 and y>-1.5):

right1(i)

i=i+2

elif(x>0.2 and x<1.5 and z<-0.2 and z>-1.5):

reverse1(i)

i=i+2

else:

print("halt")

print(i)

i=0

stop()

except KeyboardInterrupt:

GPIO.cleanup()

results matching ""

    No results matching ""