update some code about PWM
This commit is contained in:
parent
37c2a3f83b
commit
731180a3f0
17
PWM_Pulse_Width_Modulation.py
Normal file
17
PWM_Pulse_Width_Modulation.py
Normal file
@ -0,0 +1,17 @@
|
||||
from machine import Pin, PWM
|
||||
from time import sleep
|
||||
|
||||
outPin = 16
|
||||
analogOut = PWM(Pin(outPin))
|
||||
|
||||
analogOut.freq(1000)
|
||||
|
||||
# 0 off // 65535 full on
|
||||
# this means 3.3v is devided by 65535, so you can output
|
||||
# continuous voltage
|
||||
analogOut.duty_u16(0)
|
||||
|
||||
while True:
|
||||
myVoltage = float(input('What Voltage Would You Like? '))
|
||||
pwmVal = int((myVoltage / 3.3) * 65535)
|
||||
analogOut.duty_u16(pwmVal)
|
BIN
assets/Pico-R3-A4-Pinout.pdf
Normal file
BIN
assets/Pico-R3-A4-Pinout.pdf
Normal file
Binary file not shown.
16
dimmable_LED.py
Normal file
16
dimmable_LED.py
Normal file
@ -0,0 +1,16 @@
|
||||
from machine import PWM, Pin
|
||||
from time import sleep
|
||||
|
||||
outPin = 16
|
||||
analogeOutput = PWM(Pin(outPin))
|
||||
analogeOutput.freq(1000)
|
||||
|
||||
while True:
|
||||
for i in range(0, 65535, 1000):
|
||||
analogeOutput.duty_u16(i)
|
||||
sleep(.1)
|
||||
|
||||
for i in range(65535, 0, -1000):
|
||||
analogeOutput.duty_u16(i)
|
||||
sleep(.1)
|
||||
|
16
dimmable_LED_with_a_potentiometer.py
Normal file
16
dimmable_LED_with_a_potentiometer.py
Normal file
@ -0,0 +1,16 @@
|
||||
from machine import PWM, ADC, Pin
|
||||
from time import sleep
|
||||
|
||||
input_pin = 28
|
||||
output_pin = 16
|
||||
|
||||
analog_input = ADC(Pin(input_pin))
|
||||
analog_output = PWM(Pin(output_pin))
|
||||
|
||||
analog_output.freq(1000)
|
||||
|
||||
while True:
|
||||
input_digits = analog_input.read_u16()
|
||||
output_digits = input_digits - 240 if input_digits - 240 >= 0 else 0
|
||||
analog_output.duty_u16(output_digits)
|
||||
sleep(.1)
|
Loading…
Reference in New Issue
Block a user