· 

グラフィックLCDを動かしてみる 1

グラフィックLCDを動かしてみます。高いやつだとドキュメントもそろっているけど、安いやつでやるときは大変です。ので、メモ。

モノはこれ。

1500円、、、安い!!

参考になるのは、

LCD wikiさん

今回はレベル変換をせずに、3.3V動作のSparkFun SAMD21 Mini Breakoutを使います。

かなり前に購入したものです。当時の目的は忘れました。目下VLF用スペアナを検討しているのでLCDと局発の制御にちょうどいいかもって。

Arduinoの準備:

ボードは、Sparkfunのマニュアルに従い、Arduino SAMD Boardsを入れた後にSparkfun SAMD Boardsを入れます。ライブラリは、Adafruit ILI9341を入れます。これを入れるときに一緒にいくつかインストールするよう推薦されますが、お言葉に甘えてインストールしてもらいます。

では配線です。

Arduinoのスケッチはこちらです。

本当は、ペリヘラルのSPIでやりたいんだけど、SAMD21でSPIするときはSPI classのおまじない(sercom使用)が必要なのでまずはLCDを動かすことを最優先に、とりあえず、おそらくソフト実装の6本定義で動かします。

(行番号はそのものとは違います)

  1. // For the Adafruit shield, these are the default.
  2. #define TFT_DC 9
  3. #define TFT_CS 10
  4. #define TFT_MOSI  11
  5. #define TFT_CLK    13
  6. #define TFT_RST      2
  7. #define TFT_MISO  12
  8. // Use hardware SPI (on Uno, #13, #12, #11) and the above for CS/DC
  9. //Adafruit_ILI9341 tft = Adafruit_ILI9341(TFT_CS, TFT_DC);
  10. // If using the breakout, change pins as desired
  11. Adafruit_ILI9341 tft = Adafruit_ILI9341(TFT_CS, TFT_DC, TFT_MOSI, TFT_CLK, TFT_RST, TFT_MISO);
  1.  
  2.  
  3.  
  4. 追加
  5. 追加
  6. 追加
  7. 追加
  8.  
  9. コメント化
  10.  
  11. コメント解除

 


うまくいきましたー

 

 、、、実はSAMD21 Mini Breakoutに書き込みができずに(bossacがなぜか途中でやめちゃう)苦しみました。bootloaderを再書き込みしたらうまくいきましたが、実はbootloaderの書き込みも苦しみました。Sparkfun SAMD21 Mini Breakoutを選んだ状態でAtmel SAM-ICEで書き込もうとすると、SparkFun_SAMD21_Dev.binが見つからない、と怒られます。あるのに、、、。で、ボードはArduino M0を選んで、Bootloader_D21_M0_150515.hexを書き込みに行くので、SparkFun_SAMD21_Dev.hexをこのフォルダにBootloader_D21_M0_150515.hexという名前で保存して、Arduino IDEをだます形で書き込めました;はまりポイント大杉TT