2022年5月29日日曜日

日本科学未来館に未来感がなかった

すごく久しぶり、おそらく14、5年振りくらいに日本科学未来館に足を運んでみました。昔は友の会というのに入っていて年会費を払えばフリーパスだったのでよく出かけていました。

久しぶりの館内は展示内容に余り目新しさがなくて、時間が止まっているかのような感覚を受けました。


民主党政権時に事業仕分けの対象になってしまい事業主体が変わり、予算も厳しくなったことが影響しているのかと思う。先日、asimoのショーが終わるというニュースを目にしたが、まだasimoやってたんだ、という驚きの方が先でした。

まさに日本の失われた30年がそのまま、という感じで未来感がありません。理系の人間としては未来をつくる子供達がもっと科学技術に興味を持ってもらえる場になれば、と切に願うばかりです。


2022年5月28日土曜日

束の間の休憩

久しぶりに都内のホテルでのんびりと過ごしています。3年振りくらい。コロナ禍で帰省以外の遠出は殆どしてこなかったのですが、そろそろ耐えられずに出てきました。ということで工作もDIYも雑用もお休みの週末です。


ユニコーンガンダムは、角の開閉が故障中とのことで、ユニコーンではありませんでした。


夜景が綺麗です。屋形船が出ていました。

昼間は結構な人出がありましたが、夜になるとさすがに減ってきたのと、涼しくなり散策には丁度よい感じです。

明日は早朝の散歩を楽しむ予定。


2022年5月25日水曜日

Short動画を作ってみた

Youtubeのショート動画15秒を作ってみました。効果音はあとから入れてます。


 持っている動画編集ソフトのPowerDirectorは一番安いものだったので、縦長動画や正方形の動画が作れません。しかたなく普通の横長で作ってからiPadのアプリで正方形に切り出しました。もっとよい方法はないものか。

あと、0円ではなくなる楽天モバイル は解約しました。SIMを返却しなければならないのがちょっと不思議。サーバ側(局側)で使えなくすれば済みそうなものだけど。

電話番号はどうでもよかったので、ナンバポータビリティでの乗り換えもなしです。次にどこと契約するかまだ未定。povo 2.0、HISモバイルあたりが候補。povoは0円だと128bpsの遅さだし、HISモバイルは契約料がかかるし、毎月の課金がある。

2022年5月22日日曜日

昔のデジタル時計をNTP時計にする(その4;完成)

NTP時計にするのに合わせて、10数年使って 輝度が低下してムラがでてきた青色LED を取り外します。NTP時計化だけでなくレストアですね。


取り外したLEDです。リードが一部錆びています。スタティック点灯で、ある程度電流を流せばまだまだ明るく点灯しました。

変わり映えしませんが新しい青色LEDを取り付けた様子です。以前のLEDはかなり電流を流していたので電流制限抵抗が23.5Ω(47Ω抵抗並列)でしたが、今回はそれに47Ωを直列に追加して計70.5Ωにしました。LEDのピーク電流の定格が分からないのですが、一番明るい時でもデューティ1/13なので大丈夫でしょう。部屋が暗いともっと点灯時間は短い。

NTPサーバから時刻情報を取ってくるESP32モジュール基板はこんな感じで裏蓋に載せました。実はこの位置は失敗。メイン基板とLEDを繋ぐコネクタが刺さる場所だった。なんでこんなことに気付かないのか?! このあと場所を変更しました。

電源を入れて7~8秒すると、自動的に時刻が設定されます。感動。LEDが以前より狭角だったようでスポットの丸が目立ちますね。また、若干向きが合ってなかった模様。それぞれのドットが中心からズレているものがあります。

上記は見た目と色が違ったので、別のデジカメで撮ってみたら下記のようになりました。これもちょっと色が違う感じ。カメラの色温度の問題? iPhone6sのカメラだともっと青く映りますが、かなり見た目と違う。フィルタの問題かな。

