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]