どうぶつの森ポケットキャンプ その8

今日の昼休みに見たらステージに3にん(ひき)そろってた

カテゴリー: どうぶつの森ポケットキャンプ, ゲーム | コメントする

どうぶつの森ポケットキャンプ その7

どうしてこうなった

イベントで手に入れたアイテムを並べてみた。
当初の予定と全く違うものになってしまった。
いったい何の儀式だ・・・

カテゴリー: どうぶつの森ポケットキャンプ, ゲーム | コメントする

どうぶつの森ポケットキャンプ その6

今日はひな祭りだそうだ。
 なぜ2回言ったし
(´;ω;`)
おまえもか・・・
自分ももうだいぶ前からおっさんなんだよな(´;ω;`)

カテゴリー: どうぶつの森ポケットキャンプ, ゲーム | コメントする

どうぶつの森ポケットキャンプ その5

フレンドが7人になった。
嬉しいけど、ますます複雑な気分に。

キャンプ場の変遷。
かまくらを配置していたのだけど、場合によってはかまくらの裏側にどうぶつがいることがあって、タップして話しかけることができないことが度々あった。
いちいちかまくらを片付けて、話しかけてから再度かまくらを配置していたが面倒になったので、少し模様替えをした。

釣り大会のイベントで『ピンククリスタル』などが大量に手に入った。
ただ並べるだけでは芸がないので、『だるま』を配置。

つぎに『しょうぎのこま』

『ノームのおきもの』

そして現在は『まじないのかめん』

3月下旬には大幅に模様替えする予定。

現在、虫取りイベント開催中なのだが、なかなかカオスな状況に。
ガーデンで捕獲した虫はほかのフレンドにおすそ分けできるのだが、その際に『ともだちのもと』が手に入る。
虫は基本的に季節限定で手に入る花を育てることで捕獲できるのだが、おすそ分けはなんでもいいから花が咲いていれば、そこに虫を置くことができる。
するとどうなるかというと、捕獲しておすそ分けを延々繰り返すとあっという間に『ともだちのもと』が手に入ってお題もクリアできてしまう。
もっとも捕獲失敗することもあるので自分で季節限定の花も育てているが、課金さえ恐れなければ確実に虫を捕獲することもできる。
相手の花壇に状態によってはおすそ分けできないこともあるので、タイミングを見計らう必要もある。

1月にポケットキャンプを始めた時も虫取りイベントがあって、始めたばかりでフレンドがいなかったからおすそ分けとか考えてなかったけど、今はフレンドが増えて誰からもらって誰におすそ分けしたのか覚えきれずにこんがらがってくる。
もらった分については履歴から確認できるのだけど、送った分については記録が残らないから返礼したかどうか覚えてられない。
そしてこのループのやめ時がわからなくなってカオスな状態へ・・・

カテゴリー: どうぶつの森ポケットキャンプ, ゲーム | コメントする

ポケコンにシリアルプリンタをつないでみた

前回、ORANGE pico (pocket)にポケコン用に買ったプリンタをつないで印刷してみた。
それではと今度はポケコンにORANGE pico用に買ったプリンタをつないでみることにした。
TM-T88IVはポケコンに対してでかいし、電源もでかい。
小さければ小さいで不満はあるし、大きければ大きいで不満がある。
いかんともし難いものである。

さてとして、方法は2つある。
・パラレル→シリアル変換を行って印刷する。
・OPEN “COM:”コマンドでシリアルポートを開く、もしくはTEXTモードのSioで送信する。

最初のパラレル→シリアル変換についてだが、ポケコンからの信号を一旦パラレルにする必要もなく、Arduinoでダイレクトにシリアル変換すればよいわけだが、それについてはすでに以前作った変換ボードが使える

こちらは、テキスト印刷には対応できるがハードコピーの処理速度にはついていけず一度は没にしたもの。
今回はテキストの印刷をシリアル出力させるだけなので、これだけで十分。
LPTモードとCE126Pエミュレートモードの両方で出力先をシリアルのみにして実行。
LPTモードはCHR$コマンドでプリンタのコマンドを送れるので、ESC/POSのコマンドを送って文字セットの変更ができる(左の写真)。
一方CE126Pエミュレートモードではプリンタのコマンドが送れないのでデフォルトの文字セットで印刷されてしまうが、MONモードでのダンプ印刷もできた(右の写真)。