定位置に設置した様子です。十分明るく見えます。

NTPサーバにアクセスする時刻合わせは、電源を入れた時と毎日0:00です。もし、WiFiに繋がらなかったり、NTPサーバに繋がらなかったら時刻合わせはせず、PICへ時刻データを送信しません。PIC側の高精度な発振モジュールのほうがESP32よりは精度が高いと思うので。

需要があるか分かりませんが、回路図、PIC側プログラム、ESP32スケッチなどは、近々アップ予定。

--22.06.02追記
以下で回路図、ソースなど公開しました。


2022年5月21日土曜日

昔のデジタル時計をNTP時計にする(その3;ESP32モジュール基板作成)

なんだか梅雨入りしたような天気で、先週に続き雨の土曜日です。なんだか気分も落ち込みそう。剪定枝の片づけもできません。梅雨入り前に終わらせたかったけど無理かも。

朝からNTP時計の時刻を受信してPICへ送信するモジュールを作りました。載っているのは秋月で330円のESP-WROOM-32Dと、裏面にSMDタイプの3端子レギュレータと3.3V/5Vレベル変換回路が載っています。総額500円以下だと思う。

左の方に出ているピンヘッダはESP32のプログラム用、右下の3ピンのピンヘッダがデジタル時計に繋ぐ電源と信号です。写真では仮に8ピンのPIC12F1501に繋いで検証していますが、最終的には 青色LEDデジタル時計 に繋ぎます。


回路は手書きで汚くて恐縮ですがこんな感じ。左上のSDA,SCKはESP32にI2C接続のLCDを繋いだときのメモの痕跡。


当初、信号を取り出すピンをGPIO12にしていました(ESP32の左側一番下なので半田付けしやすそうだったからという理由で選んだ)が、プログラム書き込み時に以下のエラーがでてプログラムできませんでした。

     A fatal error occurred: MD5 of file does not match data in flash!

色々試しましたが解決できず、ググったら以下のサイトに原因が載っていました。感謝。


Note about GPIO12 (ESP32 only)
GPIO12 is used as a bootstrapping pin to select output voltage of an internal regulator which powers the flash chip (VDD_SDIO). This pin has an internal pulldown so if left unconnected it will read low at reset (selecting default 3.3V operation).

ということで、レベル変換回路に繋いでプルアップにしてあったのでまずいようです。隣のGPIO14に変更しました。

なんか前にもこんなようなことがあった気がします。ESP32のGPIOは機能が予約されているピンがあるので要注意です。備忘録として記載しておきますが、忘れて同じことを繰り返しそう。

今日はこれから3年半ぶりくらいに歯医者にでかけるのでここまで。コロナ禍になる前には年に1回程度は検査と歯石取りに行っていたのですがずっと行けなかった。とくに気になる箇所があるわけではないけど診てもらいます。久しぶりなのでレントゲン検査もあると思うけど、何事もないことを願っています。

2022年5月18日水曜日

昔のデジタル時計をNTP時計にする(その2;LED打ち替え)

10数年前に作った 青色LEDデジタル時計NTP時計化 ついでに輝度が落ちてきたLEDの交換をしてみます。クルマのメータなどのLEDを好みの色に交換することをLED打ち換えというらしい。半田付けで交換するのに打ち替え? 元々の自動マウントを打つというのか? 表面実装LEDのみに使われている言葉?

以下はアマゾンで100個600円(送料込み)で購入した青色LEDのテスト点灯の様子。


ピッタリ100個入っていて今のところ全て点灯し、輝度のムラも気になるものはありません。

10数年経った青色LEDデジタル時計の現在の様子です。全体的に輝度が落ちているのと、明るさにムラがでています。
 
以下は作った当時の様子です。明るいしムラがない。1のフォントは数年前に上記のように変更しました。

購入した100個600円のLEDです。仕様では14,000~16,000mcd と明るい(電流条件は不明)。以前使ったものは100mAで9,000mcd、それでも当時はかなり高輝度でした。それに当時は10個で400円もしました。



