So-net無料ブログ作成
前の10件 | -

ニャンコのひっかき傷に「ムヒ」 [ペット]

ニャンコと遊んでいるとひっかき傷は絶えないもんです。
DSC_0234.jpg

ご存知のとおり頭がいいニャンコは遊んでいる状況をうまく理解して遊び相手には手加減してくれますので安全といえば安全なんですが。
DSC_0233.jpg

今回は遊び方が悪かったのです。
大好きな段ボール箱に入ったニャンコは穴から見える猫じゃらしに一撃を加えようとヒートアップします。そうこうしているうちに誤って私の手が穴の近くにさしかかった瞬間、一撃が来ました。
「イテテテ...」
むき出しになった爪で容赦なく。
これは、飼い主の手だと気づいてくれていれば手加減してくれたのでしょうけど。
ニャンコにとっては相手は猫じゃらしなので、最大限のパワーを発揮したんですね。
DSC_0296.jpg

ポケットから取り出してジャジャーン!「ムヒアルファEX」!
DSC_1004.jpg

今回は重症です。
こんなときは「ムヒ」で手当しています。
虫刺されで塗ってる薬ですが、なんでか知らないけど治りが早いんです!
家にあるどの薬よりも。
ダメ元で「ムヒ」を塗ったら、あらま。
痒みもとれて治りも早い。

傷口をきれいに洗う→消毒→「ムヒ」を塗布。

めでたしめでたし。





人気ブログランキング
nice!(0)  コメント(0) 
共通テーマ:ペット

OLED 0.91インチディスプレイを買ってみた [DIY電気]

電子工作で小型の表示器が必要になりAmazonでOLED表示器を買ってみました。
「DSD TECH 2 PCS Arduino ARM用IIC OLEDの0.91インチディスプレイ」という商品で表示面積がかなり小さなものとなっています。届いた商品を開けると本体と接続ケーブルが2セット、広告っぽいチラシ一枚です。
DSC_0980.jpg

ひとつ手にとってます。
赤いのは保護シートを剥がす端っこです。
DSC_0981.jpg

それぞれの表裏です。
DSC_0982.jpg

Arduinoのu8glibライブラリを使えと書いてあるだけです。私は、PICマイコンで使用するつもりなのでArduinoと言われてもピンと来ないのです。勉強不足でついて行けません。
もう少し調べると、一番重要なキャラクターROMが入ってないということが判明したのであります。やられました!
まあ、購入前からキャラクターROMが入ってないというのは薄々わかっていましたが、案の定そうだったわけです。
文字フォントはマイコン側に持たせてI2C通信によりビット情報を流し込んでドットで書け!というものです。
今回の工作では主に時刻情報を表示させたいので、一歩譲って最悪数字とコロンと+αがあればいいということにします。
チラシにはメインチップがSSD1306だと書かれていますので、早速ネットで仕様書をダウンロードして入手。
コントローラであるSSD1306は128*64の解像度のOLEDを制御するとのこと。縦の64ドットは8ブロックに分かれ、ページと呼んでいます。1ページの縦は8ドットです。全面を全て書くには、8ビットを128回書くのを8回繰り返すということです。
それは理解できたんですけど、今回購入した表示器は128*32なので仕様書に書かれている縦のドット数が半分なのです。
あたって砕けろ!ということでブレッドボードでテストしてみました。
PICマイコンは16F88です。
DSC_0985.jpg

回路図です。
OLED TEST.gif

データを流し込んだら、わ~綺麗な水色表示!
でも、なんか変んな表示!どういうこと?砕けかけそうです。
それからそれから、あれこれ遊んでいるうちに発見しました。
奇数ビットだけ表示しているようなんです。
おいおい、偶数ビットは無視かよ。
仕様書に舞い戻り、「Set COM Pins Hardware Configuration (DAh)」という項目に目が止まりました。
0xDAコマンドの次の1バイトデータで設定できるようです。
今回初期値でテストしていましたので、0xDAに続いて0x02を設定することにより表示に成功しました。
左は猫のシルエットを4文字分で表示されています。
数字は、自作の7セグメント風フォントです。
DSC_0998.jpg

ビットマップフォントは1文字12*16にしています。横12ドットだと10文字で120ドットなので水平方向は8ドット余る計算。
縦はフルで32ドットなので、その半分の16ドットにしました。表示できる文字数は10*2ということになります。
DSC_1001.jpg