CE126Pエミュレートモードで使うのであればこのプリンタはちょうどいい感じの大きさである。
初期化の部分でシリアルポートにもESC/POSで文字セットのコマンドを送るように手なおせばうまい具合に使えそうだ。

次はシリアルで出力させてみる。

ポケコンのTEXTモードでシリアルポートの設定を行い、SIO画面でSaveを行うとTextエディタの内容が印刷された。
ただし、EOF(0x1a)も送られるので2回目以降の印刷でゴミ(1桁の空白)が出てくる。
ちなみにポケコンの信号は反転された出力なので、トランジスタ2石使って反転させている。

ポケコンの仕様では+5VがGNDで0VがVddとなっているが、+5VをGNDとしてみた場合にRS232Cの規格からすると信号的にはあっていたはず。
この仕様はもっと他にも要因があるらしいけどね。

カテゴリー: Arduino, ポケコン, 電子工作 | コメントする

ORANGE picoにプリンタ(TM-T88IV)をつないでみた

ORANGE picoにはシリアルポート経由で印刷することができる。
公式ショップで買ったプリンタは小さくていいのだが、その分印刷の幅が狭かったり感熱紙ロールが短かったりする。

それではとポケコン用に買ったプリンタ(TM-T88IV)につながらないかと思い、秋月電子のAE-ATMEGA-328 MINIを使ってシリアルからパラレルへの変換するのを作った。

AE-ATMEGA-328 MINIは5V動作で、ORANGE picoは3.3Vで動作している。
多分なくても動作するかもしれないが、念のためレベル変換用に秋月の4ビット双方向ロジックレベル変換モジュールを使っている。
実際印刷してみたところ。

右の写真は、TM-T88IVと小型のプリンタの印刷結果を比較したところ。
やはり幅が広い分若干見やすくなっている。
しかし、いずれの場合もlptコマンド実行時にゴミが印字されるみたいだ。
気が向いたらTeraTermでバイナリログ取ってみるかな。

下はArduinoのスケッチ。
ESC/POSで言語の初期化ON/OFFのほか、CR(0x0d)をLF(0x0a)に変換する処理を入れてある。
これは、ORANGE picoが印刷時の改行コードがCR(0x0d)なのに対して、プリンタ(TM-T88IV)はLF(0x0a)で改行するようになっているため。
TM-T88IVのディップスイッチでCR(0x0d)で改行できるように変更できるが、そうするとこんどはポケコンで印字した時に二重に改行されてしまうので、いちいちプリンタ側で設定変更をしなくていいように変換器側で変換できるようにした。

調べてみるとCR,LFの解釈のしかたはどうもプリンタごとに違うようだ。

// serial to printer interface
// 2019.2.23

// printer interface
const int Pstrb  =  2; // Printer STROBE
const int PD0out =  3; // Printer D0
const int PD1out =  4; // Printer D1
const int PD2out =  5; // Printer D2
const int PD3out =  6; // Printer D3
const int PD4out =  7; // Printer D4
const int PD5out =  8; // Printer D5
const int PD6out =  9; // Printer D6
const int PD7out = 10; // Printer D7
const int Pbusy  = 11; // Printer BUSY

// other port
const int LEDout = 13; // LED
const int DIP4   = 14; // DIP SW 4
const int DIP3   = 15; // DIP SW 3
const int DIP2   = 16; // DIP SW 2  CR(0x0d) -> LF(0x0a)
const int DIP1   = 17; // DIP SW 1  ESC/POS init


////////////////////////////////////////

