def write(self, value): if value is True: GPIO.output(self.ch_port, GPIO.HIGH) elif value is False: GPIO.output(self.ch_port, GPIO.LOW) else: return super(GPIOOutput, self).write(value)
def shoot(self,wait=0.5): ##focus... GPIO.output(self.pin1,True) sleep(wait) ## shutter release GPIO.output(self.pin2, True) sleep(wait) ##clean up GPIO.output(self.pin1, False) GPIO.output(self.pin2, False)
def __init__(self, pinDir, pinPWM): self.dirPin = pinDir self.pwmPin = pinPWM GPIO.setup(self.dirPin, GPIO.OUT) GPIO.output(self.dirPin, GPIO.LOW) GPIO.setup(self.pwmPin, GPIO.OUT) self.pwmControl = GPIO.PWM(self.pwmPin, 10000) self.pwmControl.start(0)
import os from time import sleep import Rpi.GPIO as GPIO GPIO.setmode(GPIO.BCM) GPIO.setup(23, GPIO.IN) GPIO.setup(24, GPIO.IN) GPIO.setup(25, GPIO.IN) while True: if(GPIO.input(23) == False): os.system('amixer -q sset Master 3%+') if(GPIO.input(24) == False): os.system('amixer -q sset Master 3%-') if(GPIO.input(25) == False): os.system('mpc clear') sleep(0.1)
def stop : print('STOP') GPIO.output(m11, 0) GPIO.output(m12, 0) GPIO.output(m21, 0) GPIO.output(m22, 0)
import Rpi.GPIO as GPIO import numpy as np import imutils import cv2 import serial import time lf = 16 lb = 18 en1 = 22 rf = 23 rb = 21 en2 = 19 GPIO.setup(lf,GPIO.OUT) GPIO.setup(lb,GPIO.OUT) GPIO.setup(en1,GPIO.OUT) GPIO.setup(rf,GPIO.OUT) GPIO.setup(rb,GPIO.OUT) GPIO.setup(en2,GPIO.OUT) def straight(): GPIO.output(lf,GPIO.HIGH) GPIO.output(lb,GPIO.LOW) GPIO.output(en1,GPIO.HIGH) GPIO.output(rf,GPIO.HIGH) GPIO.output(rb,GPIO.LOW) GPIO.output(en2,GPIO.HIGH)
def __init__(self, ch_port): super(GPIOInput, self).__init__(ch_port) GPIO.setup(ch_port, GPIO.IN)
def SetTriggerPin(): gpio.setmode(gpio.BOARD) gpio.setup(TRIGGER, gpio.IN)
# -*- coding: utf-8 -*- import Rpi.GPIO as gpio import os import time num = open('numeroTeste.txt','r') teste = int(num.readline()) num = open('numeroTeste.txt','w') num.writelines(str(teste+1)) num.close() PIN = 18 gpio.setmode(gpio.BCM) gpio.setup(PIN, gpio.IN, pull_up_down = gpio.PUD_DOWN) gpio.add_event_detect(PIN, gpio.RISING) nome_Arquivo = ('dadosTempertatura_Teste_'+str(teste) +'.txt') arquivo = open(nome_Arquivo,'w') def measure_temp(): temp = os.popen("sudo vcgencmd measure_temp").readline() return (temp.replace("temp=","")) def temp_cpu(): a =open("/sys/class/thermal/thermal_zone0/temp") temp = a.readline() a.close() return (float (temp.replace("temp=","")))/1000
from ubidots import ApiClient import Rpi.GPIO as GPIO import time import picamera from time import sleep GPIO.setwarnings(False) GPIO.setmode(GPIO.BOARD) GPIO.setup(11,GPIO.IN) api=ApiClient("2355dc90c5e93fc697295b33f9a6ed4e5003c2e1") #create a "Variable" object test_variable=api.get_variable("566993407625420e4e82690a") while True: i=GPIO.input(11) i=0 if i==1 test_variable.save_value({'value':1}) camera=picamera.PiCamera() camera.capture('suyash.jpg') camera.start_preview() camera.vflip=True camera.hflip=True camera.brightness=60 sleep(10)
def blinkLed(self, duration): GPIO.output(led, HIGH) time.sleep(duration) GPIO.output(led, LOW) time.sleep(duration)
import Rpi.GPIO as GPIO, time GPIO.setmode(GPIO.BCM) GREEN_LED = 22 RED_LED = 21 GPIO.setup(GREEN_LED, GPIO.OUT) GPIO.setup(RED_LED, GPIO.OUT) GPIO.output(GREEN_LED, True) time.sleep(5) GPIO.output(GREEN_LED, False)
popup.mainloop() # Raspberry Pi hardware SPI configuration. SPI_PORT = 0 SPI_DEVICE = 0 sensor = MAX31855.MAX31855(spi=SPI.SpiDev(SPI_PORT, SPI_DEVICE)) #Setting up GPIO pins GPIO.setmode(GPIO.BCM) GPIO.setup(18, GPIO.OUT) #---------USER DEFINED VARIABLES FROM THE UI ARE DECLARED HERE---------------------------------------------- #after some searching, the way python reads variables from C# is with sys.argv[] #in this program, I am assuming sys.argv[1] is the destination temperature and sys.argv[2] is a boolean for isF #In the C# front end, make sure to order the argv[] variables in the same way when you call the function #variable to keep track of whether the user entered in Fahrenheit isF = sys.argv[2] #The desired temperature entered by the user destTemp = sys.argv[1]
import Rpi.GPIO as GPIO from PyQt5.QtWidgets import QApplication, QLabel, QPushButton, QRadioButton, QDialog, QGridLayout, QVBoxLayout, QWidget, QLineEdit, QFormLayout import sys import numpy as np # import the numpy package import json # this package needed for processing csv file from collections import Counter # this is for dictionary construction with counting functionality import functools import time led = 8 GPIO.setmode(GPIO.BOARD) GPIO.setup(led, GPIO.OUT) class UI_blinkMorse(QDialog): def __init__(self): super(UI_blinkMorse, self).__init__() self.le = QLineEdit() self.le.setObjectName("host") self.le.setPlaceholderText( "enter few characters ..max 12 characters allowed") self.le.setMinimumWidth(500) self.pb = QPushButton() self.pb.setObjectName("blink") self.pb.setText("Blink") self.pb.clicked.connect(functools.partial(self.blink_morse)) self.label = QLabel()
import time from firebase import firebase firebase = firebase.FirebaseApplication('https://sapj01.firebaseio.com/') import Rpi.GPIO as GPIO GPIO.setmode(GPIO.BOARD) fanpin=29 tvpin=31 musicpin=33 lightpin=35 GPIO.setup(fanpin,GPIO.out,initial=0) GPIO.setup(tvpin,GPIO.out,initial=0) GPIO.setup(musicpin,GPIO.out,initial=0) GPIO.setup(lightpin,GPIO.out,initial=0) while True: fanpin = firebase.get('/','fan') tvpin = firebase.get('/','tv') musicpin = firebase.get('/','music') lightpin = firebase.get('/','light') print(fanpin," ",tvpin," ",musicpin," ",lightpin) time.sleep(1)
def press_button(): log('Debug: press_button') import Rpi.GPIO as GPIO GPIO.setmode(GPIO.BOARD) GPIO.setup(SERVER_POWER, GPIO.OUT) GPIO.setup(SERVER_RESET, GPIO.OUT) GPIO.setup(DESKTOP_POWER, GPIO.OUT) GPIO.setup(DESKTOP_RESET, GPIO.OUT) log('Debug: set up GPIO') try: if machine_to_control == "S": if button_to_press == "P": # Server Power GPIO.output(SERVER_POWER, True) log('Info: pressing server power button') time.sleep(BUTTON_PRESS_TIME) GPIO.output(SERVER_POWER, False) log('Info: button released') elif button_to_press == "R": # Server Reset GPIO.output(SERVER_RESET, True) log('Info: pressing server reset button') time.sleep(BUTTON_PRESS_TIME) GPIO.output(SERVER_RESET, False) log('Info: button released') elif button_to_press == "PH": # Server Power Hold GPIO.output(SERVER_POWER, True) log('Info: holding server power button') time.sleep(BUTTON_HOLD_TIME) GPIO.output(SERVER_POWER, False) log('Info: button released') else: log('Error: machine variables not set correctly') GPIO.cleanup() return if machine_to_control == "D": if button_to_press == "P": # Desktop Power GPIO.output(DESKTOP_POWER, True) log('Info: pressing desktop power button') time.sleep(BUTTON_PRESS_TIME) GPIO.output(DESKTOP_POWER, False) log('Info: button released') elif button_to_press == "R": # Desktop Reset GPIO.output(DESKTOP_RESET, True) log('Info: pressing desktop reset button') time.sleep(BUTTON_PRESS_TIME) GPIO.output(DESKTOP_RESET, False) log('Info: button released') elif button_to_press == "PH": # Desktop Power Hold GPIO.output(DESKTOP_POWER, True) log('Info: holding desktop power button') time.sleep(BUTTON_HOLD_TIME) GPIO.output(DESKTOP_POWER, False) log('Info: button released') else: log('Error: desktop variables not set correctly') GPIO.cleanup() return # TODO: catch and log the error. finally: GPIO.cleanup()
from random import randint import pygame import fight import Rpi.GPIO as GPIO switches = [18, 19, 20, 21] GPIO.setmode(GPIO.BCM) GPIO.setup(switches, GPIO.IN, pull_up_down=GPIO.PUD_DOWN) #setup display width, height = 800, 400 screen = pygame.display.set_mode((width, height)) # color WHITE = (255, 255, 255) RED = (255,0,0) BLACK = (0,0,0) # Images go here #sprites abombImg = pygame.image.load('abomb.png') gelatorImg = pygame.image.load('gelator.png') kroakenImg = pygame.image.load('kroaken.png') ericImg = pygame.image.load('eric.png') nachosImg = pygame.image.load('nachos.png') brickdoopImg = pygame.image.load('brickdoop.png') bottlerockerImg = pygame.image.load('bottlerocker.png') dracolichImg = pygame.image.load('dracolich1.png') arrowImg = pygame.image.load('arrow.png') background = pygame.image.load("background.png")
__author__ = 'dbailey6' import Rpi.GPIO as GPIO GPIO.setmode(GPIO.BOARD) class motor: """Hopefully a working motor class""" # initializes the motor def __init__(self, pinDir, pinPWM): self.dirPin = pinDir self.pwmPin = pinPWM GPIO.setup(self.dirPin, GPIO.OUT) GPIO.output(self.dirPin, GPIO.LOW) GPIO.setup(self.pwmPin, GPIO.OUT) self.pwmControl = GPIO.PWM(self.pwmPin, 10000) self.pwmControl.start(0) #controls motion forward at duty cycle set by speed def forward(self, speed): GPIO.output(self.dirPin, GPIO.LOW) self.pwmControl.ChangeDutyCycle(speed) print("Motor Forward at " + speed + "% duty cycle") #controls motion reverse at duty cycle set by speed def reverse(self, speed): GPIO.output(self.dirPin, GPIO.HIGH) self.pwmControl.ChangeDutyCycle(speed) print("Motor Reverse at " + speed + "% duty cycle") #stops motor
import Adafruit_DHT import time import Rpi.GPIO as GPIO from firebase import firebase GPIO.setmode(GPIO.BCM) firebase = firebase.FirebaseApplication( "https://autobots-219104.firebaseio.com/") result = firebase.post('/user', 'gayu') print(result) def dht11(): sensor = Adafruit_DHT.DHT11 gpio = 17 humidity, temperature = Adafruit_DHT.read_retry(sensor, gpio) while True: if humidity is not None and temperature is not None: return (temperature, humidity) else: return 0 time.sleep(3) var = dht11() sen_data = firebase.post('/user', var) def moisture(): channel = 26 GPIO.setmode(GPIO.BCM) GPIO.setup(channel, GPIO.IN)
def reverse(self, speed): GPIO.output(self.dirPin, GPIO.HIGH) self.pwmControl.ChangeDutyCycle(speed) print("Motor Reverse at " + speed + "% duty cycle")
def callback(channel): if GPIO.input(channel): return (1) else: return (0)
def forward : print('FORWARD') GPIO.output(m11,1) GPIO.output(m12,0) GPIO.output(m21,1) GPIO.output(m22,0)
#run program as sudo #use time.sleep(0.05) if servo not moving import numpy as np import cv2 #import serial import Rpi.GPIO as GPIO from PID import PIDController #ser = serial.Serial('COM10',9600) # multiple cascades: https://github.com/Itseez/opencv/tree/master/data/haarcascades GPIO.setmode(GPIO.BOARD) GPIO.setup(11, GPIO.OUT) pwm = GPIO.PWM(11, 50) pwm.start(5) #change so that it becomes 90 #pwm.ChangeDutyCycle(5 or 7.5 or 10 or custom) #pwm.stop() #GPIO.cleanup() #m=(y2-y1)/180, y-y1=m(x-0)=dutycycle #https://github.com/Itseez/opencv/blob/master/data/haarcascades/haarcascade_frontalface_default.xml face_cascade = cv2.CascadeClassifier( 'C:\\Users\\ataata107\\Downloads\\opencv\\build\\etc\\haarcascades\\haarcascade_frontalface_default.xml' ) cap = cv2.VideoCapture(1) val = 90 Center_x = 0 #-----------------------------------PID------------------------------------------ pid = PIDController(proportional=0.015, derivative_time=0, integral_time=0) pid.vmin, pid.vmax = -10, 10 pid.setpoint = 0.0 #aTargetDifference(m) TDifference = pid.setpoint baseAngle = 90
#!/usr/bin/python3 # A simple Raspberry pi 3 GPIO test # Written by # (except lines 5-13, these are from the RPi site raspberrypi.org/documentation/usage/python/more.md) # plscks import Rpi.GPIO as GPIO GPIO.setmode(GPIO.BCM) # set board mode to Broadcom GPIO.setup(17, GPIO.OUT) # set up pin 17 GPIO.setup(18, GPIO.OUT) # set up pin 18 GPIO.output(17, 1) # turn on pin 17 GPIO.output(18, 1) # turn on pin 18
import Rpi.GPIO as GPIO import time GPIO.cleanup() GPIO.setmode(GPIO.Board) n = 22 a = 38 b = 40 l = 16 r = 14 u = 12 GPIO.setup(r,GPIO.OUT) #Right Drive GPIO.setup(l,GPIO.OUT) #Left Drive GPIO.setup(a,GPIO.OUT) #A GPIO.setup(b,GPIO.OUT) #B #Drive Motors GPIO.output(l, False) GPIO.outout(r, False) #Rudder Motor GPIO.output(a, False) GPIO.output(b, False) #Vertical Motors GPIO.output(u, False) #Emergency Button GPIO.setup(n,GPIO.IN) GPIO.output(u,True) for s in range(1,10) sleep(1) if(GPIO.input(n)) GPIO.cleanup() sys.exit("Emergency shutdown")
def __init__(self, ch_port): super(GPIOOutput, self).__init__(ch_port) GPIO.setup(ch_port, GPIO.OUT)
import Rpi.GPIO as GPIO import time GPIO.setmode(GPIO.BOARD) GPIO.setwarnings(False) TRIG = 16 ECHO = 18 MOTOR_1A = 13 MOTOR_1B = 15 MOTOR_1E = 7 MOTOR_2E = 11 GPIO.setup(TRIG, GPIO.OUT) GPIO.setup(ECHO, GPIO.IN) GPIO.setup(MOTOR_1A, GPIO.OUT) GPIO.setup(MOTOR_1B, GPIO.OUT) GPIO.setup(MOTOR_1E, GPIO.OUT) GPIO.setup(MOTOR_2E, GPIO.OUT) while 1: print("DISTANCE MEASUREMENT IN PROGRESS") GPIO.output(TRIG. False) print("WAITING FOR SENSOR TO SETTLE") time.sleep(2) GPIO.output(TRIG, True) time.sleep(0.00001) GPIO.output(TRIG, False) while GPIO.input(ECHO == 0):
but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. ''' ''' Import relevant libraries ''' import Rpi.GPIO as GPIO import sys import os from subprocess import Popen ''' Setup GPIO pins on the Raspberry Pi ''' GPIO.setmode(GPIO.BCM) GPIO.setup(14, GPIO.IN, pull_up_down=GPIO.PUD_UP) GPIO.setup(15, GPIO.IN, pull_up_down=GPIO.PUD_UP) GPIO.setup(18, GPIO.IN, pull_up_down=GPIO.PUD_UP) GPIO.setup(23, GPIO.IN, pull_up_down=GPIO.PUD_UP) GPIO.setup(24, GPIO.IN, pull_up_down=GPIO.PUD_UP) ''' Set up movie locations and names ''' movie1 = ("/home/pi/Videos/movie1.mp4") movie2 = ("/home/pi/Videos/movie2.mp4") movie3 = ("/home/pi/Videos/movie3.mp4") movie4 = ("/home/pi/Videos/movie4.mp4") ''' Set up state variables for the videos and GPIO pins ''' last_state1 = True last_state2 = True
import Rpi.GPIO as GPIO import time GPIO.setmode(GPIO.BCM) GPIO_TRIGGER=18 GPIO_ECHO24 GPIO.setup(GPIO_TRIGGER,GPIO.OUT) GPIO.setup(GPIO_-ECHO,GPIO.IN) Def distance(): GPIO.output(GPIO_TRIGGER,True) Time.sleep(0.0001) GPIO.output(GPIO_TRIGGER,False) StartTime=time.time() StopTime=time.time() while GPIO.input(GPIO_ECHO) == 0: StartTime = time.time() while GPIO.inut(GPIO_ECHO) ==1: StopTime=time.time() TimeElapsed=StopTime-StartTime distance=(TimeElapsed * 34300)/2 Return distance if__name__ == ‘__main__: try: while True:
import Rpi.GPIO as GPIO GPIO.setup(18, GPIO.OUT) GPIO.setup(11, GPIO.IN) while True: if GPIO.input(11): GPIO.output(18, True) else: GPIO.output(18, False)
import Rpi.GPIO as GPIO from lib_nrf24 import NRF24 import time import spidev GPIO.setmode(GPIO.BCM) pipes = [[0xE8, 0xE8, 0xF0, 0xF0, 0xE1], [0xF0, 0xF0, 0xF0, 0xF0, 0xE1]] radio = NRF24(GPIO, spidev.SpiDev) radio.begin(0, 17) radio.setPayloadSize(32) radio.setChannel(0x76) radio.setDataRate(NRF24.BR_1MBPS) radio.setPALevel(NRF24.PA_MIN) radio.setAutoAck(True) radio.enableDynamicPayloads() radio.enableAckPayload() radio.openReadingPipe(1, pipes[1]) radio.printDetails() radio.startListening() while True: while not radio.available(0): time.sleep(1 / 100) receivedMessage = [] radio.read(receivedMessage, radio.getDynamicPayloadSize())
def blink(pin): GPIO.output(pin,GPIO.HIGH) time.sleep(1) GPIO.output(pin,GPIO.LOW) time.sleep(1)
from gpiozero import Motor from time import sleep import Rpi.GPIO as GPIO motor = Motor(forward=26, backward=20) counter = 0 try: while counter < 10: motor.forward() sleep(5) motor.backward() sleep(5) counter +=1 finally: GPIO.cleanup()
import time import os import Rpi.GPIO as GPIO import sys import signal GPIO.setmode(GPIO>BCM) DEBUG = 1 def signal_handler(signal, frame): sys.exit(0) def readadc(adcnum, clockpin, mosipin, misopin, cspin): if((adcnum > 1) or (adcnum < 0)): return -1 GPIO.output(cspin, True) GPIO.output(clockpin, False) GPIO.output(cspin, False) commandout = adcnum commandout |= 0x18 commandout <<=3 for i in range(5): if(commandout & 0x80): GPIO.output(mosipin, True) else: GPIO.output(mosipin, False) commandout <<=1 GPIO.output(clockpin, True) GPIO.output(clockpin, False) adcout = 0
import Rpi.GPIO as GPIO import time GPIO.setmode(GPIO.BOARD) GPIO.setup(12,GPIO.IN,pull_up_down=GPIO.PUD_DOWN) while True: if(GPIO.input(12)==1): print 'Motion Detected' time.sleep(.1)
def forward(self, speed): GPIO.output(self.dirPin, GPIO.LOW) self.pwmControl.ChangeDutyCycle(speed) print("Motor Forward at " + speed + "% duty cycle")
if __name__ == '__main__': gpsp = GpsPoller() # create the thread try: gpsp.start() # start it up while True: #It may take a second or two to get good data #print gpsd.fix.latitude,', ',gpsd.fix.longitude,' Time: ',gpsd.utc os.system('clear') latitude = gpsd.fix.latitude longitude = gpsd.fix.longitude time = gpsd.utc,' + ', gpsd.fix.time #GPIO read GPIO.setup(11, GPIO.IN) button = GPIO.input(11) #if button is pressed than write to file if button = True: gpsdLog = open("GPSLOG.txt", "a") print(latitude, sep = "*", end="\n",file=gpsdLog) print(longitude, sep = "*", end="\n",file=gpsdLog) print(time, sep = "*", end="\n",file=gpsdLog) button = False time.sleep(5) #delay else: time.sleep(5) except (KeyboardInterrupt, SystemExit): #when you press ctrl+c print "\nKilling Thread..."
center = 26 count = 0 lat_a =0 lat_b =0 lat_c =0 lon_a =0 lon_b =0 lon_c =0 def display() print "\n\n\n\n\nLattitude :", lat_a, ".", lat_b, lat_c print "\n\nLongitude :", lon_a, ".", lon_b, lon_c GPIO.setmode(GPIO.BCM) GPIO.setup(left,GPIO.IN) GPIO.setup(right,GPIO.IN) GPIO.setup(up,GPIO.IN) GPIO.setup(down,GPIO.IN) GPIO.setup(center,GPIO.IN) def pluslat_a() lat_a += 1 display() def pluslat_b() if(lat_b < 9): lat_b += 1 display() else:
def back : print('BACK') GPIO.output(m11,0) GPIO.output(m12,1) GPIO.output(m21,0) GPIO.output(m22,1)
import socket import Rpi.GPIO as GPIO import sys import os mysock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) try: mysock.bind(("192.168.1.111", 12345)) except socket.error: print("Failed to bind") sys.exit() mysock.listen(5) while True: conn, addr = mysock.accept() print ('Connected by ', addr) data = conn.recv(1024) if not data: break if data =="1": print ('ONE') GPIO.output(7, True) if data == "2": GPIO.output(7, False) conn.sendall(data) os.system(str(data)) conn.sendall(data) conn.close() mysock.close()
def init(): gpio.setmode(gpio.BOARD) gpio.setup(7, gpio.OUT) gpio.setup(11, gpio.OUT)
import Rpi.GPIO as GPIO import time GPIO.setmode(GPIO.BOARD) GPIO.setup(11, GPIO.OUT) frequencyHertz = 50 pwm = GPIO.PWM(11, frequenyHertz) leftPosition = 0.75 rightPosition = 2.5 middlePosition = (rightPosition - leftPosition) / 2 + leftPosition position = [leftPosition, middlePosition, rightPosition, middlePosition] msPerCycle = 1000 / frequencyHertz for i in range(2): for position in positionList: dutyCuclePercentage = position * 100 / msPerCycle print "Position: " + str(position) print "Duty Cycle: " + str(dutyCyclePercentage) + "%" print "" pwm.start(dutyCyclePercentage) time.sleep(.5) pwm.stop() GPIO.cleanup()
# light cycle (12 hour schedule) using apscheduler let's specific sections of the code run at set time intervals, useful for different cycles sched = BlockingScheduler() @sched.scheduled_job('cron', day_of_week='mon-sun', hour=12) def scheduled_job(): return sched.configure(options_from_ini_file) sched.start() # pin selction for the pump io.setmode(ioBCM) io.setup(4, io.OUT) while True: io.output(4, 0) time.sleep(0, 30) io.output(4, 1) time.sleep(0, 30) # pin selction for the lights io.setmode(ioBCM) io.setup(5, io.OUT) while True: io.output(5, 0) time.sleep(0, 30) io.output(5, 1)
if __name__ == '__main__': gpsp = GpsPoller() # create the thread try: gpsp.start() # start it up while True: #It may take a second or two to get good data #print gpsd.fix.latitude,', ',gpsd.fix.longitude,' Time: ',gpsd.utc os.system('clear') latitude = gpsd.fix.latitude longitude = gpsd.fix.longitude time = gpsd.utc,' + ', gpsd.fix.time #GPIO read GPIO.setup(11, GPIO.IN, pull_up_down=GPIO.PUD_UP) button = GPIO.input(11) #if button is pressed than write to file if button == False: gpsdLog = open("GPSLOG.txt", "a") print(latitude, sep = "*", end="\n",file=gpsdLog) print(longitude, sep = "*", end="\n",file=gpsdLog) print(time, sep = "*", end="\n",file=gpsdLog) button = True time.sleep(3) #delay else: time.sleep(3) print("variables are resetting") except (KeyboardInterrupt, SystemExit): #when you press ctrl+c
plt.plot(x,data) plt.show() ########### Main Code ######### init() counterBR = np.uint64(0) counterFL = np.uint64(0) buttonBR = int(0) buttonFL = int(0) # Initialize pwm signal to control motor pwm = gpio.PWM(37,50) val = 16 pwm.start(val) # pwm input through pin 14 time.sleep(0.1) for i in range(0, 200000): print("counterBR = ", counterBR, "counterFL = ", counterFL, "BR state: ", gpio.input(12), "FL state: ", gpio.input(7)) if int(gpio.input(12) != int(buttonBR)): button = int(gpio.input(12)) #holds the state statesRight.append(button) counter += 1
def __init__(self): self.pin1 = pin1 self.pin2 = pin2 GPIO.setup(self.pin1, GPIO.OUT) GPIO.setup(self.pin2, GPIO.OUT)
def init(): gpio.setmode(gpio.BOARD) gpio.setup(31,gpio.OUT) #IN1 gpio.setup(33, gpio.OUT) #IN2 gpio.setup(35, gpio.out) #IN3 gpio.setup(37, gpio.out) #IN4 gpio.setup(12, gpio.IN, pull_up_down = gpio.PUD_UP) # back right encoder gpio.setup(7, gpio.IN, pull_up_down = gpio.PUD_UP) # front left encoder
def press_button(): log('Debug: press_button') import Rpi.GPIO as GPIO GPIO.setmode(GPIO.BOARD) GPIO.setup(SERVER_POWER, GPIO.OUT) GPIO.setup(SERVER_RESET, GPIO.OUT) GPIO.setup(DESKTOP_POWER, GPIO.OUT) GPIO.setup(DESKTOP_RESET, GPIO.OUT) log('Debug: set up GPIO') try: if machine_to_control == "S": if button_to_press == "P": # Server Power GPIO.output(SERVER_POWER, True) log('Info: pressing server power button') time.sleep(BUTTON_PRESS_TIME) GPIO.output(SERVER_POWER, False) log('Info: button released') elif button_to_press == "R": # Server Reset GPIO.output(SERVER_RESET, True) log('Info: pressing server reset button') time.sleep(BUTTON_PRESS_TIME) GPIO.output(SERVER_RESET, False) log('Info: button released') elif button_to_press == "PH": # Server Power Hold GPIO.output(SERVER_POWER, True) log('Info: holding server power button') time.sleep(BUTTON_HOLD_TIME) GPIO.output(SERVER_POWER, False) log('Info: button released') else: log('Error: machine variables not set correctly') GPIO.cleanup() return if machine_to_control == "D": if button_to_press == "P": # Desktop Power GPIO.output(DESKTOP_POWER, True) log('Info: pressing desktop power button') time.sleep(BUTTON_PRESS_TIME) GPIO.output(DESKTOP_POWER, False) log('Info: button released') elif button_to_press == "R": # Desktop Reset GPIO.output(DESKTOP_RESET, True) log('Info: pressing desktop reset button') time.sleep(BUTTON_PRESS_TIME) GPIO.output(DESKTOP_RESET, False) log('Info: button released') elif button_to_press == "PH": # Desktop Power Hold GPIO.output(DESKTOP_POWER, True) log('Info: holding desktop power button') time.sleep(BUTTON_HOLD_TIME) GPIO.output(DESKTOP_POWER, False) log('Info: button released') else: log('Error: desktop variables not set correctly') GPIO.cleanup() return # TODO: catch and log the error. finally: GPIO.cleanup()
def gameover(): gpio.output(31, FALSE) gpio.output(33, FALSE) gpio.output(35, FALSE) gpio.output(37, FALSE) gpio.cleanup()
(6, 'CH6'), (7, 'CH7'), ) class ChannelInUseError(Exception): pass channels_in_use = {} def __init__(self, ch_port): super(ADC, self).__init__(ch_port) def read(self): return SPIADC.read(self.ch_port) GPIO.setmode(GPIO.BCM) class GPIOInput(IRead): """ Maps to GPIO read only """ IO_TYPE = IBase.IO_TYPE_BINARY IO_CHOICES = ( (2, 'GPIO2 P3'), (3, 'GPIO3 P5'), (4, 'GPIO4 P7'), (7, 'GPIO7 P26'), (8, 'GPIO8 P24'), (9, 'GPIO9 P21'), (10, 'GPIO10 P19'), (11, 'GPIO11 P23'), (14, 'GPIO14 P8'),
import Rpi.GPIO as GPIO import time import firebase as firebase dev1 = 7 dev2 = 11 ac = 13 GPIO.setmode(GPIO.BOARD) GPIO.setup(dev1, GPIO.OUT) GPIO.setup(dev2, GPIO.OUT) GPIO.setup(ac, GPIO.OUT) firebase = firebase.FirebaseApplication( 'https://finalproject-3546d.firebaseio.com/', None) while True: device1 = firebase.get('device1on', None) device2 = firebase.get('device2on', None) ac_on = firebase.get('ac', None) if device1 == 2: GPIO.output(dev1, 1) if device2 == 3: GPIO.output(dev2, 1) if ac_on == 10: GPIO.output(ac, 1) if device1 == 0: GPIO.output(dev1, 0) if device2 == 1: GPIO.output(dev2, 0) if ac_on == 8: GPIO.output(ac, 0) GPIO.cleanup()
def read(self): """ Note: GPIO reads should be faster than network IO """ return GPIO.input(self.ch_port)
import os import time from sht1x.Sht1x import Sht1x as SHT1x import Rpi.GPIO as GPIO from Adafruit_BMP085 import BMP085 import smbus import math GPIO.setmode(GPIO.BOARD) GPIO.setup(8, GPIO.IN, pull_up_down=GPIO.PUD_DOWN) bus = smbus.SMBus(0) address = 0x1e def read_byte(adr): return bus.read_byte_data(address,adr) def read_word(adr):
import Rpi.GPIO as GPIO import time GPIO.setwarnings(False) GPIO.setmode(GPIO.BOARD) Motor = 16 Led = 8 IR = 10 GPIO.setup(Motor, GPIO.OUT) GPIO.setup(Led, GPIO.OUT) GPIO.setup(IR, GPIO.IN) if (GPIO.input(10) == 1): print("Turning on the Motor") GPIO.output(Motor, GPIO.HIGH) GPIO.output(Led, GPIO.HIGH) else: Print("no object detected") GPIO.output(Motor, GPIO.LOW) GPIO.output(Led, GPIO.LOW) GPIO.cleanup()
#face detecting based following robot import cv2 import time import Rpi.GPIO as GPIO GPIO.setmode(GPIO.BCM) GPIO.setup(4, GPIO.OUT) GPIO.setup(5, GPIO.OUT) GPIO.setup(6, GPIO.OUT) GPIO.setup(13, GPIO.OUT) # Load the cascade face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml') # To capture video from webcam. cap = cv2.VideoCapture(0) while True: # Read the frame _, img = cap.read() gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) faces = face_cascade.detectMultiScale(gray, 1.1, 4) for (x, y, w, h) in faces: cv2.rectangle(img, (x, y), (x + w, y + h), (255, 0, 0), 2) GPIO.output(5, True) time.sleep(1) GPIO.output(5, False) time.sleep(1)
def ReadTriggerPin(): return gpio.input(TRIGGER)
import Rpi.GPIO as GPIO import time GPIO.setmode(GPIO.BCM) TRIG=23 ECHO=24 print("DISTANCE IS IN PROGRESS) GPIO.setup(TRIG,GPIO.OUT) GPIO.setup(ECHO,GPIO.IN) GPIO.output(TRIG,False) time.sleep(2) GPIO.output(TRIG,True) time.sleep(0.00001) GPIO.output(TRIG,FALSE) while(GPIO.input(ECHO)==0): p_start=time.time() while(GPIO.input(ECHO)==1) p_end=time.time() p_dur=p_end-p_start distance=(p_dur)*17150 distance=round(distance,2) print("distance in cm is"+distance) GPIO.cleanup()
# this python file use for insert sensor data in database #import MyDB connection module import MyDB db = MyDB.DB() import Rpi.GPIO as GPIO import time sensorPin1 = 18 #Broadcom pin 18 #pin setup: GPIO.setmode(GPIO.BCM) #Broadcom pin numbering scheem GPIO.setup(sensorPin1, GPIO.IN, pull_up_down=GPIO.PUD_UP) # sensor pin set as input user_id = 1023 data = [user_id] try: while 1: if GPIO.input(sensorPin1): db.execute("INSERT INTO Zones (user_id,zone1) \ VALUES (%s, NOW() )", [data]); db.commit() print "Records created successfully"; db.close() except KeyboardInterrupt: # If CTRL+C is pressed, exit cleanly: GPIO.cleanup() # cleanup all GPIO
import Rpi.GPIO as GPIO import time GPIO.setwarnings(False) GPIO.setmode(GPIO.BCM) TRIG = 17 ECHO = 27 led = 22 m11 = 16 m12 = 12 m21 = 21 m22 = 20 en1 = 2 en2 = 3 GPIO.setup(TRIG, GPIO.OUT) GPIO.setup(ECHO, GPIO.IN) GPIO.setup(led, GPIO.OUT) GPIO.setup(m11, GPIO.OUT) GPIO.setup(m12, GPIO.OUT) GPIO.setup(m22, GPIO.OUT) GPIO.setup(en1, GPIO.OUT) GPIO.setup(en2, GPIO.OUT) p1 = GPIO.PWM(en1, 100) p2 = GPIO.PWM(en2, 100) GPIO.output(led, 1)