So-net無料ブログ作成

ミント缶コントローラ4試作版をいじる [DCC/MM2シールド]

  twayDCCさんからミント缶4の試作ボツ基板?を分けていただきましたので、作ってみました。
  夏は気温が高くて秋葉原の秋月電子に行くのは命の危険を伴いますので、家にある手持ちの部品を流用します。このため、オリジナルと少々異なる出来になっています。
 変更部分は、
・OLED:適当にAliで買った1.3インチ品OLED。老眼の味方!
・C1:電解コンデンサ 220uf→1000uF(Aitendoの中華品)
・SW1:適当な秋月のスイッチ(P-03774)
・タクトスイッチ:秋月のスイッチ→AliExpressで買った14mm品。ケース付けたら足りなさそう 18mmと20mmをAliに注文
・モータードライバ:TB6568KQ→TB6643KQ(たぶんこっちのほうが電流値高い)

 まずは組み立てです。
 twayDCCさんからの注意2点ですが、
(1)「SPIのGNDがつながっていないので、GNDをどっかからつなぎましょう」とのことで、I2C用のジャックから拝借しています。
re_DSC02452.jpg

次に、
(2)「モータードライバの放熱板とDCジャックがショートしないように気を付けて。」とのことで、放熱板の端を切って、DCジャックのはんだ部分と接触しないようにしておきます。
re_DSC02453.jpg

あとの部分は、普通に組立てています。部品点数がとても少ないので組み立ては簡単です。
OLED無しの写真はこんな感じです。
re_DSC02440.jpg

なおスケッチですが、DesktopStationのミント缶のWikiにはr02までありそうなことが書いてありますが、そこからのリンクではr01までしかありませんでしたので、r01を入れました。
で、完成して写真撮ったらいろいろと変でした。(ITガジェット的にはかっこいい見た目だと思いますが。)
re_DSC02442.jpg

 問題は2つあって、
(1)なんかOLEDの黒いはずの部分が縦線のすだれ状に化けている。
(2)以前のDSMainにOLEDを付けたときの問題点を同じで、1.3インチのOLEDだと2ドットX方向に文字や画像がずれる。

ということで、まず、(1)問題の切り分けのため、0.96インチのOLEDをつけてみましたが症状は変わらず、すだれ状の縦線が出てました。ということで、OLED本体ではなさそうと思い、以前のDSMainのOLEDモジュール(I2C版)のソースと比べてみました。
 OzOLED_spi.cppを見ていくと、ClearDisplay関数内が少々違うようで、
---

void OzOLED::clearDisplay()
{

	digitalWrite(cs, LOW);

	for(byte page=0; page<8; page++) {	
	
		setCursorXY(0, page);     
		for(byte column=0; column<128; column++){  //clear all columns
			//setCursorXY(column, page);
			sendData(0);    
		}

	}
	
	setCursorXY(0,0);  
	
	digitalWrite(cs, HIGH);
}
---


と変更したら、すだれ状ノイズはなくなりました。

次に、1.3inchOLEDで2ドット画像がずれる不具合ですが、以前と同じ対策を入れたら、もっと表示がぐちゃぐちゃになりました。試行錯誤して、直った方法が以下です。(以前にDSMainでやった方法は一部間違えていたようで、そのままのやり方では画像がより変になってしまいました)
---
void OzOLED::setCursorXY(byte X, byte Y){
	// Y - 1 unit = 1 page (8 pixel rows)
	// X - 1 unit = 7 pixel columns

    sendCommand(0x00 + ((FONT_WIDTH*X + 2) & 0x0F)) ; //set column lower address
    sendCommand(0x10 + (((FONT_WIDTH*X + 2)>>4)&0x0F)); 	//set column higher address
    sendCommand(0xB0 + Y); 					//set page address
	
}
---


ということで、めでたく完成です。
re_DSC02454.jpg

次はこれにオリジナルケースをつける検討でもしようかなあと思います。
(いつになることやら)

そうそう、あとAliExpressで買った1.3インチのOLEDは2個中1個動作がおかしく、よく見たらガラスが割れてて、配線が切れていました。
re_DSC02445.jpg

このため、上側は1ライン置きに不点灯ラインがでるという、こんな表示でした。
re_DSC02443.jpg

コメント(3)