Home New Help Edit

RasPiPicoメモ

2023-09-05
Suns & Moon Laboratory


資料


回路図、ピン配置はここ
Getting Started with Seeed Studio XIAO RP2040

販売ページ
Seeed Studio XIAO RP2040 - Supports Arduino, MicroPython and CircuitPython

I2C1はWire1


I2C1を使う時は、Wire1を使う
I2C1のピンをWireに割り当てると、固まる。

Serialのオープン待ち

Setupでこんな待ち書いてある場合あるが、RP2040の場合USB CDCがオープンされるまでここで止まる
void setup() { Serial.begin(115200); while (!Serial) delay(1);

PWM

2024-01-16
analogWrite()でPWM出力
Arduino IDE 2.2.1
Board⇒Raspberry Pi RP2040 Boards(3.6.3)⇒Seeed XIAO RP2040

pinMode(PIN_MCLK, OUTPUT); analogWriteFreq(5000000);//周波数 analogWriteRange(255); //周期(TICK)設定 初期値 255なので255は無意味設定 analogWrite(PIN_MCLK, 127); // Hの期間(TICK)を指定する。こうすると、H:L=1:1 // analogWrite(PIN_MCLK, 63); // Hの期間(TICK)を指定する。こうすると、H:L=1:3

ソースコード
C:\Users\ユーザー名\AppData\Local\Arduino15\packages\rp2040\hardware\rp2040\3.6.3
https://github.com/earlephilhower/arduino-pico/blob/master/cores/rp2040/wiring_analog.cpp


開発環境


Arduino
Micro Python
Pico SDK(pico-sdk/Pico C SDK)

FreeRTOS

Arduinoで動かす


追加のボードマネージャ
https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json

こちらを参考にした
Arduino環境でSeeed XIAO RP2040を使う
【Arduino】ボードマネージャーの追加方法を紹介(最新 Arduino IDE 2.0版)


定義はこれ
https://github.com/earlephilhower/arduino-pico/blob/master/variants/seeed_xiao_rp2040/pins_arduino.h

スイッチでLチカ

機能
スイッチを押すと、R⇒G⇒Bに色が変わる

配線
D0-->SW-->GND
// ボードマネージャに追加するボードのパッケージ //https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json // void led_off() { Serial.begin(115200); digitalWrite(PIN_LED_R, HIGH); digitalWrite(PIN_LED_G, HIGH); digitalWrite(PIN_LED_B, HIGH); } void setup() { // put your setup code here, to run once: pinMode(PIN_LED_R, OUTPUT); pinMode(PIN_LED_G, OUTPUT); pinMode(PIN_LED_B, OUTPUT); pinMode(D0, INPUT_PULLUP); led_off(); } static int state = 0; void loop() { if (digitalRead(D0) == LOW) { led_off(); delay(50); state++; if (state >= 3) { state = 0; } Serial.println(state); switch (state) { case 0: digitalWrite(PIN_LED_R, LOW); break; case 1: digitalWrite(PIN_LED_G, LOW); break; case 2: digitalWrite(PIN_LED_B, LOW); break; case 3: state = 0; break; } while (digitalRead(D0) == LOW) ; delay(50); } }

はじめてのRP2040


Raspberry Pi Picoの2つのArduinoサポートを比較


Earle F. Philhower, III
Arduino-Pico

公式見ながらLチカ
Neopixelのライブラリ古いとダメだったので、Neopixelのライブラリアップデートした
https://wiki.seeedstudio.com/XIAO-RP2040-with-Arduino/


Arduino-Pico WiKi


Adafruit TinyUSB Libraryをインストール
https://arduino-pico.readthedocs.io/en/latest/usb.html#adafruit-tinyusb-arduino-support

USB HID書き込んだら、Arduinoの書き込み失敗するようになった

シリアルポートの番号が変わっていた。指定しなおしてOK

D0読もうとしたが、A0指定しないと動かなかった。(pinMode)


end.

Home New Help Edit
2024-11-14 13:14:44 32400