void setup() {
  // Serial port 9600BPS
  Serial.begin(9600);

  // Printer interface set
  pinMode(PD0out, OUTPUT);
  pinMode(PD1out, OUTPUT);
  pinMode(PD2out, OUTPUT);
  pinMode(PD3out, OUTPUT);
  pinMode(PD4out, OUTPUT);
  pinMode(PD5out, OUTPUT);
  pinMode(PD6out, OUTPUT);
  pinMode(PD7out, OUTPUT);
  pinMode(Pstrb, OUTPUT);
  pinMode(Pbusy, INPUT);

  // Pbusy pull up
  digitalWrite(Pbusy, HIGH);

  // LED
  pinMode(LEDout, OUTPUT);
  digitalWrite(LEDout, HIGH);

  // DIP sw
  pinMode(DIP1, INPUT);
  pinMode(DIP2, INPUT);
  pinMode(DIP3, INPUT);
  pinMode(DIP4, INPUT);
  digitalWrite(DIP1, HIGH);
  digitalWrite(DIP2, HIGH);
  digitalWrite(DIP3, HIGH);
  digitalWrite(DIP4, HIGH);
  
  // ESC/POS printer init
  if (digitalRead(DIP1) == LOW ){
     PRTinit();
  }
}

////////////////////////////////////////

void loop() {

  int input;

  // read serial
  input = Serial.read();

  if(input != -1 ){

    //  DIP SW 2  CR(0x0d) -> LF(0x0a)
    if (digitalRead(DIP2) == LOW && input == 0x0d){
       input = 0x0a;
    }

    // out parallel
    praout((byte)input);
  }

} // Ende loop

////////////////////////////////////////

// init ESC/POS printer caractor set to Jananese
void PRTinit() {
  // init print char set
  // ESC t n : Select international character set
  praout(0x1b); // ESC
  praout(0x74); // t
  praout(0x01); // 1:Katakana
  // ESC R n : Select character code table
  praout(0x1b); // ESC
  praout(0x52); // R
  praout(0x08); // 8:Japan
  delay(1);
}

////////////////////////////////////////

// Parallel Printer interface
void praout(byte POdata) {

  int PrtBusy;

  // wait busy low
  digitalWrite(LEDout, LOW);
  do {
    PrtBusy=digitalRead(Pbusy);
  } while (PrtBusy != LOW);
  digitalWrite(LEDout, HIGH);

  // Printer data output
  digitalWrite(PD0out, bitRead(POdata,0));
  digitalWrite(PD1out, bitRead(POdata,1));
  digitalWrite(PD2out, bitRead(POdata,2));
  digitalWrite(PD3out, bitRead(POdata,3));
  digitalWrite(PD4out, bitRead(POdata,4));
  digitalWrite(PD5out, bitRead(POdata,5));
  digitalWrite(PD6out, bitRead(POdata,6));
  digitalWrite(PD7out, bitRead(POdata,7));
  delayMicroseconds(10);

  // Strobe to low
  digitalWrite(Pstrb,LOW);
  delayMicroseconds(50);

  // Strobe to high
  digitalWrite(Pstrb, HIGH);
  
  // wait busy low
  digitalWrite(LEDout, LOW);
  do {
    PrtBusy=digitalRead(Pbusy);
  } while (PrtBusy != LOW);
  digitalWrite(LEDout, HIGH);
  delayMicroseconds(10);
}

今度は。ポケコンにORANGE pico用に買ったプリンタをつないでみるか。

カテゴリー: Arduino, ORANGE pico, 電子工作 | コメントする

どうぶつの森ポケットキャンプ その4

休憩がてら、ポケットキャンプを起動して島に行ってみる。

暗黒の島!
たまにガーデンでも真っ黒になることあったけど、島でこれはびっくりした。
この前のアップデートでこれも直ったかしら・・・

アップデートといえば、『ぺりおの宅急便』という機能が実装された。
これを使うと、わざわざぱしりどうぶつのお願いのためにフィールドの移動をする必要がなくなるので、休憩時間にちょこちょこいじる分にはすごく便利になった。

何故かフレンドが4人になった。
うれしいのだけどちょっと複雑・・・

カテゴリー: どうぶつの森ポケットキャンプ, ゲーム | コメントする

どうぶつの森ポケットキャンプ その3

