http://foto.prg.in.ua/md/dat/2024/2024-02-20_00-13-57_prg_rp2040_pi-z.jpg
import time
import board
import analogio
import digitalio
import usb_hid
from adafruit_hid.keyboard import Keyboard
from adafruit_hid.keyboard_layout_us import KeyboardLayoutUS
from adafruit_hid.keycode import Keycode # Импорт Keycode
Инициализация аналогового входа на пине A0
analog_in = analogio.AnalogIn(board.A0)
Инициализация цифрового входа на пине GP0
gp0 = digitalio.DigitalInOut(board.GP0)
gp0.switch_to_input(pull=digitalio.Pull.UP)
Настройка клавиатуры и раскладки
keyboard = Keyboard(usb_hid.devices)
layout = KeyboardLayoutUS(keyboard)
Функция преобразования сырого значения в напряжение
def get_voltage(raw):
return (raw * 3.3) / 65536
last_action_time = time.monotonic()
while True:
current_time = time.monotonic()
if current_time - last_action_time >= 5 and not gp0.value:
Чтение аналогового значения
raw_value = analog_in.value
voltage = get_voltage(raw_value)
Преобразование напряжения в строку
voltage_str = f"{voltage:.2f}V\n"
Ввод напряжения через клавиатуру
layout.write(voltage_str)
Вывод значений в консоль
print(f"Raw: {raw_value:5d} | Voltage: {voltage_str}")
last_action_time = current_time
time.sleep(0.1)
[file-name 000084_2025-03-29_23-41-03.txt]