その後、テストを繰り返しているうちに別の場所のACコンセントにさすと、OLED画面の初期化に失敗しているようで、画面が反転モードだったり、砂の嵐だったり、一部が横線だったり、勝手にスクロールしたりなんです。
数分完全放電させると正常になったりするので、動作モードが予期せぬモードにラッチしているような感じです。ラッチが抜けにくいというか。
SSD1306仕様書の最後にApp Noteというのがあり、P5/6に「Software Configuration」の項目があり初期化のフローが書いてありました。12ステップですが、そのとおりに初期化ルーチンを書いて安定動作するようになりました。

ここからCCSC用のテストプログラムです
/**********************************************
  OLED TEST PROGRAM
  DSD TECH OLED 0.91inch Display
  CCSC PIC COMPILER
  DATE 2019 JULY
***********************************************/

#include <16f88.h>
#use delay(clock=20000000)
#FUSES  HS,NOWDT,NOPROTECT,PUT,MCLR,NOBROWNOUT,NOLVP
#ignore_warnings 203
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <ctype.h>
#include <math.h>

#use i2c(master,sda=PIN_B1,scl=PIN_B4,FAST)

// Bitmap Font Data
//
// [14][24]で一つの配列にしたかったがコンパイラエラーとなるため分けた
// font1[14][12], font2[14][12]の2つにした
byte const font1[14][12] =
{
{0x00,0xFC,0x7A,0x06,0x06,0x06,0x06,0x06,0x06,0x7A,0xFC,0x00},//0
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0xFE,0x00},//1
{0x00,0x00,0x82,0x86,0x86,0x86,0x86,0x86,0x86,0x7A,0xFC,0x00},//2
{0x00,0x02,0x86,0x86,0x86,0x86,0x86,0x86,0x86,0x7A,0xFC,0x00},//3
{0x00,0xFE,0x7C,0x80,0x80,0x80,0x80,0x80,0x80,0x7C,0xFE,0x00},//4
{0x00,0xFC,0x7A,0x86,0x86,0x86,0x86,0x86,0x86,0x02,0x00,0x00},//5
{0x00,0xFC,0x7A,0x86,0x86,0x86,0x86,0x86,0x86,0x82,0x00,0x00},//6
{0x00,0xFC,0x7A,0x06,0x06,0x06,0x06,0x06,0x06,0x7A,0xFC,0x00},//7
{0x00,0xFC,0x7A,0x86,0x86,0x86,0x86,0x86,0x86,0x7A,0xFC,0x00},//8
{0x00,0xFC,0x7A,0x86,0x86,0x86,0x86,0x86,0x86,0x7A,0xFC,0x00},//9
{0xFF,0xFC,0xB8,0xF8,0xF8,0xB8,0xFE,0x00,0x00,0x00,0x00,0x00},//CAT LTOP
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},//CAT RTOP
{0x00,0x01,0x0F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},//CAT LBTM
{0xFF,0xFF,0xFF,0xFF,0xFC,0xC0,0x00,0x07,0x1F,0xF8,0xE0,0x00},//CAT RBTM
};

byte const font2[14][12] =
{
{0x00,0x3F,0x5E,0x60,0x60,0x60,0x60,0x60,0x60,0x5E,0x3F,0x00},//0
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3E,0x7F,0x00},//1
{0x00,0x3F,0x5E,0x61,0x61,0x61,0x61,0x61,0x61,0x41,0x00,0x00},//2
{0x00,0x40,0x60,0x61,0x61,0x61,0x61,0x61,0x61,0x5E,0x3F,0x00},//3
{0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x01,0x01,0x3E,0x7F,0x00},//4
{0x00,0x00,0x41,0x61,0x61,0x61,0x61,0x61,0x61,0x5E,0x3F,0x00},//5
{0x00,0x3F,0x5E,0x61,0x61,0x61,0x61,0x61,0x61,0x5E,0x3F,0x00},//6
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3E,0x7F,0x00},//7
{0x00,0x3F,0x5E,0x61,0x61,0x61,0x61,0x61,0x61,0x5E,0x3F,0x00},//8
{0x00,0x00,0x40,0x61,0x61,0x61,0x61,0x61,0x61,0x5E,0x3F,0x00},//9
{0x03,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xF8,0xF0,0xF0,0xE0},//CAT LTOP
{0xE0,0xC0,0x80,0x00,0x00,0x00,0x00,0xE0,0xF0,0x38,0x38,0x18},//CAT RTOP
{0x20,0x60,0x78,0xFF,0xFF,0x7F,0x1F,0x7F,0x7F,0xFF,0xFF,0xFF},//CAT LBTM
{0x7F,0x7F,0x7F,0x7F,0x3F,0x3F,0x38,0x38,0x1C,0x0F,0x03,0x00},//CAT RBTM
};

