Python Forum
Does this code need to be so long?
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Does this code need to be so long?
#1
Made this timer to go with my son's BattleBots Arena (this one) and intend to build it into the housing of the motorized auger on one side. I got all that hardware figured out, but the code is kinda long. It works, but I just want to see if I can make it simpler.

Here is a video of what I have so far. The duration of the green LED on is going to be changed to a more realistic duration of a fight (line 82). I would watch the video first so you can see what it is doing. The video is this one: here

from machine import Pin, PWM
import time
from time import sleep
#import urequests

ledgreen = Pin(2, Pin.OUT)
ledamber = Pin(5, Pin.OUT)
ledred = Pin(6, Pin.OUT)

buzzerPIN=17
BuzzerObj=PWM(Pin(buzzerPIN))

button = Pin(15, Pin.IN, Pin.PULL_UP)

def buzzer(buzzerPinObject,frequency,sound_duration,silence_duration):
    buzzerPinObject.duty_u16(int(65536*0.2))
    buzzerPinObject.freq(frequency)
    sleep(sound_duration)
    buzzerPinObject.duty_u16(int(65536*0))
    sleep(silence_duration)
ledgreen.on()
time.sleep(.1)
ledred.on()
time.sleep(.1)
ledamber.on()
time.sleep(.2)
ledgreen.off()
time.sleep(.1)
ledred.off()
time.sleep(.1)
ledamber.off()
time.sleep(.2)
ledgreen.on()
time.sleep(.1)
ledred.on()
time.sleep(.1)
ledamber.on()
time.sleep(.2)
ledgreen.off()
time.sleep(.1)
ledred.off()
time.sleep(.1)
ledamber.off()
time.sleep(.2)
ledgreen.on()
time.sleep(.1)
ledred.on()
time.sleep(.1)
ledamber.on()
time.sleep(.1)
time.sleep(.2)
ledgreen.off()
time.sleep(.1)
ledred.off()
time.sleep(.1)
ledamber.off()

while True:
    if not button.value():
        
# Start the timer        
        print('Go!')
        ledgreen.off()
        ledred.off()
        ledamber.on()
        buzzer(BuzzerObj,523,0.5,0.0)
        ledamber.off()
        time.sleep(.2)
        ledamber.on()
        buzzer(BuzzerObj,523,0.5,0.0)
        ledamber.off()
        time.sleep(.2)
        ledamber.on()
        buzzer(BuzzerObj,523,0.5,0.0)
        time.sleep(.2)
        ledamber.off()
        
#  Match starts
        ledgreen.on()
        buzzer(BuzzerObj,987,1.5,0.1)
        # Start power to the relay here
        time.sleep(20)
        ledamber.on()  # Match ends soon!
        time.sleep(5)
        #ledgreen.off()
        
# Match ends
        ledamber.on()
        buzzer(BuzzerObj,523,0.8,0.0)
        ledamber.off()
        time.sleep(.2)
        ledamber.on()
        buzzer(BuzzerObj,523,0.8,0.0)
        ledamber.off()
        time.sleep(.2)
        ledamber.on()
        buzzer(BuzzerObj,523,0.8,0.0)
        ledamber.off()
        time.sleep(.2)
        ledamber.on()
        buzzer(BuzzerObj,523,0.8,0.0)
        ledamber.off()
        time.sleep(.2)
        ledamber.on()
        buzzer(BuzzerObj,523,0.8,0.0)
        time.sleep(.2)
        #ledamber.on()
        ledgreen.off()
        ledred.on()
        # Stop power to the relay here
        buzzer(BuzzerObj,987,3.5,0.1)
        #time.sleep(10)
        ledamber.off()
        time.sleep(5)
        ledred.off()
Reply


Messages In This Thread
Does this code need to be so long? - by duckredbeard - Sep-26-2022, 09:47 PM

Possibly Related Threads…
Thread Author Replies Views Last Post
  how long can a line of code be? Skaperen 2 2,241 Jun-09-2021, 06:31 PM
Last Post: Skaperen
  Factorial Code is not working when the given number is very long integer Raj_Kumar 2 2,337 Mar-31-2020, 06:40 PM
Last Post: deanhystad
  Is my Tree code too long? BladedSupernova 5 2,698 Feb-12-2020, 03:07 AM
Last Post: Larz60+

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020