アマゾンのコメントを見ると、点灯しないものがあるようなので全てテストしてみました。
5個直列にして電流制限抵抗をつけて約16Vで5mA、それを20個並列です。

デジタル時計に組み込むときは、ダイナミック点灯でデューティ1/16なのでもっと電流を流してみますが、定常電流もピーク最大電流も判らないのでとりあえず20mA程度で明るさを確認してみます。
 
 現在、点灯テストを継続しています。5mAで数日点灯して、もし輝度が落ちるものがあれば取り除きます。必要個数は62個なので十分余裕はあります。
 

2022年5月15日日曜日

昔のデジタル時計をNTP時計にする(その1)

今週末は天気がイマイチです。ゴールデンウィークに手入れした剪定枝の片づけを少しだけやりました。まだ切り切れていない枝と草むしりは来週末ですね。

10年以上前に作成して今も使い続けている青色LEDデジタル時計(製作記事はこちら) をNTP時計に改造しようかと思い、プロトタイプで実験を行いました。この時計はそれなりに精度は高いですが、それでも長期間使っていると次第にズレてきます。高い場所に設置してあるので、その都度時刻合わせするのが面倒です。

NTPとは、Network Time Protocolの略で、インターネットで時刻情報を提供しているサーバから日付や時刻情報を取ってくるプロトコルです。

普通の時計の時刻を合わせるには電波時計が一般的ですが、コンピュータの時刻を合わせるのはNTPが一般的です。WindowsパソコンなどもNTPで時刻合わせを行っています。他にGPSを使う方法もありますが、アンテナを屋外に出すのが面倒です。

WiFiがあるところなら3~400円程度のESP32マイコンでNTPサーバに繋がるので便利な世の中になりました。

ということで、以下はESP32単体で時計を作ってみた様子です。表示は8x2の小型液晶で、I2Cで繋がるので線は2本だけ。他には電源とGNDです。

一旦、NTPで時刻情報を取ってきてESP32の時計を合わせると、あとはNTPサーバにアクセスしなくても大丈夫です。一晩動かして精度を確認しましたが、目視では確認できないくらいズレていませんでした。1日に1回程度、NTPサーバに繋げば精度は十分維持できるでしょう。

次に時刻情報をPICマイコンに渡して、PICで小型液晶に表示してみました。PICは8ピンPICのPIC12F1501です。最終的にはLEDマトリクスをダイナミック点灯しているPICに繋ぎます。

時刻情報の受け渡しは、1線のシリアル転送にしました。スピードはとってもゆっくりで、1ビット当たり1msecです。スタート、ストップもあるので70bps程度になります。これは、最終的に受信側のPICがLEDのダイナミック点灯のための割り込みがずっと発生しているので、多少タイミングがズレても受信できるようにするため。

時刻合わせは時間、分、秒だけなので3バイト転送すればよいので遅くても問題ないです。時刻合わせだけなら、00:00:00 に送ることにして1ビットでもよいのですが、電源を入れた直後などに自動で時刻合わせするには3バイトあったほうがよいです。

あとは、ESP32単体(開発キットは高いので、ESP32のみ)をユニバーサル基板に載せますが、既存のデジタル時計は5Vで動いていて、ESP32は3.3Vなので3.3Vの3端子レギュレータと信号のレベル変換回路が必要です。最初から時計を作るならESP32だけで作った方が楽ですが、今回は既存の時計にアドオンする形にします。

以下、ESP32だけで小型液晶に日付と時刻を表示する(写真2枚目)スケッチです。無保証です。
//------------------------------------------------------------------------
//                                                          '22.05.14 naka
//  ESP32 ntp時計(小型液晶に日付と時刻表示)
//
//------------------------------------------------------------------------
#include <WiFi.h>
#include <WiFiClientSecure.h>

