動けばおk!

Arduinoとかで色々作るよ!特技はLEDピカピカです。

PROGMEMの使い方

電光掲示板のフォント用データなどたくさんのデータをあらかじめarduinoに記憶させて自由に使用できる便利な「PROGMEM」ですが、わかりやすい使い方がないので簡単にまとめ。

○ どうしてPROGMEMを使うのか
 ArduinoはSRAMが小さいため、通常のintなどで大きな配列を作った場合、格納しきれず暴走する。

○ PROGMEMを使うには
  #include <avr/pgmspace.h> これを最初に記入。
 ちなみにpgmspace.hは\arduino\hardware\tools\avr\avr\include\avrの中にあります。(ややこしい)
 詳しいことはそこに。

・SRAMに格納したい変数の宣言
 dataType variableName[] PROGMEM ={xxxxx.xxxxx.....};

 使用できるdataTypeは後述のリファレンスを参照。
 通常のintやcharだとコンパイルエラーはでないようですが通常の動作をしません。
 (prog_uint16_t のような感じ)

 variableName[]は配列の名前。もちろん通常の配列のようにhoge[x][x]のような2次配列でも問題なく使用できる。

・データを読み出す方法
 pgm_read_word_near(address)を使用する。(16バイト読み出す場合)
 この関数に渡すのはアドレスであることに注意!
 といってもポインタが使えるので名前の前に「&」をつければ問題なし。

 prog_uint16_t array[5] PROGMEM ={0,1,2,3,4}と宣言した場合
 num = pgm_read_word_near(&array[n])とすればOK。

 dataTypeによって関数が変わるのでリファレンスかpgmspace.hを参照。
   pgm_read_byte_near(address)//1byte読み込み
   pgm_read_word_near(address)//2byte読み込み
   pgm_read_dword_near(address)//3byte読み込み

参考にしたサイト
Arduino日本語リファレンス PROGMEM

3x3x3 LEDマトリクスシールド売ってマス

以前blogに書いた私の名刺基板「3x3x3LEDCUBEシールド」をガリレオセブンにて販売しています。
よければ一度ご覧ください。
ガリレオセブン
http://www.galileo-7.com/?pid=15858461

あと名刺基板残りがほぼありません。
なのでMTM04で楽しみになさっていた方がいらっしゃったらすみません。
新作名刺間に合うようになるべくがんばります!

またまた、MTM04での展示申し込みをしました。
Exp.として共同展示?みたいなことをする予定です。
MTMではありえない空間をつくれればと思っていますのでお楽しみに!
詳しくは後日!

Make:08 4x4x4 LED CUBEシールドについて



サンプル用のスケッチを書き込んで光らせるとこんな感じに!

サンプルスケッチをアップロードしました。
詳しいことは以下のサイトにあります。必ず確認して下さい。
http://sites.google.com/site/hsgwprojects/make_ledcube

Make:08に記事を書きましてよ!

なんと!Make:日本版 Vol.08にて記事を執筆させて頂きました!
MTM03で持っていた 4x4x4 LED CUBEシールドの作り方を細かく解説しています。
またまた、ちょこっとlilypadカバンの写真も載っています。

書店で立ち読みもおkですが少しばかり細かく書いてあるので、ご購入頂いて、作って頂けると嬉しいです。

たけしお兄ちゃんの記事と並んでるので是非是非。
見所はテクノ手芸部さんの記事だと思います。あの発想はなかった!すごい!

Make: Technology on Your Time Volume 08Make: Technology on Your Time Volume 08
(2009/09/28)
オライリー・ジャパン

商品詳細を見る

LEDCUBE Shieldの動画をUPしました




前回の記事のLEDCUBE SHIELDとArduinoクローンの動画をyoutubeにアップしました。

また、LED CUBE SHIELDはガリレオセブンにてもうすぐ販売開始します。
(商品ページはこのあたり
部品集めるの大変!という方は是非どうぞ。

スケッチ・組み立て解説もまとめている途中です。
LED部分を作るのが少々大変ですが実物を是非あなたの手に!
| TOP | OLD »