// AポートのI/Oビット配置
struct porta_pin_map {      // This structure is overlayed
    BOOLEAN reserved1;
    BOOLEAN reserved2;
    BOOLEAN reserved3;
    BOOLEAN reserved4;
    BOOLEAN pl;      //pilot lamp
} PORTA;
#byte PORTA = 0x05
#byte PORTB = 0x06

void oled_init(void);
void oled_clr(int);
void char1216( int font_code, int cx, int cy );
/*---------------------------------------------
   main module
---------------------------------------------*/
void main( void ){
    setup_adc_ports(NO_ANALOGS);
    setup_ccp1(CCP_OFF);
    set_tris_a( 0x00 );     // ALL OUT
    set_tris_b( 0x12 );     // SDA, SCL is INPUT
    PORTA.pl = 0;           //PL OFF
    delay_ms(100);
    oled_init();
    delay_ms(100);
    oled_clr(0x00);


    char1216(10,0,0);  //猫シルエット左上
    char1216(11,1,0);  //右上
    char1216(12,0,1);  //左下
    char1216(13,1,1);  //右下

    char1216(0,2,0);  // Font0 を x=2 y=0に出力
    char1216(1,3,0);
    char1216(2,4,0);
    char1216(3,5,0);
    char1216(4,6,0);
    char1216(5,7,0);
    char1216(6,8,0);
    char1216(7,9,0);

    char1216(8,2,1);
    char1216(9,3,1);
    char1216(0,4,1);
    char1216(1,5,1);
    char1216(2,6,1);
    char1216(3,7,1);
    char1216(4,8,1);
    char1216(5,9,1);
    while(1);
}

/* ----------------------------------------------------------------
    OLEDの初期化
---------------------------------------------------------------- */
void oled_init(void)
{
   i2c_start();
   i2c_write(0x78); // OLED slave address
   i2c_write(0x00); // Control byte Co=0, D/C#=0
   i2c_write(0xa8); //SET MUX RATIO
   i2c_write(0x3f);
   i2c_write(0xd3); //SET DISPLAY OFFSET
   i2c_write(0x00);
   i2c_write(0x40); //SET DISPLAY START LINE
   i2c_write(0xa0); //SET SEGMENT RE-MAP
   i2c_write(0xc0); //SET COM OUTPUT SCAN DIRECTION
   i2c_write(0xda); //SET COM PINS HARDWARE CONFIGURATION
   i2c_write(0x02);
   i2c_write(0x81); //SET CONTRAST CONTROL
   i2c_write(0x7f);
   i2c_write(0xa4); //DISABLE ENTRE DISPLAY ON
   i2c_write(0xa6); //SET NORMAL DISPLAY
   i2c_write(0xd5); //SET OSC FREQUENCY
   i2c_write(0x80);
   i2c_write(0x8d); //ENSBLE CHSRGE PUMP REGULATOR
   i2c_write(0x14);
   i2c_write(0xaf); //DISPLAY ON
   i2c_stop();
}
/* ----------------------------------------------------------------
    OLEDの画面クリア

      data : 埋めるデータ
---------------------------------------------------------------- */
void oled_clr(int data) // OLED 画面消去
{
   int32 i;
   i2c_start();
   i2c_write(0x78); // OLED slave address
   i2c_write(0x00); // Control byte Co=0, D/C#=0
   i2c_write(0x20); // Set memory addressing mode
   i2c_write(0x00); // Horizontal addressing mode
   i2c_write(0x21); // Set column address
   i2c_write(0x00); // Column start address 0
   i2c_write(0x7F); // Column end address 127d
   i2c_write(0x22); // Set page address
   i2c_write(0x00); // Page start address 0
   i2c_write(0x03); // Page end address 7d ->3d
   i2c_stop();
   i2c_start();
   i2c_write(0x78); // OLED slave address
   i2c_write(0x40);
   for(i=0; i<512; i++){ // 128COL * 4page
     i2c_write(data); // Out data
   }
   i2c_stop();
}

