goo blog サービス終了のお知らせ 

酒と薔薇の日々(その2)

好きなことだけ求めて生きるアスペ気味のINTJ人

ガラケーACアダプタでサーボ講座復活!

2025年03月02日 15時36分22秒 | マイコン(ESP32・Arduino等)
以前プラザPCを使ってサーボモータ実習講座をやってみたが、PCのUSB電源供給不安定問題で諦めた
外部USB電源+配電基盤導入には巨額の国家予算が追加(約10000億円)で必要になるからだ。
  アレ以来この講座だけのために追加購入した基盤とサーボモータ等が机の中で行き先を無くし泣いているのがトラウマになっていたんだろう。
  
今朝3時にサーボの神様が降臨し寝ている私の耳元で囁いた。
「ガラケーのACアダプタが大量に眠っておるじゃろう」
と。
     


思い出しました。ガラケーが滅びた時に電子工作用にと業者から結構な台数を貰っていたことを。
内10台ぐらいは改造して今でもちょこちょこ使ってる。


当然ですがちゃんと動きました。
GNDを共有する部分が講座で受講者にとっては少し面倒なんだが・・・
GNDを2分岐させた配線だと結構長い追加配線が要るなぁ(却下)

結局20台以上の5VACアダプタを発掘
倉庫保存のやつは被膜が真っ白に崩壊するなど劣化が激しいのが数台あったが、なんとかなるだろう。
完動するやつを選び出して端子を改造、ブレッドボードを5枚(700円程度)で買い足せば、サーボ講座開催は可能になる。
最終目標であるArduino講座で必須な、電源&ブレッドボード環境も確保できるのが良い点
   
株投資では暴落時には買い増せと言うが、そんな前向きな考えも必要かも
破産への道でもあるがw

4月のPCリプレースでUSB給電能力を再確認し、外部電源が必要と判明した場合には、
この特殊部隊を使ってお家再興を目指そう。




LaspberryPi [1B+]で固定IP / SSH自動起動 / startX無効 にするまでの道筋(ボヤキ編)

2025年02月19日 00時59分46秒 | マイコン(ESP32・Arduino等)
こちらに古いイメージの取得について色々解説がありました。

公式サイトからならこちら↓から
ここの「Raspberry Pi OS (Legacy)」をDLすべしとかコパイロットが言ってた。
======以下は経過など============

10年前のLaspberryPi 1B+にそれなりの対応したOSを入れるのにクソ苦労した。
まずやりたかった初期設定はたった2つだけ。
① 固定IP設定
② SSH自動起動
この2つを1つのエディションで同時に設定できなかったから3個目の設定も必要になる。
③ startX無効化

これだけなら大した事ないじゃないかと思うだろ。
はっ とんでもない話。
LaspberryPiは発売以降ハードウエアが5種類ある。
私が持ってるのはその1世代目のB+という基盤
Lunuxってなぁ派生するパッケージ・エディションが無数にある。
現在配布されている「imager_1.8.5.exe」を細かく掘っていくとよく分かるだろう。
どのエディソンもアイコンだけはパット見み、皆同じ。
1エディションをマイクロUSBへインスコするのに数十分かかるのはザラ
途中にちょこちょこ手作業が割り込む
インスコしたOSを一回起動するのに5分
起動、修正、再起動を何回も繰り返す。

ネット記事を頼りに修正箇所を実証していく。
ところが(エディションごとに修正箇所が違うらしいのだが)ヒットした単独Blog記事にはどのエディションか書いてない。
なぜなら彼らは連載Blogを書いているから。
何回分も前の記事を辿れば分かるんだろうが、そんな時間も根気もない。
たとえわかっても現在それが手に入る保証など無い。
わかったとしても「imager_1.8.5.exe」で提供されている多くの版のどれかなどはわからんわ。

そんな状況だから、記事に従って
・設定ファイルを作って書き込んでも動かんわな。無視されている
・ここに空のファイルやフォルダを作れの、作るべきファイルを置く場所が全く違う記事が存在するなんてこともあった。
・同じ設定画面を呼び出す命令を起動するがエディションによってはそんあメニュー項目自体が無いなんてこともあった。
・これを何種類かのOSエディションで試すんだよ。
・混乱するわ。

