0

Why does my led stays on with this code? I want to switch it after a certain time. Not even increasing the delay to like 5000000 led says on.

import machine
import utime

power_mosfet = 0
reset_mosfet = 1
mosfet_toggle_srt = 2
mosfet_toggle_med = 5
mosfet_toggle_long = 7


def mosfet_toggle(pin_no, toggle_period):
    Pin(pin_no, Pin.OUT).value(1)
    utime.sleep(toggle_period)
    Pin(pin_no, Pin.OUT).value(0)
    utime.sleep(2)


def toggle(pin_no):
    Pin(pin_no, Pin.OUT).toggle()


mosfet_toggle(power_mosfet, mosfet_toggle_long)

"""while True:
    utime.sleep(2)
    mosfet_toggle(power_mosfet, 1)
    utime.sleep(2)"""
  • are you sure, that you LED is connected to correct pin (in your case pin 0 is LED) ? ALso, based on your code Pin is not defined. – Lixas Dec 01 '22 at 06:40

1 Answers1

1

if your connection to pin is correct, following code should work (removed irrelevant code from your sample):

from machine import Pin
import utime

power_mosfet = Pin(0, Pin.OUT) # define pin and reuse it
mosfet_toggle_long = 7


def mosfet_toggle(pin_obj, toggle_period):
    pin_obj.value(1)
    utime.sleep(toggle_period)
    pin_obj.value(0)
    utime.sleep(2)

mosfet_toggle(power_mosfet, mosfet_toggle_long)
Lixas
  • 6,938
  • 2
  • 25
  • 42