Arduino使ってみる
Suns & Moon Laboratory
インストール
2013-08-05
これ見ながら http://arduino.cc/en/Guide/Windows
arduino-1.0.5-windows.zip をダウンロード http://arduino.cc/en/Main/Software
解凍して適当な場所に配置
C:\tools\bin\arduino-1.0.5
スケッチはここに入る
C:\Users\ユーザー名\Documents\Arduino\
インポートしたライブラリはここに入る。手動でコピー・削除して良い。
丸ごと削除しても、自動で復活する。
C:\Users\ユーザー名\Documents\Arduino\libraries\
arduino.exeを実行して起動。
Windows7 64bitは、最初ドライバー入れても書込みが最後まで終了しなかった。
USBを抜き差ししたら、それ以降はちゃんと動くようになった。
WindowsXP 32bitは、あっさり動いた。
Library
map
https://www.arduino.cc/reference/en/language/functions/math/map/
使う
ツール→マイコンボード→ボード選択
ファイル→スケッチブック→スケッチを選択すると、スケッチを読み込む
ツールバーの「○+レ」で、コンパイル
ツールバーの「○+→」でボードに書込み
LED(基板上に搭載)
下記マクロで定義されている(ビルトイン、オンボード)
LED_BUILTIN
Arduino Nano Every
https://ht-deko.com/arduino/nano_every.html
IO速度
digitalWriteで1.2usec
レジスタ直叩きで0.13usec
digitalWrite()
レジスタ直叩き
#define PIN_SCLK 15
void setup() {
pinMode(PIN_SCLK, OUTPUT);
}
void loop() {
#if 0
PORTD_OUTSET = 0x04;
PORTD_OUTCLR = 0x04;
PORTD_OUTSET = 0x04;
PORTD_OUTCLR = 0x04;
PORTD_OUTSET = 0x04;
PORTD_OUTCLR = 0x04;
PORTD_OUTSET = 0x04;
PORTD_OUTCLR = 0x04;
#endif
digitalWrite(PIN_SCLK,HIGH);
digitalWrite(PIN_SCLK,LOW);
digitalWrite(PIN_SCLK,HIGH);
digitalWrite(PIN_SCLK,LOW);
digitalWrite(PIN_SCLK,HIGH);
digitalWrite(PIN_SCLK,LOW);
digitalWrite(PIN_SCLK,HIGH);
digitalWrite(PIN_SCLK,LOW);
}
タイマー
ArduinoIDE2.2.1
Arduino megaAVR Boards 1.8.8
NanoEveryは、TCAx1,TCBx4存在する。
TCBを使うライブラリを探したところこちらがヒット
Arduino EveryTimerB library.
サンプルがちょっとわかり辛いので単純化してみた。
オンボードLEDを500msec周期に点滅する。
#include <EveryTimerB.h>
EveryTimerB TimerB1;
#define PIN_LED 13
bool led_flag = false;
void myisr(void)
{
digitalWrite(PIN_LED, led_flag);
led_flag = !led_flag;
}
// code timer B1
ISR(TCB1_INT_vect)
{
TimerB1.next_tick();//attachInterrupt()で登録した割り込みルーチンが呼ばれる
TCB1.INTFLAGS = TCB_CAPT_bm; // writing to the INTFLAGS register clears the interrupt request flag
}
void setup() {
pinMode(PIN_LED, OUTPUT);
TimerB1.initialize(&TCB1);
TimerB1.stop();
TimerB1.attachInterrupt(myisr);
TimerB1.setPeriod(500000UL);//usecで指定する。左の場合0.5秒。初期値は1秒になっている。
}
void loop() {
}
辿ったのはここから
2020/9/25 無題
ピン割り込み
えぇ、凄く簡単すぎた
https://garretlab.web.fc2.com/arduino_reference/language/functions/external_interrupts/attachInterrupt.html
VSCodeでArduino
VSCodeでArduino
Link
Arduino 日本語リファレンス
ボード選定メモ
何も考えないなら、Uno一択
最近はNano Everyかなとか思ってる。(2021)
キーボード作るならProMicro
XIAO RP2040
XIAO RP2040やってみる。
RasPiPicoメモ
XIAO BLE nrf52840
Seeedのボードライブラリ
基本はWiKiを見る
https://wiki.seeedstudio.com/XIAO_BLE/
▼
ボードマネージャで、Seeed nrf52 Boardsを入れる
▼
以下略
Adafruitのボードライブラリ
https://learn.adafruit.com/introducing-the-adafruit-nrf52840-feather/arduino-bsp-setup
end.
2024-08-14 11:00:25 32400