そういう複雑な森の中で地図もない状況でこの2日間彷徨っていたわけだ。
なんとか出口は見えたが、瀕死の状態だよ。

ーーーーーーーーーーーー
  2025/2/18の現実
ーーーーーーーーーーーー
CUIインストールのパッケージでは何やっても①ができなかった。
 sudo nano /etc/dhcpcd.conf
 で書くんだがどうやってもダメ
 sudo raspi-configでもIP設定画面は出なかった。

①ができたのはGUI環境でのみだった。
 GUIのファイルエクスプローラで本日更新されたファイルを探したところ
  「/etc/NetworkManager/」に"有線接続 1.nmconnection"というファイルが生成されており
  root権限でよみだしたところ、下記の記述が発見された。
  多分このファイルが固定IPを指定しているのだろうと思う(真実はわからん)

 ====固定IPを指定しているファイルのダンプ=====
 zzz@raspberrypi:~ $ cd /etc/NetworkManager/system-connections
 zzz@raspberrypi:/etc/NetworkManager/system-connections $ sudo cat "有線接続 1.nmconnection"
 [connection]
 id=有線接続 1
 uuid=3133b642-c1bc-3088-851c-8de130f81317
 type=ethernet
 autoconnect-priority=-999
 interface-name=eth0
 timestamp=1739878839

 [ethernet]

 [ipv4]
 address1=192.168.0.100/24,192.168.0.1
 dns=192.168.0.1;
 dns-search=1.1.1.1; 
 method=manual

 [ipv6]
 addr-gen-mode=stable-privacy
 method=auto

 [proxy]
======Dumpは以上========

 コレが実現できたOSがのバージョンは
  「cat /etc/os-release」で確認した
  PRETTY_NAME="Raspbian GNU/Linux 12 (bookworm)"
  NAME="Raspbian GNU/Linux"
  VERSION_ID="12"
  VERSION="12 (bookworm)"
  VERSION_CODENAME=bookworm
  ID=raspbian
  ID_LIKE=debian

③startxの無効化
 sudo systemctl disable lightdm
 sudo systemctl stop lightdm
 sudo reboot
でOK

==============
とにかくネット検索結果にしてもcoPilotにしても
どのOSバージョンであるかが明記されていないので、動かんことが多すぎる
これだからLinuxは敷居が高いと言われるんだろうな。
ハードはこの10年で5世代進化した。
ソフトもそれと同じ回数アプデしてるし、ラズパイはともかくLinuxは分岐が多すぎる。
今回ここまでするのに丸2日はかかってるんだよ。

無印ラズパイB+にはデスクトップ環境は無理!(Raspbian)

2025年02月14日 22時41分44秒 | マイコン(ESP32・Arduino等)
知人宅から帰ってきたRaspberryPi B+
結局動くまでに4時間かかった。



10年前までは動いてたんだが、画面出力さえできない。
まずはHDMI出力しないところから蹴躓く。
続いてmicroSD読み込み不能でソケット清掃、起動するもOS破損でリカバリは不能

SDフォーマットでジタバタ

OS取得からやり直すも、ラズパイB+のところをラズパイ3B+と間違えてインストール
やっと無印B+イメージを選んだが、インスコ途中で3回ほどフリーズ


最終段階でアップデートをかけると1時間たっても終わらない・・

GUIで動かすと環境設定画面を呼び出だすだけで1分近くかかる始末

FireFoxもクロームもなんかハード的なサポートができないようで、動いてくれん。

結局、HCのとおりCUIで動かすしかない状態
ががが・・・アフファベットでさえ一部フォントが豆腐に化けて全然読み取れん。
環境書き換えられるかと起動したエディタのガイドも文字化けで意味わからん。

10年前は軽く動いてたし、こんなことはなかった・・
もう疲れ果てて。
このあとCUI版で再構築しました。

トマト農家さんはどうしたかなぁ

2025年02月10日 21時42分45秒 | マイコン(ESP32・Arduino等)
退職してからホボ10年
送別パーティーで「ロボットやるぞー」と宣言した。
まあ、ほそぼそとやってるw
当時読んだ本、当時はopenCVしかトマトを見つけ出す技術を知らなかったが、昨今のAIブームの隆盛


