from time import sleep import pigpio from read_RPM import reader import RPi.GPIO as GPIO import busio import adafruit_ads1x15.ads1115 as ADS from adafruit_ads1x15.analog_in import AnalogIn import board i2c = busio.I2C(board.SCL, board.SDA) ads = ADS.ADS1115(i2c) chan4 = AnalogIn(ads,ADS.P3) GPIO.setmode(GPIO.BCM) pi = pigpio.pi() print("PINS SET") #Calibrate ESC ESC_GPIO = 13 pi.set_servo_pulsewidth(ESC_GPIO, 2000) # Maximum throttle print("MAXIMUM THROTTLE") sleep(2) pi.set_servo_pulsewidth(ESC_GPIO,1000) #Minimum throttle print("MINIMUM THROTTLE") sleep(2) #Set up RPM reader RPM_GPIO = 14 SAMPLE_TIME = 2.0 tach = reader(pi, RPM_GPIO) speed = 0 try: while 1: pi.set_servo_pulsewidth(ESC_GPIO, chan4.value*1000/32767 + 1000) rpm = tach.RPM() finally: pi.set_servo_pulsewidth(ESC_GPIO, 0) pi.stop()