/* ----------------------------------------------------------------
     OLEDに一文字出力
       font_code:
          配列を指定(0~)
       cx:
          出力水平位置(0~9)
       cy:
          出力垂直位置(0~1)
---------------------------------------------------------------- */
void char1216( int font_code, int cx, int cy ) // 12x16dot FONT
{
    int x;
    i2c_start();
    i2c_write(0x78); // OLED slave address
    i2c_write(0x00); // Control byte Co=0, D/C#=0
    i2c_write(0x20); // Set memory addressing mode
    i2c_write(0x00); // Horizontal addressing mode
    i2c_write(0x22); // Set Page Address
    i2c_write(cy*2); // Page Start
    i2c_write(cy*2+1); // Page End
    i2c_write(0x21);  // Set Column Address
    i2c_write(cx*12);  // Start Address(0-9)
    i2c_write(cx*12+11);  // End Address
    i2c_stop();
    i2c_start();
    i2c_write(0x78); // OLED slave address
    i2c_write(0x40);
    for( x=0 ; x<12 ; ++x ){
      i2c_write(font1[font_code][x]);
    }
    for( x=0 ; x<12 ; ++x ){
      i2c_write(font2[font_code][x]);
    }
   i2c_stop();
}


このデバイスを使った電子工作が完成したら記事にしたいと思います。


DSD TECH 2 PCS Arduino ARM用IIC OLEDの0.91インチディスプレイ

DSD TECH 2 PCS Arduino ARM用IIC OLEDの0.91インチディスプレイ

  • 出版社/メーカー: DSD TECH
  • メディア: エレクトロニクス



人気ブログランキング
nice!(0)  コメント(0) 
共通テーマ:日記・雑感

TK-85が出てきた [DIY電気]

若いころこNECのTK-85というマイコンボードを買ってきてマイコンのプログラミングトレーニングをしました。トレーニングじゃなく半分遊び道具だったかもしれません。
そのTK-85が蔵から出てきました。
こんな汚い箱。
DSC_0967.jpg

箱から出てきたものにはマニュアルがありませんでした。
非常に残念。
DSC_0964.jpg

テンキーみたいなキーボード
DSC_0965.jpg

改造した痕跡。
DSC_0966.jpg

たしか、1982年頃に買ったのではないかと思います。
プログラミングの方法は、アセンブラ言語をノートにコーディングして、その右に、命令に対する16進数を書いてという具合に。ジャンプ命令は、特にやっかいなもんでした。命令を増やしたりすると番地が変わるのでその都度ジャンプ命令の部分も書き換えが必要だったのです。
アセンブラ学習中は7セグメントLEDを光らせたりするぐらいのことしか学習課題がなく、時計の秒のような数字の変化を見て少し喜び、人が見てたら変です。
そうこうしているとYAMAHAからシンセサイザDX-7が発売になると知ったのです。
音楽的に興味があったわではなく、MIDIという信号を入れてあげると音が鳴るということに興味を惹かれました。独身貴族だった私はすぐさま秋葉原のラオックスでDX-7ゲット(20ン万円)。
TK-85とDX-7をつなぐインターフェイス回路(パラシリ変換)を作ってプログラミングに臨んだわけです。DX-7は16音が同時に発音できる仕様ですので、プログラムも16チャンネル出力できるようにしました。
DX-7と接続するための改造が写真の手配線です。
プログラミングが終わってからは、ひたすら譜面を16進数に落とし、自動演奏を完成させることができました。
我ながらこれはすごいもんだと感心したもんです。
ビバルディの春を20小節ぐらいかな、とても全部はメモリ不足で入りません。
ビバルディの春の次は、ギターの譜面でディアハンターをデータ化して演奏させた記憶があります。
当時はインターネットも、Nifty-Serveもなく、シェアして他の方にお披露目させることもなかったです。
今思えばオーディオテープにでも取っておけばよかったと後悔しています。

人気ブログランキング
nice!(0)  コメント(0) 
共通テーマ:日記・雑感

LINEのスタンプ作成手順 [PC]

LINEのスタンプをフリーウェア FileAlpacaを使って作成したので、忘れないように覚書です。
※写真素材をスタンプにする手順。
FileAlpaca ver2.1.19

(1)FileAlpacaを起動して新規作成を始める
[ファイル][新規作成]
用紙サイズ[LINEスタンプ×1]

(2)写真素材を取り込む
[ファイル][画像をレイヤーとして開く]
写真素材を選択して[開く]