当時、蒲谷 直樹 先生も業界と喧嘩して国の委員を辞任したらしいが、時代は大きく変わったねぇ。IT業界も農業事業者も。
2005年には224万いた農業従事者も2022年には122万人で-40%
2年前から国もマジで支援金をばらまき始めてるようだ。
変わらないと生き残れん。

NHKのサイエンスZEROを見て懐かしく思い出したw



micro:bit拡張基盤が届いた

2025年01月24日 11時18分13秒 | マイコン(ESP32・Arduino等)
micro:bit拡張基盤が届いた

送料を9個で割ると1個あたり300円程度。国内Amazonの2/3程度かな。
本当は10個欲しかったがたまたまC国専用の口座残金が3000円しかなく断念
以前購入してたのが2個あるので講座で要る個数には足りる。
相変わらずの薄っぺら包装だが奇跡的にピン曲がりは無かった。
全部通電試験してみたんだがソケット挿入抵抗がめちゃくちゃ硬かった。

最上段の2個が以前購入した奴
今回購入した基盤はスピーカーON/OFFのソケットがずべて省略されている。
micro:bit V2を前提にして売るのだろうから不要なんだろうね。
アプデされた基盤も売ってたんだが安価な方を選択しております。(ビンボ)


右側が以前購入した基盤
印刷が一部違っている。
新しい方は綴り間違いがあるんだが、どこかのコピー品なんだろうかw

後2週間に迫ったスキルアップ講座をどうすべぇという心配も、これで一段落ですわ。

まあ、安く買えてよかったです。
今年のmicro:bit入門講座はこれとサーボでやってくつもり。
余ったワニ口クリップはどうしようか・・・
子供がぶっ叩く外部スイッチ接続用かな。


micro:bit無線通信をエミュで2プログラム同時に扱う

2025年01月20日 00時01分05秒 | マイコン(ESP32・Arduino等)
以前も書いてるんだけど、もう一回整理しておく。

【ここから再実行】
エディタのマイプロジェクト画面で下へスクロールするとサンプルがいろいろ出てくる。
①双子のアイコンが表示されたらこれをクリック
すると②が表示されるので、使い方を見るをクリック
すると
画面が左右に2分割され、それぞれに「マイプロジェクト」画面が表示される。
左右に送信・受信プログラムを書いていく。
左が送信で変数名と値7を送信するだけのプログラム
右は受信したらそれを表示するだけ。
エミュレータが連動しています。

終了し、それぞれの画面でマイプロジェクトに戻ると
先ほど作った送受信のプログラムが保存されてます。

再度実行するには、前記【ここから再実行】に戻って二分割画面を呼び出し、
左右それぞれでプロジェクトを開けばOKです。


micro:bit無線を講座でどう取扱うか・・そうだエミュがあるじゃないか!

2025年01月19日 22時49分40秒 | マイコン(ESP32・Arduino等)
次期講座ネタで無線通信もやってみたいジャンルだが、そもそもmicro:bitが12個しかない。
受講生は10人だしmicro:bitを各人に2枚ずつ渡すこともできない。
困った君です。

