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.
2024-11-14 13:14:44 32400