(3)用紙サイズに対して写真が大きいので表示している写真が、写真の左上部を拡大したものになっている。
[Ctrl][T]を押す
左上のアンカーを右下にドラッグを繰り返して写真サイズを小さくして行き希望の大きさになったら、下部の[OK]を押す

(4)作業レイヤーを写真のレイヤーにして、[消しゴム]や[自動選択]を駆使して不要部を消していく。
[消しゴム]はマウスを使って根気よく消しゴムのように消していく

[自動選択]は上の[許容値]の数値を(20前後)に設定し「アンチエイリアス」はオンにする。
消したい中心付近をクリックすると自動選択されるので問題なければ、[Delete]キーで画像を消していく。
[Ctrl][D]を押して選択解除しながら作業する。

(5)綺麗に消したかの確認
[表示][透明背景]のチェックを外して、[表示][背景色の指定]で色付きの背景にして背景色を変えたりしながら、不要部がきれいに消えているか確認する。

(5)画像を見栄え良くする
画像が暗い場合は、[フィルタ][トーンカーブ]斜めの線をドラッグして画像を調整する。

(6)画像に付けるセリフを入れる作業。
右側にある、新規レイヤーボタンで新規レイヤーを作る。
[ツール][テキスト]写真の真ん中をクリック
[HG丸ゴシックM-PRO][太字][色-黒]文字入力する
[レイヤー][変換][カラーレイヤーに変換]
レイヤを複製する
複製した下側のレイヤーを白の文字縁取りにするので、そのレイヤーを選択して、
[選択範囲][レイヤーを元に作成/不透明度]
[選択範囲][拡張][3]
色を[白]選択
[Ins]キー押す

(7)画像はキャンバスの最外周から10Px程度の余白が必要なので余白を作ります。
写真が置かれているレイヤーを選択
[選択範囲][全て選択]
[選択範囲][収縮]
10[OK]
[選択範囲][反転]
[Delte]キー押す

(8)完成したら、
[ファイル][書き出し][PNG(透過PNG)]→[OK]

スタンプ画像は、370×320(最大)ですが、メイン画像は240×240、タブ画像は96×74なので、メイン画像やタブ画像は用紙サイズを変更して作成。

FileAlpaca1.jpg


人気ブログランキング
nice!(0)  コメント(0) 
共通テーマ:日記・雑感

LINEでほしいスタンプが見つからなかったら [スマートフォン]

このBlogでもたまに出てくる我が家のニャンコ。
我が家のアイドル ロシアンブルーさんです。
我が家のアイドルがLINEのスタンプだったらどんなに素敵なことでしょう。
そんな自然な流れでLINEのスタンプでロシアンブルーを使いたくて検索すると、あるあるたくさんある!
どれを購入しようか、
しか~し!内容を見ると使えそうなものがない。
LINEは基本、家族でやりとりしているだけなので、なかなか希望するものが無い!
それならば、自分で作ろう!
DSC_0651.JPG

Mac、Windows両対応のフリー ペイントツール FireAlpaca[ファイア アルパカ]をダウンロード。
家族間で使えるスタンプをロシアンブルーの写真で作成することにしました。
過去のニャンコの写真を引っ張り出して、使えそうなものを抽出。
スタンプのセリフは家内と相談して32個をリストアップ!
一週間で32のスタンプを完成させました。
LINEにスタンプをアップロードして土曜日に「リクエスト」したら、火曜日に「リジェクト」通知が来ました。リジェクトとは「承認しません」の意味です。
何か知らないキャンペーン(特集の参加)に参加するのチェックボックスをオンにして申請したからです。そのキャンペーンには適合しないためリジェクトされたわけです。チェックをオフにして再度リクエスト!
次の日の夕方来ました、また「リジェクト」が。
ななな、今度は何だ?
「タグ」がだめだと言ってる。
タグの設定は、各スタンプにLINEが準備したことばを結びつけるものです。「おはよう」とか「了解」などのタグです。タグに適切なものが無い場合に頭文字を付けたんです。「あ/ア」というような頭文字タグがあったので、それを付けたのですが失敗だったのです。
タグの件でリジェクトされるといつになるのかわからないので、苦労して付けたタグは全て削除して再度、タグ無しでリクエスト!
めでたく、金曜に「承認」に至りました。
新着に出てきました。
line_new2019.gif

line_new2019_2.jpg