【第一案】1対10人でワンチーム
生徒から受けた無線命令を講師一人が受信してその受けたデータを見せる方法
1 同じ電波グループで帯域を共有し
2 受講生ID+命令を送信させる
3 講師側は
 A案 シリアルモニターを画面に拡大表示して受けたデータを見せる
 B案 大型表示装置に受けたデータを表示させる
  まずはScratchMoreでやってみたがデータ送信自体がうまくいかないので諦め(経過はこちら
  風車システムを制御して受講者ごとに付した番号の羽根を指定色に発光させる。(送信プログラム 受信・風車側プログラム
  無線を受け取って即発光させると同時多数は表示ができない。
  バッファに格納して一定時間ごとに同時発光させるなど考慮が必要だが、
  今のままでも待ち行列は機能しているのでこれで目的は十分果たせます。
一応上手くいっているがイマイチ感動が少ない。
ここまで作ってて思い出した。
micro:bitエミュレータには2台無線エミュが動かせることを。

ならば
【案2】 
1 まずはエミュで無線送受信練習させて
2 10人を2人ずつ5グループに分けて
3 それぞれに無線チャンネルを割り当てる。
4 グループごとに送受信させて
5 できれば簡単なゲームを作らせるとか
  防犯装置を作らせるとか
これで決定だな。
ちょっと遠回りしてしもうた。

micro:bitのLED表示を華麗に変身させる方法を考えた

2025年01月18日 10時01分20秒 | マイコン(ESP32・Arduino等)
micro:bitの貧相なLED表示を華麗に変身させる方法を考えた。
が案①は失敗

===以下は目論見とその経過 ===
■目的
 講座で無線実験をさせるため。
 受講生10名からのデータを1台のmicro:bitで受信し、状態表示を行いたい。
 大型LEDなどを駆動するよりPC画面のほうが簡易なので。
 3種類程度方法が考えられたが、当座は①を使い、将来余裕ができれば②に進むが吉かと。
 講座で無線実験をさせる場合は、あと3週間でなんとかする必要にも迫られてるし。

■手法あれこれ
 ①Scratch More : 子供向けでまとめられますな。簡単
  システムの入口はこちら
   https://microbit-more.github.io/docs/ja/#/how-to-extent
  Scratch Moreを更に拡張する必要があるが、URLリンクで簡単に実装が可能なようだ。
  拡張方法(以下のURLでMakeCodeエディタを開けば自動的にmicro:bitMoreとデータ送受信とBluetoothが組み込まれる)
   https://makecode.microbit.org/26725-58710-28098-04046  
  シリアル通信も使えるようになる(らしい)

 ②micro:bitシリアル通信とProcessing : ビジュアル的に良いんですが少しお勉強が必要
  micro:bitは全機能を使えるし特段なソフトは不要(標準のシリアル通信だけ)
  ProcessingをインストールしたPCが必要で、Processingのプログラム作成が必要
   ダウンロードはこちらから(no Domainで無料です)Linux版もあります。
   https://processing.org/download/
  Processingの強力な3D機能などが使えます。

  例1 micro:bit傾斜計の値をProcessingに伝え、Processingでたまを左右に転がす
      https://msr-r.net/processing-microbit/
     ProcessihgでUSBシリアルを使うには次の記述を追加するだけ。
      import processing.serial.*;
      void setup() {
       myPort = new Serial(this, Serial.list()[1], 115200);
       myPort.bufferUntil('\n');
      }
      void serialEvent(Serial myPort) {
       String myString = myPort.readStringUntil('\n');
       myString = trim(myString);
       xpos = int(myString) * 4;
      }
  例2
   https://qiita.com/kikpond/items/e9256ead4779f365a1a3

 ③Scratch + ScratchLink : micro:bitをゲームコントローラ化するだけです。なのでイマイチ
  Scratchとmicro:bitが結ばれ、micro:bit側で生じた簡単なイベントが受け取れうようになる。
  PC側にはBluetooth制御用のサービスをインストールする必要がある(BT受信ー>Scratch)
  micro:bit側には専用のHEXを送り込んでおかないといけない。
  micro:bit側に利用者独自のプログラムを生成することはできない。
  Scratchに外付けゲームコントローラを付ける目的で作られている(割には機能が少なくてめんどくさい)
  ※プラザPCでは管理者権限でサービスソフトのインストールが必要となる。
ーーーー ①をやっては見たが・・ ーーーーーーー
なんのことはないScratchLinkは必須だと。
シリアル通信はどうやるのかさっぱりわからんが、この際置いておいて。

こういうプログラムを作って見た。
1 micro:bit側でサービスを起動する
2 Aボタンが押されるとメッセージを送る
3 Scratch側でラベルデータを受け取った時ににゃーと鳴くはず
が、うんともすんとも言わない。

ちなみにmicro:bit側に「microbit-mbit-more-v2-0_2_5.hex」入れて
※1のプログラムを入れておくとちゃんと「B」とネコが喋ります。
なので、システムは正しく設定はされてるはず。
全然わからんわw

■ScratchMore拡張 [ ① ] で実装する場合 ←ということで全然駄目だったわ
 無線グループで講師1台生徒10台を結ぶ
 生徒:1 生徒IDを0..9で変数へセットさせる
    2 Aボタンでカラーコードを選択させBボタンで送信
    3 送信データは生徒ID+カラーコードの2バイトの文字列
      カラーコード: O:OFF R/G/B X:特殊効果
 講師:1 受け取った文字列を分解し、どの生徒がどの命令コードを送ったかを解析し
    2 該当する描画などを行う。
      Scratchの実行画面はフルスクリーンにしておく。
      例えば生徒IDの番号文字の色を変えるなど。
      これで生徒は自身が送った無線データが届いたことを認知できる
絵に描いた餅でありました。




micro:bitとワニ口クリップは最低コンビだ。やめろ!

2025年01月17日 14時57分11秒 | マイコン(ESP32・Arduino等)
Jimdo2回め講座は非サポータだったので、プラザへテスターなど機器一式持ち込んで徹底的にサーボトラブルを検証した。

「サーボモーターでTiny:bitの箱を開閉させる」を中級講座でやる予定だったが、以前から動作が不安定で困ってた。
徹底的に組み合わせを変えあれこれやってみた結果、致命的な問題を思い出すに至った。


SG90というサーボモーターはそもそも5Vで動くことを基本とされているが、今までは何故かmicro:bitの3.3Vでも動いてた。(少々思い違いが入ってる)
だいたいここへ迷い込まされたのは、正月のDDos攻撃でブログへ記録していた過去記事へアクセスできなくなったことが発端だ。
1月2日にこのメモBlogをすんなり見れておれば2週間を無駄にすることはなかった。
結論を言うと、micro:bitにおいて(特に子ども向け講座)
ワニ口クリップによる機器接続は、電圧低下、接触不良多発、挙げ句はショートするから絶対やめろ!

===経過===

1 我が家では接続が簡単な専用ソケットを使って実験してた。
  この動画通り100%ちゃんと動く。
  ここで大きな思い違いをしていたのだが、過去の踏切トリガー装置はすべてmicro:bit V2でやっていた。 V1ではなかったのだ!


2 講座では10人分ソケットがないのでmicro:bitとサーボの間をワニ口クリップで繋いで動かす予定で購入までしてしまった。(バカの上塗り)
  だが何か動作がおかしい。
  自宅でも途中で止まったり、開くスピードが落ちるなどなどトラブルが頻発
  プラザではもっと酷かった(2日2回実験した結果)
  上記接続で電圧を測ってみたら
   ①で3.25V
   ②では3.06V
   ③では3.03V
  ワニ口クリップを挟むことで起きる接触抵抗で、モーターへの給電電圧が落ちたことが原因らしい。
  デュポンケーブル以降での低下はそこまででもない。

結論としては、
 ・軽く動かせる100均ゴミ箱を10個(1100円)購入しても根本的解決にはならない。
 ・専用ソケットを10個購入(3300円)したとしても
   そもそも5Vが必要であって3.3Vは低すぎる。
   (基本に忠実に組むなら外部電源装置が10セット必要)
 ・今のところ追加ソケットを使った講座を開く予定はホボない。
  なので無駄投資になる可能性が高い。
結局 "サーボ講座はやめる” のが良いのではないか?と悩む。


しょうがないのでLEDのテープ+各種センサー組み合わせ+配列ちょびっと
でいくか?と思って上記組み合わせもやっては見たんだが・・・
これ、プログラミング的に発展性がなく全然魅力がない。
”キレイなだけでは駄目ですか”なのよ。結局は感動が薄い。

この際だからスキルアップ講師料を当て込んで専用ソケットを10個買おうか。
春節が近いから急がないと!
バカの三重奏になるかも。

新Jimdo講座開始

2025年01月10日 13時25分41秒 | マイコン(ESP32・Arduino等)

講座はほぼ問題がなく開始できて良いんだが、問題が発生

昨日、スキルアップで使うサーボモータ実験(ワニ口クリップ回路)をプラザPCでやってみたら全然動かん!!!
ノーパソのUSB電源供給能力が低いのかと愕然
だけど帰宅後に自宅の(ほんとポンコツな)ノートPCでやってみたら動く。
が、USB接続が切れたり入ったり・・・おいおいTiny:bit講座で壊されたケーブルが原因だったんか?

でも、2日前まで快調に動いていたサーボ君、きょうは寒さのせいかデスクトップPCでさえパワー不足に。
深夜まで組み換え品を変え実験を繰り返したけど、確実な答えは出ず迷走中・・・
(結局原因はワニ口クリップだった。結論記事は こちら