Pioneers Project Autumn 2017
So my Pioneers have worked very hard on their project. I have been trying to mentor rather than teach, guiding them in the right direction and offering support (but not the answers) when they needed it. As a result the project did not get as far as I would have liked but they did it themselves, with the exception if the twitter API.
The lads have put together a really good piece of kit that with afew slight alterations I will be using to water my herbs in the kitchen, which never last more than a month because I forget to water them.
Please enjoy our video and the code for the project is attatched below.
#Water Sensor Python code import sys import time import RPi.GPIO as GPIO # Use BCM GPIO references GPIO.setmode(GPIO.BCM) StepPinForward=20 StepPinBackward=21 StepPinForward2=23 StepPinBackward2=24 GPIO.setup(StepPinForward, GPIO.OUT) GPIO.setup(StepPinBackward, GPIO.OUT) GPIO.setup(StepPinForward2, GPIO.OUT) GPIO.setup(StepPinBackward2, GPIO.OUT) import time import Adafruit_ADS1x15 adc = Adafruit_ADS1x15.ADS1015() GAIN = 1 while True: print ("left " + str(adc.read_adc(0, gain=GAIN))) WaterSonsor= (adc.read_adc(0, gain=GAIN)) if WaterSonsor<650: print ("switch motor on") GPIO.output(StepPinForward, GPIO.HIGH) while WaterSonsor<680: WaterSonsor= (adc.read_adc(0, gain=GAIN)) print (adc.read_adc(0, gain=GAIN)) time.sleep(0.5) print ("switch moter off") GPIO.output(StepPinForward, GPIO.LOW) print ("right" + str (adc.read_adc(1, gain=GAIN))) WaterSonsor2= (adc.read_adc(1, gain=GAIN)) if WaterSonsor2<770: print ("switch motor on") GPIO.output(StepPinForward2, GPIO.HIGH) while WaterSonsor2<400: WaterSonsor2= (adc.read_adc(1, gain=GAIN)) print (adc.read_adc(1, gain=GAIN)) time.sleep(0.5) print ("switch moter off") GPIO.output(StepPinForward2, GPIO.LOW)
#Camera post to twitter Python code import sys from twython import Twython CONSUMER_KEY = 'KEY' CONSUMER_SECRET = 'SECRET' ACCESS_KEY = 'KEY' ACCESS_SECRET = 'SECRET' twitter = Twython(CONSUMER_KEY,CONSUMER_SECRET,ACCESS_KEY,ACCESS_SECRET) import RPi.GPIO as GPIO import time import picamera import sys camera = picamera.PiCamera() time.sleep(1) camera.vflip =True camera.hflip=True timestr = time.strftime("%Y%m%d-%H%M%S") camera.capture(timestr +'.jpg') camera.capture("tweet.jpg") photo = open('tweet.jpg','rb') response = twitter.upload_media(media=photo) twitter.update_status(status='How are the crops geting on? We all have to eat in an apocalypse \#raspberrypioneers', media_ids=[response['media_id']]) quit()