そんなこんなで、スタンプをゲット!
めでたしめでたし!
今回作ったスタンプは
ロシアンブルーで家族間連絡」です。
興味があったら見てみてください。






人気ブログランキング
nice!(0)  コメント(0) 
共通テーマ:日記・雑感

テレビの音をスマートスピーカーで聞く [家電]

台所仕事をやってるとリビングのテレビが気になることがよくあります。
と言って音を大きくするのもよくありません。
DSC_0940.jpg

台所にはGoogle Home Miniが常設されていて、radikoをを聞いたり、タイマーをセットしたり、計算させたりするのに重宝しています。
ひらめきが遅かったのですが、家のテレビ(KJ-49X8500F)Bluetooth内蔵だったんじゃないのと気が付いたのであります。そうです、Google Home Miniとペアリングすれば台所でテレビの音声が聞こえるはずです。
DSC_0939.jpg

ソニー製のスマートスピーカー(LF-S50G)もあるので、こいつもついでにペアリングします。
DSC_0935.jpg

テレビの「ホーム」ボタンを押して、「設定」→「Bluetooth接続」と進みます。
DSC_0936.jpg

Google Home Miniに「OKグーグル、Bluetoothをオンにして」とお願いして、テレビのBluetoothメニューにある「機器登録」を選択するだけでペアリングが完了しました。
ソニーのLF-S50Gも同様にペアリングしました。
DSC_0941.jpg

設定後は、いったん「OKグーグル、Bluetoothをオフにして」と言って接続を全部切ります。
そして、台所で、Google Home Miniに向かって「OKグーグル、Bluetoothをオンにして」と言ったらテレビの下に写真のような表示が出てテレビの音は出力したまま、Google Home Miniからも音が出るようになりました。
DSC_0938.jpg

気になるのは、音の遅延です。
Google Home Miniは、テレビから出ている音と一緒に聞くとエコーがかかっているようです。遅延が0.3秒ぐらいでしょうか?
それに比べ、ソニーのLF-S50Gは言葉の単語分遅れます。テレビが「今日は」と言ったらLF-S50Gは「今日は」とかぶらずに遅れるイメージです。
因みに、テレビ側はAVシンクをオンにしています。

まだ気になることがあります。
数回使ってみましたが、ある時Google Home Miniに「OKグーグル、Bluetoothをオンにして」と言ったら、テレビの音が出なくなり、Google Home Miniも音が出ません。何度やっても出ません。
テレビの音は出たままGoogle Home Miniから音が出ないパターンもあります。

アイタタタ!
私:「OKグーグル、原因は何だ!」
Google:「すみません、お役に立てそうもありません」

続報があれば追記します。

追記:
その後の状況は、やはりBluetoothは接続しますが、Google Home Miniからは音が全く出ないことがよくあります。次の日には改善していることもあります。
音が出ない時、ソニーのLF-S50Gに対してBluetooth接続すると音が出ますので、いったんLF-S50GとのBluetooth接続を解除して、Google Home Miniと接続すると音が出るようになります。
Google Home Miniは深入りしないで、ほおっておくのが一番です。
そのうち改善すると思いますので。








人気ブログランキング
nice!(0)  コメント(0) 
共通テーマ:日記・雑感

猫の排泄物用ゴミ箱にちょっと工夫を [ペット]

我が家のニャンコの排泄物をゴミ出しまでストックしているゴミ箱です。
生ゴミ用で密閉タイプですが、特に夏は密閉であろうが、なかろうが、かなり臭いです。
蓋が閉まっていても、何と表現すればいいのか「モワ」っと臭います。
蓋を開ければ、のど自慢の合格の鐘が鳴るぐらい臭いです。
DSC_0847.jpg

消臭袋も2種類使ってきましたが、効果があるのか無いのかよくわかりません。
糞尿の臭いは限度を超えているようです。
DSC_0846.jpg

ニャンコのトイレで一旦、透明の薄いポリ袋に糞尿をスコップで入れて、このゴミ箱の中の消臭袋にいれているのです。今回は、この臭いをどうにかしたいのもありますが、秒殺で消臭袋の中に放り込みたい計画であります。
DSC_0838.jpg

ゴミ箱の2か所に6mmの穴を開けました。
DSC_0842.jpg

拾い集めたネジを大事に取ってありますので、使えそうなものを探します。
ありました、白いやつ、いよいよ貴方の出番です。
DSC_0841.jpg

