#Arthur: Ehsan
#Import libraries
from machine import Pin, PWM
from time import sleep
#Name of the system
print("Anti Chicken Nator 4000")
#Turn on LED to indicate that system is ON
pin = Pin(32, Pin.OUT)
pin.value(1)
# Setup PWM for both servos with a frequency of 50Hz
servo1 = PWM(Pin(21), freq=50)
servo2 = PWM(Pin(19), freq=50)
# Function to write the angle to a given servo
def write_servo(servo, angle):
# Convert angle to duty cycle
duty = int((angle / 180) * 1023) # Ensure the duty cycle is within 0 to 1023
servo.duty(duty)
# Initialize position of 0 degrees
pos = 0
#Make our loop
while True:
sub = input("Subject: ")
if sub == "Rat": #function for Rat
print("Rat detected")
for pos in range(0, 14, 1):
write_servo(servo1, pos)
sleep(0.2) # sleep for 0.2sec for each move
sleep(3)
elif sub == "Chicken": #function for Chicken
print("Chicken detected")
for pos in range(0, 14, 1):
write_servo(servo2, pos)
sleep(0.2) # sleep for 0.2sec for each move
write_servo(servo1, pos)
sleep(0.2) # sleep for 0.2sec for each move
sleep(3)
else:
print("It's something else")
for pos in range(0, 14, 1):
write_servo(servo2, pos)
sleep(0.2) # sleep for 0.2sec for each move
write_servo(servo1, pos)
sleep(0.2) # sleep for 0.2sec for each move
sleep(3)