#define SDAPIN  21
#define SCLPIN  22
#define SERIAL_OUT 25

#include <FaBoLCDmini_AQM0802A.h>
FaBoLCDmini_AQM0802A lcd;

char ssid[] = "your_WiFi_ssid";
char password[] = "your_WiFi_password";

void setup()
{
  char msg[128];

  pinMode(SERIAL_OUT, OUTPUT);
  digitalWrite(SERIAL_OUT, HIGH);
  
  Serial.begin(115200);

  // モニタLCD設定
  SetupLCD();
  dispLCD_msg("NTP-    ","   CLOCK");
  delay(1000);

  if (wifi_connect()) {
    // NTPサーバに接続し、時刻設定
    configTime(9 * 3600L, 0, "ntp.nict.jp", "time.google.com", "ntp.jst.mfeed.ad.jp"); 
    Serial.print("NTP done");
    disp_time();
    delay(1000);
  }

  // WiFi接続を切る
  wifi_disconnect(); 
}

void loop()
{ 
  disp_time();
  delay(1000);
}

void disp_time() {
  char yymmdd[10],hhmmss[10];
  struct tm timeinfo;
  getLocalTime(&timeinfo);

  sprintf(yymmdd, "%02d.%02d.%02d",(timeinfo.tm_year + 1900)%100, timeinfo.tm_mon + 1, timeinfo.tm_mday);
  sprintf(hhmmss, "%02d:%02d:%02d",timeinfo.tm_hour, timeinfo.tm_min, timeinfo.tm_sec);

  dispLCD_msg(yymmdd,hhmmss);
}

void dispLCD_msg(char msg1[],char msg2[]) {
  lcd.clear();
  lcd.print(msg1);
  lcd.setCursor(0, 1); // Col,Raw
  lcd.print(msg2);
}

void SetupLCD() {
  lcd.begin();
  lcd.command(0x38);
  lcd.command(0x39);
  lcd.command(0x14);
  lcd.command(0x71);
//  lcd.command(0x51);  // 5V
  lcd.command(0x56);  // 3.3V
  delay(2);
  lcd.command(0x6c);
  delay(300);
  lcd.command(0x38);
  delay(1);
  lcd.command(0x01);
  delay(2);
  lcd.command(0x0c);
  delay(2);
}

// Wifi接続
bool wifi_connect() {
  char msg[128];

  // 静的アドレスとDNS指定(普通は要らないはずだが、我が家のWiFiルータは動的割り当てとDNSサーバ指定がないとダメだった)
  IPAddress myIP(192,168,0,78);
  IPAddress gateway(192,168,0,1);
  IPAddress subnet(255,255,255,0);
  IPAddress dns1(8, 8, 8, 8); // Google DNS primery server
  IPAddress dns2(8, 8, 4, 4); // Google DNS secondary server
  WiFi.config(myIP,gateway,subnet,dns1,dns2);
  
  for (int i=0;i<5;i++) { // WiFi接続、5回繰り返す
    WiFi.begin(ssid, password);
    delay(1000);
    Serial.print(msg);
    
    long int StartTime=millis();
    while (WiFi.status() != WL_CONNECTED) {
        delay(500);
        if ((StartTime+10000) < millis()) break; // 10秒待って繋がらないときは諦める
    } 
  
    if (WiFi.status() == WL_CONNECTED) {
      IPAddress ip = WiFi.localIP();
      sprintf(msg,"WiFi connected IP:%d.%d.%d.%d",ip[0], ip[1], ip[2], ip[3]);
      Serial.print(msg);
      break;
    }
  } 

  if (WiFi.status() != WL_CONNECTED) return false;

  return true;
}

void wifi_disconnect() {
  WiFi.disconnect(true);
  WiFi.mode(WIFI_OFF);
}

//-------------------------------------------------------------------------------
// EOF
//-------------------------------------------------------------------------------

2022年5月14日土曜日

楽天モバイル、0円廃止