先ほど開けた穴に、ダブルナットで取り付けます。
DSC_0843.jpg

消臭袋をこんな具合に引っ掛けます。
そうです、息を止めて、秒殺で消臭袋に投げ込んで、蓋を閉じればいいのです。
臭いものには蓋をしろ!です。
DSC_0844.jpg

無駄な抵抗かもしれないと思いつつ、乾燥させた「コーヒーかす」をこんな入れ物に入れて、
DSC_0839.jpg

ゴミ箱の底にそっと入れてあります。
これが、意外といいんですね、ゴミ箱を開けたときコーヒーの臭いが漂います。
糞尿の臭いよりコーヒーかすの臭いが勝のか?コーヒーかすが消臭しているのか?それはよくわかりませんが、結果的に消臭しているってことのようです。
DSC_0840.jpg

完成です。
しばらくこれで様子を見てみます。
DSC_0845.jpg








人気ブログランキング
nice!(0)  コメント(1) 
共通テーマ:ペット

洗面所のシャワーヘッドがいつの間に [生活]

どこのご家庭にもある洗面所のシャワーヘッド。
シャワーヘッドと言っても、シャワーとして使うのは年に一回ぐらいか?
DSC_0801.jpg

下から見上げたら、あらら!
そんなに汚れてるんだったら言ってよ!と言いたくなる状況。
これ見たら汚れを落とすまで使いたくないですね。
DSC_0802.jpg

ヘッドの部分だけ回して取り外しました。
DSC_0804.jpg

500mlペットボトルを切ったコップにクエン酸を小さじ一杯ぐらい入れて、
DSC_0805.jpg

2~3時間ぐらい浸け置きしました。
DSC_0806.jpg

カリカリした付着物は取れていませんでしたが、軽くブラシでこすればきれいに汚れは落ちました。
DSC_0807.jpg

たまには、蛇口を低い位置から見上げてみてください。






人気ブログランキング
nice!(0)  コメント(0) 
共通テーマ:日記・雑感

猫用自動給餌器をリモコン制御に改造、その2 [DIY電気]

過去記事でもご紹介しています「猫用自動給餌器をリモコン制御に改造」の話題です。
PICマイコンを組み込んでいるのですが、過去に作成したPICマイコンをそのまま流用していました。ソフトを変更したくても、書き込みツールを所有しないので、ソフト変更は手も足もでません。
そこで、今回10年ほど休んでいたマイコンプログラムを再開することにしたのです。
コンパイラーだけは所有していたのですが、書き込み器を持ってないので「ANBE PIC プログラミングキット PICKIT3互換品 PIC マイコン ライター」を購入しました。
3,000円を切る価格!こんなに安くて入手できるのなら、もっと早くに買っておけばよかっと少し後悔。書き込みソフトは、本家Microchipのサイトから「MPLAB X IDE v5.15」をダウンロードして、インストール中にオプションで、IPE(書き込みソフト)だけ指定してインストールしました。
DSC_0763.jpg

開梱したところ。大満足の内容。
DSC_0765.jpg

今までのところ、TVリモコンで蓋を開けることができるようにしています。
ですから、スマート家電リモコンを利用すれば、好きな日時に蓋を開けることができます。
TVリモコンを受信するソフトもこのPICにプログラムしてあります。ソニー製のリモコンでしたら、まず、LEADERパルスという2400μs幅のパルスを検出、その次から12bitか15bitか20bitのデータが送られてきます。600μsだったらゼロ、1200μsだったらイチなのでビットを組み立てていくソフトです。
12bitか15bitか20bitのどれであるかは、タイムアウトで判断しています。

#define TV_BLUE 0x0f004ba4
ソフトの中では、TVの青ボタンはこのように定義しています。
青ボタンは、15bit長で0x4ba4というコードなのです。

