# SPDX-FileCopyrightText: 2021 ladyada for Adafruit Industries # SPDX-License-Identifier: MIT import busio import digitalio import board import adafruit_mcp3xxx.mcp3004 as MCP from adafruit_mcp3xxx.analog_in import AnalogIn # create the spi bus spi = busio.SPI(clock=board.SCK, MISO=board.MISO, MOSI=board.MOSI) # create the cs (chip select) cs = digitalio.DigitalInOut(board.D5) # create the mcp object mcp = MCP.MCP3004(spi, cs) # create an analog input channel on pin 0 chan = AnalogIn(mcp, MCP.P0) print("Raw ADC Value: ", chan.value) print("ADC Voltage: " + str(chan.voltage) + "V")
# #close the file # file.close # create the spi bus spi = busio.SPI(clock=board.SCK, MISO=board.MISO, MOSI=board.MOSI) # create the cs (chip select) cs1 = digitalio.DigitalInOut(board.D22) cs2 = digitalio.DigitalInOut(board.D27) # create the mcp object mcp1 = MCP.MCP3008(spi, cs1) mcp2 = MCP.MCP3008(spi, cs2) # create an analog input channel on pin 0 chan0 = AnalogIn(mcp1, MCP.P0) chan1 = AnalogIn(mcp1, MCP.P1) chan2 = AnalogIn(mcp1, MCP.P2) chan3 = AnalogIn(mcp1, MCP.P3) chan4 = AnalogIn(mcp1, MCP.P4) chan5 = AnalogIn(mcp1, MCP.P5) chan6 = AnalogIn(mcp1, MCP.P6) chan7 = AnalogIn(mcp1, MCP.P7) chan8 = AnalogIn(mcp2, MCP.P0) chan9 = AnalogIn(mcp2, MCP.P1) chan10 = AnalogIn(mcp2, MCP.P2) chan11 = AnalogIn(mcp2, MCP.P3) chan12 = AnalogIn(mcp2, MCP.P4) chan13 = AnalogIn(mcp2, MCP.P5) chan14 = AnalogIn(mcp2, MCP.P6) chan15 = AnalogIn(mcp2, MCP.P7)
except: sleep(15) continue print("Selected {}".format(bulb.get_label())) # set up sensors # create the spi bus spi = busio.SPI(clock=board.SCK, MISO=board.MISO, MOSI=board.MOSI) # create the cs (chip select) cs = digitalio.DigitalInOut(board.D5) # create the mcp object mcp = MCP.MCP3008(spi, cs) # create an analog input channel on pin 0 chan0 = AnalogIn(mcp, MCP.P0) chan1 = AnalogIn(mcp, MCP.P1) chan2 = AnalogIn(mcp, MCP.P2) chan3 = AnalogIn(mcp, MCP.P3) chan4 = AnalogIn(mcp, MCP.P4) client = mongo_setup(f) db = client.mastersProject # collection = db.datalog1 # Pi 1 collection = db.datalog2 # Pi 2 # collection1 = db.activitylog1 # Pi 1 collection1 = db.activitylog2 # Pi 2 def main():
import board import digitalio import adafruit_mcp3xxx.mcp3008 as MCP from adafruit_mcp3xxx.analog_in import AnalogIn #import matplotlib.pyplot as plt import numpy as np import statistics t0 = time.time() t1 = 0 delay = 0.0001 spi = busio.SPI(clock=board.SCK, MISO=board.MISO, MOSI=board.MOSI) cs = digitalio.DigitalInOut(board.D19) mcp = MCP.MCP3008(spi, cs) channel = AnalogIn(mcp, MCP.P0) ####################################### voltList = [] voltListSize = 1000 timeList = [] while len(voltList) < voltListSize: reading = channel.voltage voltList.append(reading) #print(str(reading)) timeList.append(time.time()) #time.sleep(delay) #for i in range(0,voltListSize) :
def OD(): global optical_density global media #setup the LED for optical density led = 12 pi.set_mode(led, pigpio.ALT5) pi.set_PWM_range(led, 100) #range is now 0-100 pi.set_PWM_frequency(led, 10000) #set the frequency # set up pins for peristaltic pumps for media en1 = 18 # media pump enable m_in = 25 # media in m_out = 24 # media out m_OD = 16 # OD pump GPIO.setup(en1, GPIO.OUT) GPIO.setup(m_in, GPIO.OUT) GPIO.setup(m_out, GPIO.OUT) GPIO.setup(m_OD, GPIO.OUT) GPIO.output(en1, False) GPIO.output(m_in, False) GPIO.output(m_out, False) GPIO.output(m_OD, False) # create an analog input channel on pin 1 chan1 = AnalogIn(mcp, MCP.P0) #OD raw = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0] # while True: for d in range(1, 101): summation = 0 # turn on the LED and motor # GPIO.output(m_OD, True) pi.set_PWM_dutycycle(led, 5) # read 10 values at 0.5 sec intervals from the photoresistor for i in range(10): raw[i] = chan1.voltage time.sleep(0.5) pi.set_PWM_dutycycle(led, 0) # turn off the LED GPIO.output(m_OD, False) # and motor # go through and order the readings from smallest to largest for i in range(10): for j in range(i + 1, 10): if raw[i] > raw[ j]: # go through and order the readings from smallest to largest #temp = raw[i] #raw[i] = raw[j] #raw[i] = temp raw[i], raw[j] = raw[j], raw[i] # average the middle six readings together for i in range(2, 8): summation += raw[i] average = summation / 6 optical_density = round(average, 2) print(d, optical_density) # change out media if the OD is higher than the setpoint if optical_density > setpoint_OD: media = 'IN' GPIO.output(en1, True) GPIO.output(m_out, True) time.sleep(10) media = 'OUT' GPIO.output(m_out, False) GPIO.output(m_in, True) time.sleep(10) media = 'OFF' GPIO.output(en1, False) GPIO.output(m_in, False) time.sleep(.1 * 60) # take OD every minute. Also allows for
import busio import digitalio import board import adafruit_mcp3xxx.mcp3008 as MCP from adafruit_mcp3xxx.analog_in import AnalogIn # Local Application Imports from functions.writing_functions import make_dir, write_data make_dir('files') # create the spi bus spi = busio.SPI(clock=board.SCK, MISO=board.MISO, MOSI=board.MOSI) # create the cs (chip select) cs = digitalio.DigitalInOut(board.D5) # create the mcp object mcp = MCP.MCP3008(spi, cs) for i in range(0,30): airSensor = AnalogIn(mcp, MCP.P3) print(airSensor.value) sleep(1) for i in range(0,30): iLED = AnalogIn(mcp, MCP.P2) print(iLED.value) sleep(1)
def getAnalog(pin): # Pin in range from 0-7 chan = AnalogIn(mcp, pins[pin]) return chan.voltage
def getAnalogPercent(pin): chan = AnalogIn(mcp, pins[pin]) return chan.voltage / 3.3
import digitalio import board import adafruit_mcp3xxx.mcp3008 as MCP from adafruit_mcp3xxx.analog_in import AnalogIn # create the spi bus spi = busio.SPI(clock=board.SCK, MISO=board.MISO, MOSI=board.MOSI) # create the cs (chip select) cs = digitalio.DigitalInOut(board.D5) # create the mcp object mcp = MCP.MCP3008(spi, cs) # create an analog input channel on pin 0 for temperature tempchan = AnalogIn(mcp, MCP.P0) # create an analog input channel on pin 1 for humidity humchan = AnalogIn(mcp, MCP.P1) #create a telnet object for given ip and port tn = telnetlib.Telnet("ip.address.of.LEDboard", "8080") temp = 0 hum = 0 #sends updated value to LED board every 20 seconds while 1: #read temp and humidity values temp = tempchan.value
# Declaring that I am referencing GPIO Number GPIO.setmode(GPIO.BCM) print("Initializing relays...") for i in range(len(relays)): GPIO.setup(relays[i], GPIO.OUT, initial=1) GPIO.output(relays[i], GPIO.HIGH) print("Relay at GPIO " + str(relays[i]) + " initialized...") # Initiating the MCP3008 for analog inputs spi = busio.SPI(clock=board.SCK, MISO=board.MISO, MOSI=board.MOSI) cs = digitalio.DigitalInOut(board.D5) mcp = MCP.MCP3008(spi, cs) print("MCP3008 chip initialized...") # Grabbing value from channel 0 on the MCP3008 channel0 = AnalogIn(mcp, MCP.P0) # Grabbing value from channel 1 on the MCP3008 channel1 = AnalogIn(mcp, MCP.P1) print("Analog input devices declared...") time.sleep(1) # Calibrated to each sensor # Sensor 1, Sensor 2, etc oldMin = [1.7724879835202563, 1.7724879835202563] oldMax = [3.200126486610208, 2.9036575875486377] # Create the range list oldRange = [] for i in range(len(oldMin)): calc = oldMax[i] - oldMin[i] oldRange.append(calc)
# Create the I2C interface. i2c = busio.I2C(SCL, SDA) # Create the SSD1306 OLED class. # The first two parameters are the pixel width and pixel height. Change these # to the right size for your display! disp = adafruit_ssd1306.SSD1306_I2C(128, 32, i2c) # Create the SPI Bus spi = busio.SPI(clock=board.SCK, MISO=board.MISO, MOSI=board.MOSI) # Create the cs (chip select) cs = digitalio.DigitalInOut(board.D8) # Create the mcp object mcp = MCP.MCP3008(spi, cs) #create an analog input channel on pin 0, 1 and 2 InputVoltage = AnalogIn(mcp, MCP.P2) Button1 = AnalogIn(mcp, MCP.P0) Button2 = AnalogIn(mcp, MCP.P1) #create the fan object Fan = digitalio.DigitalInOut(board.D25) Fan.direction = digitalio.Direction.OUTPUT #Control this pin by using Fan.value = True or Fan.value = False ON_THRESHOLD = 62 OFF_THRESHOLD = 52 disp.fill(0) #clear display disp.show() # Create blank image for drawing. # Make sure to create image with mode '1' for 1-bit color. width = disp.width
accel_z_1 = -1 accel_x_2 = -1 accel_y_2 = -1 accel_z_2 = -1 gyro_x_1 = -1 gyro_y_1 = -1 gyro_z_1 = -1 gyro_x_2 = -1 gyro_y_2 = -1 gyro_z_2 = -1 # MCP connected to D5 # mcp5_p0 = AnalogIn(mcp5, MCP.P0) mcp5_p1 = AnalogIn(mcp5, MCP.P1) mcp5_p2 = AnalogIn(mcp5, MCP.P2) mcp5_p3 = AnalogIn(mcp5, MCP.P3) mcp5_p4 = AnalogIn(mcp5, MCP.P4) mcp5_p5 = AnalogIn(mcp5, MCP.P5) mcp5_p6 = AnalogIn(mcp5, MCP.P6) mcp5_p7 = AnalogIn(mcp5, MCP.P7) # MCP connected to D6 # mcp6_p0 = AnalogIn(mcp6, MCP.P0) mcp6_p1 = AnalogIn(mcp6, MCP.P1) mcp6_p2 = AnalogIn(mcp6, MCP.P2) mcp6_p3 = AnalogIn(mcp6, MCP.P3) mcp6_p4 = AnalogIn(mcp6, MCP.P4) mcp6_p5 = AnalogIn(mcp6, MCP.P5)
from time import sleep import busio import digitalio import board import adafruit_mcp3xxx.mcp3008 as MCP from adafruit_mcp3xxx.analog_in import AnalogIn spi = busio.SPI(clock=board.SCK, MISO=board.MISO, MOSI=board.MOSI) cs = digitalio.DigitalInOut(board.D5) mcp = MCP.MCP3008(spi, cs) chan_0 = AnalogIn(mcp, MCP.P0) chan_1 = AnalogIn(mcp, MCP.P1) while True: print(chan_1.value) print(chan_1.voltage) sleep(0.5)