昨日、衝撃的なニュース入ってきた。楽天モバイルの1GBまで0円というプランが廃止されて、最低でも1,000円越えになるという。新規契約からかと期待したが、今まで契約済みのものも強制的に新規プランになるとのこと。約款には書いてあるのだろうけど、そんなのアリ!?

楽天モバイルの契約をしたのは先月で、まだ1ヶ月も経っていない。なんてタイミングだ。サブのiPhoneとiPadで使おうと思い契約した。

以下、子供のお下がりのサブのiPhone6sで楽天に繋がった画面。キャリアがRakutenになっている。なおメイン機もiPhone6sです(^_^)

iPadは普段持ち歩かないが、時々外でネットに繋げたい時がある。テザリングでもよいけどスタンドアロンで使えるとなにかと便利。以下、楽天SIMカードをiPadに入れる様子です。

iPadではヘッダー部分にRakutenと表示されず、LTEになっている。設定画面で確認するとネットワーク選択がRakutenになっていて、WiFiのないところでもちゃんと通信できる。


ちなみにiPadに電話をかけると「現在、電話に出ることができません」となる。

それほど使わないので月々1,000円は高すぎる。メインで使っているMineoでも千数百円です。そちらも月1GBも使わず、毎月捨てている。

楽天モバイルは解約するつもりだけど、次にどのキャリアにするか要調査です。

2022年5月8日日曜日

小型充電式チェーンソーで剪定枝の片づけ

一昨日、昨日の庭木の手入れで手引き鋸での作業にへたばってしまい、思わず小型の充電式チェーンソーをポチってしまいました。

写真はバッグに入っていたもの一式です。チェーンが3つ(本体に付いている他に予備2つ)。バッテリ、充電器、チェーンの張りを調整するドライバ、レンチ、小型のオイルボトル(中身は入ってない)、マニュアル。

サイズ感はこんな感じでです。刃渡り10センチ強。

チェーンソーオイルはアマゾンで安かったものを購入。1リットル入りだが、使い切るほど使うか?!

一昨日と昨日、脚立に登った作業中に手に力が入らなくなって剪定ばさみを2回落としてしまいました。かみさんが下で切った枝葉を袋詰めしていたのですがそのときは離れていたので何事もなくよかった。今回のチェーンソーはそれなりに重い(1.1Kg)ので万が一落とすと大変なことになるため工具落下防止用セーフティコードも購入。色はたまたま一致。

一昨日、手引き鋸で切った太い枝?幹の先端です。写真の小口は天地が逆です。これを脚立の上で腕を伸ばして切るのに20分位かかり、まだ他にも沢山あったので心が折れそうになりました。

直径5センチ位の枝を切ってみたところ。あっという間に切断できました。一昨日の苦労はなんだったのか。

太い枝?幹の先端も切断して分解できました。これで市の回収に出せます。

しばらく使っていたらチェーンが緩んでいました。しっかり締めたつもりでしたが足りなかった模様。時々緩みの確認とオイルを垂らす作業が必要。


これで10連休に予定していた作業はほぼ完了。庭木の剪定が少し残っているのと、ゴミ出しがまだですが、ぼちぼちと梅雨入り前までに終われればよいか。

2022年5月7日土曜日

ステッピングモータとPICで作るターンテーブル(動画、ソース)

アマゾンの安いステッピングモータ(3個で690円)と8ピンPIC(100円)で作るターンテーブルの動画と回路図・ソースをアップしました。

ステッピングモータで作るターンテーブル (回路図、ソース)
http://www.asahi-net.or.jp/~rn8t-nkmr/family/pic/tb/index.html



昨日今日と脚立に乗って庭木の太い枝を手引き鋸で切ったり、細かい枝葉をハサミで切っていたため全身筋肉痛になっています。手に力が入りません。このため今日の午後は上記の動画作成と製作記事を書いていました。