今回は、その機能に加えて、TVリモコンで本体にタイマー設定ができるようにしました。
実はこの製品、「PetSafe おるすばんフィーダー デジタル2食分 バージョン2」は、タイマー設定が1時間単位しかできない欠点があるのです。
改良したことは、設定モードに移行したら、TVのチャンネルボタンを2つ押して2時間30分後、というような設定ができます。簡素化するため、あえて10分単位の設定に留めています。
2時間30分の設定であれば、[2],[3]とチャンネルボタンを押して設定します。2時間ちょうどだったら[2],[10]とチャンネルボタンを押せばいいようにしました。チャンネルボタンには[0]が無いので、ゼロは[10]で代用しています。
PICマイコンはタイマー割り込みという機能を常時働かせて、ソフトで時間をカウントするようにしました。10MHzのクロックで動作させているので、基本サイクルはデータシートに(=Fosc/4)と書かれているので、2.5MHzを基本サイクルで計算します。2.5MHzの周期は0.4μs、×8のプリスケーラーを使用して16bitのフルカウントで約209msの割り込みをプログラムしました。
フタがセットした時間より数分違っていてもニャンコには影響ないので、ラフなカウントでいいと思っていたのですが、12時間のカウントをしたところ、なかなか正確です。
DSC_0799.jpg

動画はこちらです。



ANBE PIC プログラミングキット PICKIT3互換品 PIC マイコン ライター

ANBE PIC プログラミングキット PICKIT3互換品 PIC マイコン ライター

  • 出版社/メーカー: ANBE
  • メディア: エレクトロニクス




人気ブログランキング

nice!(0)  コメント(0) 
共通テーマ:ペット

猫の外耳炎 [ペット]

うちのニャンコはロシアンブルー、生後3~4か月頃のお話です。
気づくのが遅くて可哀そうなことをしてしまいました。
DSC_0915.jpg

右耳の奥が黒いツブツブやらで汚れているんですが、耳の奥の形状が複雑で、耳掃除の要領がわりません。人間が小さくなってこの部分を探検したら、一生出てこられません。複雑な鍾乳洞のように。
そんなニャンコに、いつも適当に綿棒を使って掃除をしてあげていました。
気になりつつも、そんな処置でしのいでいたのであります。
次第に後ろ足で耳をカキカキすることが多くなり、またカキカキも激しいこととなりました。ある日、激しくカキカキしていてあまりにも痒いらしく、じだんだを踏むんです。あまりにもの痒みのため、足を何回か踏む動作を見たのです。
DSC_0962.jpg

これはいけないということで、急いで病院に連れて行きました。
耳が汚れた写真から2か月半も経ってからです。
病院は半月間に3回通院しました。
耳ダニが顕微鏡で確認され、外耳炎という診断です。病院では「耳を洗います」からと言われて、はぁ?という感じでした。想像するに、耳に水を流し込んで洗うのか?右耳から流して左耳から出るとでも言うのか。
まっ、そんなことはいい。
処置が終わって対面すると、ニャンコはなんかスッキリしていました。
やはり、洗ったんだな…
通院1回目から、小さな容器に白い液体(粘度あり)の入った薬をもらいました。耳奥に1日2回注入して、注入した液体が耳奥になじむように、耳をモミモミしてくださいと実演とともに教えてもらいました。耳奥に、耳道を完全に塞ぐ位の量です。心配になって先生に聞いてみましたが、耳道はL字型になってるとか色々説明されて、!?!?わかりました、と言って、指示されたとおりに毎日薬を付け続けることにしました。
DSC_0755.JPG

最終日にはレボリューションという薬を持って帰り、「半月後に付けてください」と言われました。
DSC_0251.jpg

これがもらった薬。映画「コクーン」を思わせる宇宙船。
DSC_0252.jpg

何が入ってるかと興味津々。
出ました!
これを全部、ニャンコの首の後ろに付けてあげます。
それからは、優雅に後ろ足で耳かきしていましたので完全に良くなったようです。
めでたし、めでたし。
DSC_0253.jpg

あれから2か月。
ちょっと激しく執拗に、耳を掻いていました。
よく観察していると、ひょうたんから駒が出てきました。間違えました、耳から耳くその塊が出てきました。綿棒の先の1/3ぐらいの大きさでしょうか。
この騒動はこれで終わりました。
今回の件で勉強になりました。耳は毎日掃除する必要はなく、一週間に一回ぐらいでいいんじゃないでしょうか。綿棒に付いた汚れが、黄土色であればOK、健康のようです。
DSC_0383.jpg

【要約】

タイムライン:
7月19日 何か耳の奥が黒くて汚いなと気づく
9月29日 動物病院1回目
10月06日 動物病院2回目
10月14日 動物病院3回目
10月29日 自分でレボリューションを投与
1月02日 巨大耳くそ出てくる

医療費、通院3回合算:
15,692円(税込)





人気ブログランキング
nice!(1)  コメント(0) 
共通テーマ:ペット
前の10件 | -