GR-SAKURA
GR-KURUMI
GR-COTTON
GR-CITRUS
GR-PEACH
GR-KAEDE
GR-ADZUKI
GR-LYCHEE
GR-ROSE
GR-MANGO(*)
SNShield
Web Compiler
IDE for GR
TOPPERS関連
女子美コラボ
その他
※プロデューサミーティング中
作り方使い方資料
イベント関連
作品記事
体験記事
ライブラリ
ツール
その他・過去ファイル
aitendoから、GR-SAKURA関連のモノが発売したということで、先物買いで早速、液晶with基板(2.4インチforさくら)を入手したものの、サンプルスケッチとかない模様。
データシートだけで作るのは大変そうだ!
人柱かもーん
半田付けミスって基板がって感じです涙
また買った時に試そう
某基板は一度半田付けした部品を外そうとするとスルーホールが簡単に抜けてくるので要注意ですね。
ショートしてて直そうとしたらボロボロに・・・
フレキの半田付けなら、コテとフレキの間に半田吸い取り線を挟んで半田を“拭き取る”感じでやるといい感じでしたよ。
gr_sketch.cpp の 61 行目から、以下の内容を挿入すると尚善し。
if (strcmp(imgTable[i].fname, "rx_rpb.bin") == 0) { for (int j = 0; j < 200; j++) { imgTable[i].buffer[2 * 135 * 200 + 2 * j + 0] = 0xff; imgTable[i].buffer[2 * 135 * 200 + 2 * j + 1] = 0xff; } }
松浦さんが 「グラフィック描画ライブラリ & タッチパネルドライバ」 を公開されています。
homepage3.nifty.com/.../gr
いろいろなことができそうで 期待しています。
松浦さんのreadme.txt で参照されている以下のページなどをみると
github.com/.../Touch_Screen_Driver
www.seeedstudio.com/.../2.8%27%27_TFT_Touch_Shield_v2.0
ライブラリの使い方が掲載されているのですが、どなたか コマンドの説明や ライブラリの試し方を 初心者にもわかるように まとめていただけないでしょうか?
分からないところがありましたら具体的に書いていただければ対応します.
examples を移植して先ほどファイルをアップデートしました.
よろしくお願いします.
さっそくにありがとうございました。老眼に鞭打って半田付けしたものの そのあと途方にくれていたため、大変にたすかります。スケッチ例にて 私のやりたいことはすべて示されていました。
私もハンダ付けで ボロボロになりました
ベース基板側に予備ハンダして フレキの上から 手早くコテで押したけどダメですね
フレキ側にも予備ハンダしたほうがいいんでしょうか?
基本的に違いますか?
japan.renesasrulz.com/.../668.aspx
に半田付けの様子がでています。
私の経験は n=1 ですが、予備ハンダなしで ベース基板の半田付け部分をすこしのぞかせた位置にフレキをテープで固定し、先の細いハンダコテで両方にハンダがのるように 細いハンダをコテの脇から添えて作業しました。ルーペで検査して 隣とつながってしまったところは修理しました。
基板側はスズメッキされているので予備ハンダはせず、フレキのハンダ付け面をハンダで湿らせたハンダ吸い取り線で拭く感じで極力薄くハンダメッキした後、セロテープで基板とフレキの位置を合わせて固定し、再びハンダで湿らせたハンダ吸い取り線で拭く感じで基板とフレキのハンダ付けをしたところ上手く行ったみたいです。
フレキのハンダ付け部分には小さい穴が開いており(画像参照)、そこを通して毛細管現象かなんかでフレキと基板の間にハンダは染み通る仕組みになっているみたいなので、ひょっとするとハンダメッキの作業も不要だったかもしれません。
先の投稿の
画像データを sketch.bin にリンクするのが面倒だったので、画像データは microSD メモリに格納したものを読み込んで使用するよう変更しています。
に対し、特別な変換プログラムやビルドスクリプト等を用いることなく、簡単に、画像データ等のバイナリデータを sketch.bin にリンクするカッキ的(でもないな)方法を思いついたので作業手順を説明します。
#include <iodefine_gcc63n.h>
void main(void);
display_area_set(319 - (sx + lx - 1), sy, 319 - sx, sy + ly - 1); LCD_CtrlWrite_ILI9325(0x0020, sy + ly - 1); // GRAM horizontal Address LCD_CtrlWrite_ILI9325(0x0021, 319 - sx); // GRAM Vertical Address LCD_IndexWrite_ILI9325(0x0022); int n; for(n = 0; n < lx * ly; n++) { LCD_DataWrite_ILI9325(*buf++); }
area_set(ys, xs, ye, xe, ys, xe);
display_block_copy_r(100, 100, 200, 136, __sectop("D_BIN_RX_RPB"));
void MyExcep_CMT0_CMI0(void) __INTTERUPT_FUNC ;
void MyExcep_CMT1_CMI1(void) __INTTERUPT_FUNC ;
MyExcep_CMT0_CMI0, MyExcep_CMT1_CMI1,
/*GR-SAKURA Sketch Template Version: V1.08*/ #include <rxduino.h> #include <iodefine_gcc63n.h> #include "gr_common/intvect63n.h" #include "src/define_const.h" extern "C" { void init_touch(void); void mole_main(void); void excep_cmtu0_cmt0(void); void Excep_CMTU0_CMT1(void); const uint8_t* __sectop(const char* id); #include "src/cmt.h" }; #define IncBin(label, file) \ extern "C" const uint8_t label []; \ __asm __volatile( \ "\t.section .rodata." #label "\n" \ "\t.global\t_" #label "\n" \ "_" #label ":\n" \ "\t.incbin\t" #file "\n" \ ); IncBin(rx_rpb_bin, "src/rx_rpb.bin"); IncBin(fonts_bmp, "src/fonts.bmp"); IncBin(default_mole, "src/default_mole.bmp"); IncBin(hit_bmp, "src/hit.bmp"); IncBin(miss_bmp, "src/miss.bmp"); IncBin(state0_bmp, "src/state0.bmp"); IncBin(state1_bmp, "src/state1.bmp"); IncBin(state2_bmp, "src/state2.bmp"); IncBin(state3_bmp, "src/state3.bmp"); static struct { const char* id; const uint8_t* buffer; } imgTable[] = { {"D_BIN_RX_RPB", rx_rpb_bin}, {"D_BMP_FONT", fonts_bmp}, {"D_BMP_DEFAULT", default_mole}, {"D_BMP_HIT", hit_bmp}, {"D_BMP_MISS", miss_bmp}, {"D_BMP_STATE0", state0_bmp}, {"D_BMP_STATE1", state1_bmp}, {"D_BMP_STATE2", state2_bmp}, {"D_BMP_STATE3", state3_bmp}, }; void setup() { init_touch(); init_cmt0(); init_cmt1(); mole_main(); } void loop() { } const uint8_t* __sectop(const char* id) { const uint8_t* p = NULL; for (int i = 0; i < int(sizeof(imgTable) / sizeof(*imgTable)); i++) { if (strcmp(imgTable[i].id, id) == 0) { p = imgTable[i].buffer; break; } } return p; } void MyExcep_CMT0_CMI0(void) { excep_cmtu0_cmt0(); } void MyExcep_CMT1_CMI1(void) { Excep_CMTU0_CMT1(); }
以上の簡単な手順で更にお手軽に動作させられる筈。
そーいや aitendo 取り扱いの GR-SAKURA[GR-SAKURA-P]、なんかハンパにピンソケット余計に付いてんな てな感じで漠然と思っていたのだけど、この基板のためか! 今気付いた。びっくりだ。