暇つぶしに始めた割に、結構ガチではまってしまっている。

さて先週の月曜日の夕方ごろに休憩がてら起動してみると、見知らぬ通知が。
フレンド申請?
え、なぜ、どうして((((;゚Д゚))))ガクガクブルブル
たまに他のプレイヤーのキャンプ場なんか見に行っていいねすることはあったけど、フレンドとかあまり考えずにプレイしていたので、フレンド申請が来るとは思ってなかった。
始めは戸惑ったけど承認してフレンドになった。
そしていまはフレンドが2名になった。

コテージの方をちょっと改装してみた。

キャンピングカーの2階といい、なんのオフィスだよ(笑)
配置して思ったけど、思ったより置けるもの多くないな。
また気が向いたら何かしてみよう。

キャンプ場の様子。
 
釣り大会の景品の雪像とワカサギ釣り場を配置してみる。
冬って感じだな。
こっちは春になるころまでこのままにしよう。

キャンピングカー(1階)の様子。

自転車がバイクに進化。
ラーメンがカップラーメンに進化。
あとは、後部の方に釣り大会の景品の水槽を並べてみた。

キャンピングカーのローンを払い終わったと思ったら、ベルがたまりまくってきたので、製作可能な家具等をクラフトしまくっている。
リーフチケットはなるべく使いたくないけど、ある程度まとめて使おうと思うと課金しなきゃならんのがなぁ・・・
2月に入ったら1月ほどプレイできるタイミングも限られてくるだろうから、どうしたものかな。

カテゴリー: どうぶつの森ポケットキャンプ, ゲーム | コメントする

ORANGE pico Pocketを作ってみた

ORANGE pico Pocket 半完成キット V.1.1というものを見つけたので、早速買って作ってみた。

サイズはポケコンよりも小さい。
結構入力が面倒なので、ORANGE pico USB I/O UNITを追加で買って接続することにする。

ORANGE pico Pocketからは3.3Vの出力しかなく、USB用に5Vを準備する必要があるので、小型のPololu ステップアップ/ステップダウン 電圧レギュレータ S7VF5というものを使って5Vに昇圧してUSB用の電源を確保。
ORANGE pico Pocket側のコネクタについて、シリアルポート用のコネクタとI/Oポート用のコネクタの幅が2.54mmではないので、ORANGE pico Pocketに合わせるようにずらして半田付けしている。

実際につないでUSBメモリの中身をxfilesコマンドで表示させてみた。
USBメモリにはORANGE pico 公式サイトのサンプルやオレンジピコにベーシックのプログラムを書き込んである。
いくつかORANGE picoの不具合に引きずられて使い勝手の悪い部分はあるけど、これはこれで面白いと思った。

不具合の例
・USBでファイルをロード・セーブする場合、半角カナが消える。
・LCD表示の場合、スクリーンエディタモードでBSキーやDELキーを使うと表示がおかしくなり、修正がしづらい。(ラインエディタモードならOK)
・LCDでは正しく動かないプログラムがある
等・・・

この辺が修正されればもっと使い勝手が良くなるんだけどなぁ・・・

カテゴリー: ORANGE pico, 電子工作 | コメントする

どうぶつの森ポケットキャンプ その2

合間を見てはポケットキャンプをやっている。
基本、キャンピングカーに全振りして、たまにキャンプ場やコテージの方を手入れしている。
どうぶつ達のパシリ希望をかなえてベル(どうぶつの森の通貨)をためてキャンピングカーの面積を増やして、家具等のアイテムなんかはキャンピングカーに置くものを優先。
たまにどうぶつを呼ぶために必要なのものを作っていった。

ただ、キャンプ場についてはイベントがあったので、それに合わせて手に入れたものでそろえてみた。

右のスケートリンクは、たまにどうぶつ二人が滑っていたるする。

キャンピングカーの内装はについては面積MAXの状態にした。
1階の様子
 

2階の様子

電話は広場で売っていた黒電話に進化。

カテゴリー: どうぶつの森ポケットキャンプ, ゲーム | コメントする