トップ 差分 一覧 ソース 検索 ヘルプ RSS ログイン

PRG-py-xiao-adc

tips-SeeeduinoXIAO で ADC のテスト

TEST 1

import board
import analogio
import time

adc0 = analogio.AnalogIn(board.A3)

COUNT = 100

while True:
   for i in range(COUNT):
       print(i,",",adc0.value)
       time.sleep(0.01)
   time.sleep(0.5)
   

TEST 2

# CircuitPython for Seeeduino XIAO
#
# >>> import board
# >>> dir(board)
# 
# >>> import microcontroller
# >>> dir(microcontroller.pin)
# XIAO

import board
import microcontroller
import digitalio
import analogio
import pulseio
import time

print("# Blink LED with PWM/ADC")

PWM_FREQ = 5000
PWM_HIGH = 65535

led11 = pulseio.PWMOut(microcontroller.pin.PA19, frequency = PWM_FREQ, duty_cycle = PWM_HIGH)
led12 = pulseio.PWMOut(microcontroller.pin.PA18, frequency = PWM_FREQ, duty_cycle = PWM_HIGH)
led13 = pulseio.PWMOut(board.D13, frequency = PWM_FREQ, duty_cycle = PWM_HIGH)

COUNT = 50

adc0 = analogio.AnalogIn(board.A0)

def get_duty(count):
   if i < COUNT:
       duty = PWM_HIGH - int(i * PWM_HIGH / (COUNT - 1))
   else:
       duty = int((i - COUNT) * PWM_HIGH / (COUNT - 1))
   return duty

while True:
   print(adc0.value)
   for i in range(COUNT * 2):
       led11.duty_cycle = get_duty(i)
       time.sleep(0.01)

   for i in range(COUNT * 2):
       led12.duty_cycle = get_duty(i)
       time.sleep(0.01)

   for i in range(COUNT * 2):
       led13.duty_cycle = get_duty(i)
       time.sleep(0.01)