まだ切り切れていない太い枝も残っているし、切った太い枝を市の回収に出すためには短くする必要がありますがそのまま。もう手引きでやるのは限界なので昨日、アマゾンで小型のチェーンソーをポチってしまいました。直径10センチ位まで切れそうなバッテリ式のもの。本体は先ほど届いたのですが、一緒に注文したチェーンソーオイルがまだ届かないので、届いたら試してみたいと思います。

2022年5月5日木曜日

DIYで珪藻土の壁塗り(その2)

昨日、ちょっと帰省したついでに藤の花見にでかけてみました。最近、壁の味気ない景色ばかり続いていたのでちょっと息抜き。

今朝から珪藻土塗りです。珪藻土は練ってあるもの10Kgを購入しました。表記されている面積は十分ですが、何せ素人が初めて塗るのでどうなるか心配でした。

粘度が丁度ソフトクリームくらいで色がバニラなので、匂いがなかったらソフトクリームと間違えそう。鏝で塗るのは結構難しく、鏝の筋が付いてしまいます。モルタル塗りより難しい。平らにするのが大変で、よくある珪藻土の波模様?(銀杏の葉のような模様)や、ランダムな鏝跡模様などはとてもじゃないけどできません。それでもゴムべらを使ってなんとか少しでも筋がつかないようにした結果がこれ。

数時間後にマスキングテープを剥がしたのですが、まだ濡れて光っています。テープを剥がすときにうっかり壁に触ってしまい、凹んでしまい手直ししたりと大変でした。横から光を当てると凹凸が目立ちますが、素人が初めてやったにしてはまずまずと自画自賛。乾くまで24時間かかるとのこと。乾くと雰囲気が変わるかも。

珪藻土は1/4位余りました。今回、タンスの裏になって見えないところは省略したのですが、そこを塗るにはちょっと足りない。余った珪藻土を有効利用する方法はあるか?

10連休の課題だった壁塗り、家の電気工事は完了し、残るは庭木の手入れです。伸びすぎた太い枝を切るのでちょっと大変。1日でやると疲れるので半日を2日位の予定。なんとか連休中にけりが付きそうです。


2022年5月3日火曜日

ステッピングモータとPICで作るターンテーブル

珪藻土を塗る壁の下塗りは完了し、あとは本番の珪藻土の左官作業です。ちょっと疲れたのと飽きてきたので、ステッピングモータを使ったターンテーブルを組み立てました。

ターンテーブルの下には円卓用のベアリングを入れてあります。

重いV字ブロックを乗せても回転しました。重さを計ったらひとつ880gだったので2個で1.76Kgです。

ステッピングモータのコントローラには8ピンPICをPIC使い、1rpm〜12rpmの可変速、右回転/左回転切り替え。

近々、回路図とPICのソースをアップ予定です。

2022年5月1日日曜日

和室の壁をDIYで珪藻土壁にする(その1)

ゴールデンウィーク3日目も雨ですね。今年の4月は雨が多かったと思っていたら100年ぶりに雨の多い4月だったらしい。

まぁ、ゴールデンウィークは主に屋内DIYの予定なので天候は余り関係ないですが、涼しいのはいいですね。今日も元和室の煤けた壁に珪藻土を塗る準備です。写真は恥ずかしながら煤けた壁の様子です。天井近く以外は色々と写りこむのでこのアングル。

昨日ヤニ・アクどめシーラの1回目を塗ったところ、壁の吸い込みが激しくて全然足りなくなってしまった。伸びないので塗るのも大変。部屋を明るくしたいので珪藻土は白っぽいモノにします。このためヤニやアクが浮かび上がってくるのが心配でしっかり下塗りしたい。

急遽アマゾンで注文したら夜9時頃になりましたが即日配達で届きました。ゴールデンウィークなのに感謝です。

本日2回目を塗ったところ。まだ2回塗れていない壁もあって明日も続きます。珪藻土まではまだしばらくかかりそうです。