3.5mmジャックとプラグ [パーツ]
うちのSONYのテレビにはRCAコネクタが付いていません。
4極 (TRRS;Tip Ring Ring Sleeve)ケーブルが別途必要。
ヘルプガイド BD_DVDレコーダーをつなぐ
https://helpguide.sony.net/tv/hjp1/v1/ja/04-02_01.html
音声・マイクの4極には「CTIA」(iPhoneなど現在の主流?)と「OMTP」など一応規格はある様子。
TRRSの順で、、
・Audio(L)-Audio(R)-GND-Mic CTIA
・Audio(L)-Audio(R)-Mic-GND OMTP
音声・ビデオの4極はカオスのようで決まったものがないみたい。
TRRSの順で、、
・Audio(L)-Video-GND-Audio(R) □■■■[ VCR ]=
SONY(BRAVIA)、Panasonic(VIERA, Strada)、SHARP(AQUOS)、JVC(Everio)
・Audio(L)-Audio(R)-GND-Video □■■■[CTIA?]=
Pioneer(carrozzeria)、ALPINE、Raspberry Pi、TCL??
・Audio(L)-Audio(R)-Video-GND □■■■[OMTP?]=
海外製品?
(Bearmax・AVOX)?
・Audio(R)-Audio(L)-GND-Video ■□■■[____]=
iPod Video? TCL??
・Video-Audio(L)-Audio(R)-GND ■□■■[____]=
海外製品?SAMSUNG TV??
(REALLIFE JAPAN(AiVN)・VERSOS・TMY・arwin・HYFIDO・GREEN HOUSE)?
・Video-Audio(L)-Audio(R)-GND(long) (15mmではなく18mm) ■□■ ■ [____]=
TOSHIBA/Hisense(REGZA)?
PanCakeシールド作成では、RCAコネクタをユニバーサル基板に取り付けるのに苦労しました。
3.5mmジャックならユニバーサル基板にも乗っかるいいのがあったので代用しようと思ったのだけど。
φ3.5mm ステレオジャック 基板用 ブレッドボード対応 スイッチ付 黒 _ PJ-317-B
https://eleshop.jp/shop/g/gJ25311/
こんなものを作って接続テストしてみました。
SONY形式で行くなら、ちょうどAudio(R)は使わないので捨ててこんな感じ。
別のジャックだと根本が金属で TRRSの最後のRとSがショートしてしまうけど、SONY形式なら使わないAudio(R)とGNDがショートするだけなので問題なさそう。
4極 (TRRS;Tip Ring Ring Sleeve)ケーブルが別途必要。
ヘルプガイド BD_DVDレコーダーをつなぐ
https://helpguide.sony.net/tv/hjp1/v1/ja/04-02_01.html
音声・マイクの4極には「CTIA」(iPhoneなど現在の主流?)と「OMTP」など一応規格はある様子。
TRRSの順で、、
・Audio(L)-Audio(R)-GND-Mic CTIA
・Audio(L)-Audio(R)-Mic-GND OMTP
音声・ビデオの4極はカオスのようで決まったものがないみたい。
TRRSの順で、、
・Audio(L)-Video-GND-Audio(R) □■■■[ VCR ]=
SONY(BRAVIA)、Panasonic(VIERA, Strada)、SHARP(AQUOS)、JVC(Everio)
・Audio(L)-Audio(R)-GND-Video □■■■[CTIA?]=
Pioneer(carrozzeria)、ALPINE、Raspberry Pi、TCL??
・Audio(L)-Audio(R)-Video-GND □■■■[OMTP?]=
海外製品?
(Bearmax・AVOX)?
・Audio(R)-Audio(L)-GND-Video ■□■■[____]=
iPod Video? TCL??
・Video-Audio(L)-Audio(R)-GND ■□■■[____]=
海外製品?SAMSUNG TV??
(REALLIFE JAPAN(AiVN)・VERSOS・TMY・arwin・HYFIDO・GREEN HOUSE)?
・Video-Audio(L)-Audio(R)-GND(long) (15mmではなく18mm) ■□■ ■ [____]=
TOSHIBA/Hisense(REGZA)?
PanCakeシールド作成では、RCAコネクタをユニバーサル基板に取り付けるのに苦労しました。
3.5mmジャックならユニバーサル基板にも乗っかるいいのがあったので代用しようと思ったのだけど。
φ3.5mm ステレオジャック 基板用 ブレッドボード対応 スイッチ付 黒 _ PJ-317-B
https://eleshop.jp/shop/g/gJ25311/
こんなものを作って接続テストしてみました。
SONY形式で行くなら、ちょうどAudio(R)は使わないので捨ててこんな感じ。
別のジャックだと根本が金属で TRRSの最後のRとSがショートしてしまうけど、SONY形式なら使わないAudio(R)とGNDがショートするだけなので問題なさそう。
uxcell PCB実装用DCコネクタ PJ317 グリーン 5ピン 3.5mmソケット 4個入り
- 出版社/メーカー: uxcell
- メディア:
IchigoCakeの説明書を小冊子に印刷する。 [ツール]
IchigoCakeの説明書をこんな感じで印刷して小冊子にしてみました。
最近というほど最近ではないですが、近ごろは多くのプリンタが両面印刷できるようです。
PDFは標準だとMicrosoft Edgeで開いてしまうのですが、Adobe Acrobat Readerで開くと印刷時に以下のダイアログが出るので、
・ページサイズ処理で「小冊子」を選択
・小冊子の印刷方法「両面で印刷」
・綴じ方「左」(漫画や国語の教科書なら右)
とします。
「中綴じホチキス」というものがあればいいのですが、うちにはないので、ホチキスを180度開いて、段ボールなどの柔らかいものの上で針を打ち、自分で針先を折り曲げて完成。
IchigoCake
http://ichigocake.shizentai.jp/
IchigoCake for ゲームクリエイター - IchigoJam
http://ichigocake.shizentai.jp/IchigoCake_jam.pdf
IchigoCake for ゲームクリエイター - IchigoLatte
http://ichigocake.shizentai.jp/IchigoCake_latte.pdf
最近というほど最近ではないですが、近ごろは多くのプリンタが両面印刷できるようです。
PDFは標準だとMicrosoft Edgeで開いてしまうのですが、Adobe Acrobat Readerで開くと印刷時に以下のダイアログが出るので、
・ページサイズ処理で「小冊子」を選択
・小冊子の印刷方法「両面で印刷」
・綴じ方「左」(漫画や国語の教科書なら右)
とします。
「中綴じホチキス」というものがあればいいのですが、うちにはないので、ホチキスを180度開いて、段ボールなどの柔らかいものの上で針を打ち、自分で針先を折り曲げて完成。
IchigoCake
http://ichigocake.shizentai.jp/
IchigoCake for ゲームクリエイター - IchigoJam
http://ichigocake.shizentai.jp/IchigoCake_jam.pdf
IchigoCake for ゲームクリエイター - IchigoLatte
http://ichigocake.shizentai.jp/IchigoCake_latte.pdf
マックス MAX ホチキス ホッチキス タテヨコ ホッチくる 15枚とじ ブルー HD-10V/B
- 出版社/メーカー: マックス(MAX)
- 発売日: 2003/08/25
- メディア: オフィス用品
タグ:IchigoCake PDF
Arduinoで「りんごをさっちゃん」スケッチ編 [Arduino]
「IchigoJam」は「こどもパソコン」ということで、サンプルプログラムの「りんごをさっちゃん」をArduino用に書き直すのは容易なことだと考えていました。
しかしサンプルプログラムにはコメントが1行目の「LINGO WO SACCHAN」しかなく、変数もBASIC版だと1文字しかなく、小学生がこのプログラムをみて勉強するのは厳しくないか?と思いました。
ということで、プログラムを読み解きながら、コメントをふんだんに付けてみました。
そのまえに、PanCakeを使うにあたってのとりあえず思いついた注意点をまとめてみます。
・PanCakeが起動するまで少し待つ
起動前にシリアルデータを送っても処理してもらえない
とりあえず1000ミリ秒待てば間違いなさそう(たぶん、もう少し短くてもいい)
・Arduinoのほうが高速
IchigoJamはBASICでインタープリター
Arduinoはコンパイルしたスケッチ
サンプルプログラムの移植そのままだと速すぎる
・PanCakeに送る数値は2桁の16進数で
数値データを2桁の16進数(2文字)にして送る
sprintfで書式を作り数値を代入した文字列をつくり、それを送信するとか
かなり適当なマクロを作るとか
・数値は整数
javascriptでは割り算の答えは(割り切れなければ)小数で出てくるけど、IchigoLatteではC言語の整数型と同様に小数点以下切り捨ての整数で返ってくる
こんな感じ。
PanCake
http://pancake.shizentai.jp/
IchigoCake
http://ichigocake.shizentai.jp/
しかしサンプルプログラムにはコメントが1行目の「LINGO WO SACCHAN」しかなく、変数もBASIC版だと1文字しかなく、小学生がこのプログラムをみて勉強するのは厳しくないか?と思いました。
ということで、プログラムを読み解きながら、コメントをふんだんに付けてみました。
そのまえに、PanCakeを使うにあたってのとりあえず思いついた注意点をまとめてみます。
・PanCakeが起動するまで少し待つ
起動前にシリアルデータを送っても処理してもらえない
とりあえず1000ミリ秒待てば間違いなさそう(たぶん、もう少し短くてもいい)
・Arduinoのほうが高速
IchigoJamはBASICでインタープリター
Arduinoはコンパイルしたスケッチ
サンプルプログラムの移植そのままだと速すぎる
・PanCakeに送る数値は2桁の16進数で
数値データを2桁の16進数(2文字)にして送る
sprintfで書式を作り数値を代入した文字列をつくり、それを送信するとか
char buf[96];
sprintf(buf, "PANCAKE SPRITE MOVE 00 %02X %02X", bx, 35);
Serial.println(buf);
かなり適当なマクロを作るとか
// Convert to 2-digit hexadecimal number
#define F02X(d) ((String)"0123456789ABCDEF"[(d)>>4 & 0x0f] \
+(String)"0123456789ABCDEF"[(d) & 0x0f] )
あるいは、
#define F02X(d) (String((d)/16,HEX)+String((d)%16,HEX))
・数値は整数
javascriptでは割り算の答えは(割り切れなければ)小数で出てくるけど、IchigoLatteではC言語の整数型と同様に小数点以下切り捨ての整数で返ってくる
こんな感じ。
// LINGO WO SACCHAN for Arduino + PanCake
#define F02X(d) ((String)"0123456789ABCDEF"[(d)>>4 & 0x0f] \
+(String)"0123456789ABCDEF"[(d) & 0x0f] ) // 2-digit hexadecimal number form
uint8_t sx, f; // SACCHAN position, direciton (flip)
uint8_t bx; // bascket position
uint8_t rx, ry, rr; // apple position(x, y), rotation
uint8_t score, speed;
void setup() {
pinMode(11, INPUT_PULLUP); // SW [Left]
pinMode(12, INPUT_PULLUP); // SW [Right]
sx = 36; f = 0; bx = sx + 7; // initialize SACCHAN and bascket position, direciton (flip)
rx = random(72); ry = 0; rr = 0; // initialize apple position(x, y), rotation
score = 0; speed = 1; // initialize score and speed
delay(3000); // Wait for Pancake to stabilize
Serial.begin(115200); // initialize serial communications at 115200 bps
Serial.println(F("PANCAKE RESET"));
Serial.println(F("PANCAKE MUSIC SCORE 00 00 81 $C>C<EG"));
Serial.println(F("PANCAKE MUSIC SCORE 01 00 80 RRRRR$RRRRRRRRCCDE~~~~EFED~~~~DEDC~~~~"));
Serial.println(F("PANCAKE MUSIC PLAY 01"));
Serial.println(F("PANCAKE SPRITE START 01"));
Serial.println(F("PANCAKE SPRITE CREATE 00 5D")); // 00:bascket (5D)
Serial.println(F("PANCAKE SPRITE CREATE 01 1F")); // 01:apple (1F)
Serial.println(F("PANCAKE SPRITE CREATE 02 0B")); // 02:SACCHAN (0B)
Serial.println(F("PANCAKE SPRITE CREATE 03 A6")); // 03:number 0(A6)
Serial.println(F("PANCAKE SPRITE MOVE 03 00 00")); // (tens place)
Serial.println(F("PANCAKE SPRITE CREATE 04 A6")); // 04:number 0
Serial.println(F("PANCAKE SPRITE MOVE 04 08 00")); // (ones place)
}
void loop() {
Serial.println("PANCAKE SPRITE MOVE 00 " + F02X(bx) + " 23" ); // 0x23=35(horizon)
Serial.println("PANCAKE SPRITE FLIP 00 " + F02X(f) );
Serial.println("PANCAKE SPRITE MOVE 02 " + F02X(sx) + " 23" );
Serial.println("PANCAKE SPRITE FLIP 02 " + F02X(f) );
Serial.println("PANCAKE SPRITE MOVE 01 " + F02X(rx) + " " + F02X(ry) );
Serial.println("PANCAKE SPRITE ROTATE 01 " + F02X(rr) );
Serial.println("PANCAKE SPRITE CREATE 03 " + F02X(0xa6 + score / 10) );
Serial.println("PANCAKE SPRITE CREATE 04 " + F02X(0xa6 + score % 10) );
rr = (rr + 1) % 4; // rotate apple
ry = ry + random(speed + 1); // falling apple
if(35 < ry) { // When the apple reaches the horizon
if((bx-4<rx)*(rx<bx+4)) { // If the apple is in the basket ..
score++;
Serial.println(F("PANCAKE MUSIC SCORE 03 01 22 >>CE>C"));
}
if((sx-4<rx)*(rx<sx+4)) { // If the apple hits SACCHAN ..
Serial.println(F("PANCAKE SPRITE CREATE 02 08"));
Serial.println(F("PANCAKE MUSIC PLAY 00"));
Serial.println(F("PANCAKE MUSIC SCORE 03 01 40 <F~ED~<B>C~~~"));
setup(); // game over and restart
return;
}
rx = random(72); ry = 0; // next apple
speed = (score + 10) / 10; // Speed up
}
delay(100);
if( digitalRead(11) == LOW ) { sx--; f=1; bx=sx-7; } // move left
if( digitalRead(12) == LOW ) { sx++; f=0; bx=sx+7; } // move right
}
PanCake
http://pancake.shizentai.jp/
IchigoCake
http://ichigocake.shizentai.jp/
タグ:pancake
Arduinoで「りんごをさっちゃん」ハードウェア編 [Arduino]
PanCake Shieldをつかって、IchigoJam+Pancake (または IchigoCake)のサンプルプログラムである「りんごをさっちゃん」をArduinoに移植してみようと思います。
PanCake Shieldへのデータ入力選択ジャンパーピンをUno上のUSB-serial変換器からの入力ではなく、ATmega328からの入力に切り替えます。
これで、スケッチからPanCakeを操作できます。
ゲームの操作については、IchigoJamはもともとPS/2キーボードをつなぐ前提で作られているのでキーボードでの操作ができますが、Arduinoにはそれがないのでコントローラーが必要です。
中古のゲーム機用コントローラーを使うかとも思ったのですが、ジャンク箱を探すと子供が学校で使った理科実験のおもちゃのコントローラーがありました。左右の操作に加えてもう1つボダンがついているというもの。分解すると意外と複雑だったのですが、必要なのはスイッチ3つ分だけなので、内部の配線をしなおして単純なスイッチにしてしまいました。
電流と電磁石 フットサル・ロボ II
https://www.daiwa-e.com/contents/seihin/seihin_r5-01_main.php
Arduino Unoの11番,12番,13番,GNDのならびでスイッチにしてみたのですが、これが大失敗!
11番を右ボタン、12番を左ボダン、13番をやり直しボタンに割り当てましたが、13番はLEDにつながっていることをすっかり忘れていました。
pinMode(13, INPUT_PULLUP) にしても、LEDがつながっているためスイッチの状態に関わらず常にLOWになってしまいスイッチとしては使えませんでした。
ただ「りんごをさっちゃん」には必要ないのでとりあえずこのままで。
PanCake Shieldへのデータ入力選択ジャンパーピンをUno上のUSB-serial変換器からの入力ではなく、ATmega328からの入力に切り替えます。
これで、スケッチからPanCakeを操作できます。
ゲームの操作については、IchigoJamはもともとPS/2キーボードをつなぐ前提で作られているのでキーボードでの操作ができますが、Arduinoにはそれがないのでコントローラーが必要です。
中古のゲーム機用コントローラーを使うかとも思ったのですが、ジャンク箱を探すと子供が学校で使った理科実験のおもちゃのコントローラーがありました。左右の操作に加えてもう1つボダンがついているというもの。分解すると意外と複雑だったのですが、必要なのはスイッチ3つ分だけなので、内部の配線をしなおして単純なスイッチにしてしまいました。
電流と電磁石 フットサル・ロボ II
https://www.daiwa-e.com/contents/seihin/seihin_r5-01_main.php
Arduino Unoの11番,12番,13番,GNDのならびでスイッチにしてみたのですが、これが大失敗!
11番を右ボタン、12番を左ボダン、13番をやり直しボタンに割り当てましたが、13番はLEDにつながっていることをすっかり忘れていました。
pinMode(13, INPUT_PULLUP) にしても、LEDがつながっているためスイッチの状態に関わらず常にLOWになってしまいスイッチとしては使えませんでした。
ただ「りんごをさっちゃん」には必要ないのでとりあえずこのままで。
タグ:pancake
PanCakeのフォークとナイフ [Arduino]
パンケーキの両脇のフォークとナイフがうまく表示されていなかったけど、キャプチャデバイスがしょぼいからかなと思ってました。
しかし画面が全然でないときもあったりしたので、もしかしたらはんだづけ不良かも、、。
基板の裏面を見てもよくわからなかったのですが、とりあえずはんだを盛ってみました。
すると、フォークとナイフがちゃんと出るようになりました。
しょぼかったのはキャプチャデバイスではなく、自分のはんだづけ技術でした。
↓ ↓ ↓
しかし画面が全然でないときもあったりしたので、もしかしたらはんだづけ不良かも、、。
基板の裏面を見てもよくわからなかったのですが、とりあえずはんだを盛ってみました。
すると、フォークとナイフがちゃんと出るようになりました。
しょぼかったのはキャプチャデバイスではなく、自分のはんだづけ技術でした。
↓ ↓ ↓
PanCake Shield にデータを送る [Arduino]
Arduino Uno のUSB-シリアル変換から、直接 PanCake を操作してみます。
こんなふうにジャンパーピンをつなぐと、シリアルモニターからの文字列を直接送ることができます。
改行コードは「LF」で、通信速度は「115200 bps」。
例えば「PANCAKE IMAGE 01」と送ると、、
↓
となります。
こんなふうにジャンパーピンをつなぐと、シリアルモニターからの文字列を直接送ることができます。
改行コードは「LF」で、通信速度は「115200 bps」。
例えば「PANCAKE IMAGE 01」と送ると、、
↓
となります。
PanCake Shield を作ってみた。 [Arduino]
Arduinoをつかってビデオ信号を作るのは、
TVout Library
https://playground.arduino.cc/Main/TVout/
というものを使うのがいいようだけど、古いもののよう。
そこで、こどもパソコン「IchigoJam」のアドオンボードというか、マルチメディアボードの「PanCake」というものがありまして、
PanCake
http://pancake.shizentai.jp/
これが、シリアル通信により制御できるとのこと。
じゃあ、Arduinoでも制御できそうということでやってみた。
とりあえず、「PanCake」を購入。
・プリント基板キット
・組み立て済 完成品
・ブレッドボードキット
とあるのですが、完成品だとArduinoとPanCakeとをつなぐ簡単なシールドが必要。ブレッドボード版だと完全にシールドを自作しないといけない。迷っていたので、どちらにもいくことができるプリント基板キットを購入。
PanCakeプリント基板キット(サウンドグラフィックボード) 組立キット(モジュール) 秋月電子通商-電子部品・ネット通販
https://akizukidenshi.com/catalog/g/gK-09686/
ディスコンマークが付いていて、在庫限りで取扱い終了、、。
でも、頑張ると決めたので、シールドつくることにした。
PasSのパーツもいくつか作ってみた。
信号レベルが3.3Vなので、2.2KΩと3.3kΩで分圧しています。
スペースが少ないのでICソケットの下にも抵抗を配置。
USB type-Bのコネクタとぎりぎり接しない感じ。(ねんのため絶縁テープで保護を。)
RCAコネクタの固定が難儀でした。
完成!
いきなりテレビにつないでテレビが壊れたらいやなので、USBビデオキャプチャユニットを使用。
バージョン1.0だと思っていたけど、バージョン1.2だった。
TVout Library
https://playground.arduino.cc/Main/TVout/
というものを使うのがいいようだけど、古いもののよう。
そこで、こどもパソコン「IchigoJam」のアドオンボードというか、マルチメディアボードの「PanCake」というものがありまして、
PanCake
http://pancake.shizentai.jp/
これが、シリアル通信により制御できるとのこと。
じゃあ、Arduinoでも制御できそうということでやってみた。
とりあえず、「PanCake」を購入。
・プリント基板キット
・組み立て済 完成品
・ブレッドボードキット
とあるのですが、完成品だとArduinoとPanCakeとをつなぐ簡単なシールドが必要。ブレッドボード版だと完全にシールドを自作しないといけない。迷っていたので、どちらにもいくことができるプリント基板キットを購入。
PanCakeプリント基板キット(サウンドグラフィックボード) 組立キット(モジュール) 秋月電子通商-電子部品・ネット通販
https://akizukidenshi.com/catalog/g/gK-09686/
ディスコンマークが付いていて、在庫限りで取扱い終了、、。
でも、頑張ると決めたので、シールドつくることにした。
PasSのパーツもいくつか作ってみた。
信号レベルが3.3Vなので、2.2KΩと3.3kΩで分圧しています。
スペースが少ないのでICソケットの下にも抵抗を配置。
USB type-Bのコネクタとぎりぎり接しない感じ。(ねんのため絶縁テープで保護を。)
RCAコネクタの固定が難儀でした。
完成!
いきなりテレビにつないでテレビが壊れたらいやなので、USBビデオキャプチャユニットを使用。
バージョン1.0だと思っていたけど、バージョン1.2だった。