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

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

車泊 Ver.1 ベッドマットを解体

2024年04月29日 17時58分21秒 | 旅車改造
amazonで6折のマットを購入してからは倉庫に投げっぱだったベッド天板



2020年3月に完成してるので、たった3年ほどしか使わなかったことになる。
無駄したなぁ

反省:
・天板とマットは分離し、折りたたみマットを乗せるだけにすべきであった。
・天板は4分割にしてれば後の使い回しも楽だったが、8分割してしまった。
・ネットで見つけた先人のパクリをした結果の惨敗
知識がないんだからしょうがないよね。
ま、それだけ遊んだのだから安いものではある。
最近車泊を始めた友人の座席下穴埋め用に、使ってくれるのなら提供しようかな、と。



いや、半端ない数のタッカーの針を抜くのに一苦労
結局、太い千枚通しで跳ね上げて、ペンチで捻って抜くことにした。
テコの応用なしではとんでもない労力がかかったろうな。
相変わらず楽して時間を競う気質が抜けませぬw


数百本はあるだろう。



右端のビニール袋入は未使用で、これをまずは差し上げる予定。
布はメチャ安いセンスが悪い色なので廃棄だな。
板はどこかで再利用するだろうから、保管しておく。

疲れた。

レモンの花が開花

2024年04月29日 11時25分26秒 | 緑化計画
今年のGWは雨が多い。ま、引退世代の私には関係ないんだが。

2年前に植えたリスボン・レモン
たった30cmの苗だったが、切り込んでいるものの150cmの背丈まで伸びた。
多分放置していたら180cmにはなってるだろう。

4月9日に出た花芽の様子はこちら

一個目が開きました。


他の芽はまだつぼみ状態。
かなり思っているよりでかく、やや小さめなドングリ程度のサイズ
全部で30個程度付いている。
花が終わるまでは防虫剤散布を待ちますが・・・
出遅れると木が丸坊主にされる危険性があって、タイミングが重要


枯れかけて移植したジャスミンも少し回復基調
拾ってきた根っこだったヘデラがあちこちで元気になってるので、レモンの下へ植え直します。

ロボカフェ(2)開催

2024年04月28日 11時44分27秒 | ボランティア
先々週に続いて2回めのロボカフェ開催



今回の進捗は少しゆっくりで、ライントレースまではできなかった。
リモコンは、ボタン横並びを各人に割り当てて実習させたので他人の信号でご動作を起こすことは無かった。
前回のカフェで誰かが提案したんだが、これはGoodアイデア

現在、プラザには5人分の講習セットを常備
出前講座用に整備してきた。
電池は抜いて廃棄、光学ドライブを抜いて少しは軽くしているが、メーカー製の大型PCは元の重量は3kg程度
こいつらをカートに入れて持ち歩くのは苦行です。
(内2台はオフラインMakeCodeが起動しないけど)

多分だが、
PC工房とVAIOはSSD換装済み
レッツノートはSSD,Office2019導入
赤NECは第2世代のCore-i7+HDD+8Gでそのまま運用
内臓のCMOS電池がいかれてるのがちょっと痛い

網戸自作で木に溝を掘りたい(丸鋸編はあたしにゃ無理ゲー)

2024年04月27日 14時39分39秒 | ちょっとした工作とか
窓にはめ込む小さい網戸(90*90)を付けようと思い立って。
検討してみたが20*40または20*30の木を2本買って3mm、4.5mm溝を溝掘れば網戸は安価に作り事ができる。(ハズ)
『径4.5mmのゴムを使う場合には、幅4mm、深さ5mm程度の溝にすると、ゴムの押さえ具合がちょうどよくなります 』

問題は網を埋めて止めるその溝をどう作るか。



それだけのためにルータを買うのはいかに安くてもムダ
おまけに安いヤツってほんまポンコツ製品が多くてどうにもならん。
せめて京セラ製1万+専用ビット1000円
でもねぇ、どう考えても以降使う予定が無い!

ネットでは「丸鋸使って溝を掘る」なんて記事があるのだが、さてはて
だいたいこういう記事ってのは、セミプロがしっかりした台の上でガッチリ固定してるんだよなぁ。
素人ができると思ったらオオマチガイw



で、久しぶりにできるかどうかを試験してみた。
やっぱり一番の問題は固定だった。
しかも実験では2*4材を使ってるが、ターゲットは20*30の角材だよ。
遥かに固定やノコの高さ確保が難しくなる。
一気に穴は掘れないから途中で固定のやり直しが必須となる。



数回カットしてみました。
こんな台では幅をきっちり調整するのが難しいね。


そして、50cm程先ではなぜか溝が細くなる
何で平行にノコが走らんの?
2*材の幅がオカシイのか、走らせるうちに片止めしかできないからずれていく?
こりゃ致命傷でしょ。
この方法は諦めました。

粘着テープで網を窓に貼るなんてTEMUで宣伝してたが、運用を考えりゃありゃ明らかにアホの考え

ホビー工作用の細い木を3枚張り合わせて溝を構成する、ってのもあるにはあるが・・・



DIY店に行ってすでに溝が掘ってある木を買うのが良さげですね
あああ、だめだ。設置する場所の制限で20mm以下しか使えない。
20*30~40mmの角材が条件なのであった。
知人に頼むか・・・
いやいや、4mmほどカンナで削って20mmにする、という手があるか!
そもそも溝が深すぎます。深さは5mmが適切と書いてあったな。
ちゅうことで今度は以前電源が入らなくなって壊れたはずのカンナを直そうと持ち出した。
が、今度はちゃんとスイッチが入る。
端材もなかなかいい感じで削れるわ。
事故事例を調べたが、やっぱり慎重な扱いが要りそうだ。
開始と終了位置では掛ける圧のバランスを変えないといけんそうな。
始めは深く削って、最後は軽くやるとピカピカになるそうだ。

設計図書いてみたらわかったことが。
ガラス面の手前に窓の手すりがあって90cmの長さの1枚板はどうにも入りそうもない。
二つ折りにするしか無さそう。



売ってる凹木は一辺が24mmなので溝側を5mmほどカンナで削る。
平らな方は1mmほど削る。
これで板厚は24 - 5 - 1 = 19mmで隙間に入ります。

平らな状態で網+抑えゴムまでセットして、少し折り曲げて手すりと窓の間に落とし込み、上下を合体させる。
合体はダイソーなどにあるステンレス孔開きステン+鬼目+蝶ネジ
鬼目ナット一式はあるので、ダイソー金属板だけ買えばよろし。
総額2000円でできそう。
店頭注文すると2万円~らしい。

次回に続く。


届いたOLEDは1315チップものだった

2024年04月26日 23時36分35秒 | マイコン(ESP32・Arduino等)

青いやつ
128*64でI2C接続



AliExから1315チップを使ったOLED基盤を送ってきた。
1個284円でした。+50円送料
3.3Vで動きます。



しか~し、なんじゃこりゃ。普通チップは1306だろ?
基盤裏を見ると「1315」と書いてある。
ま、しょうがない。説明書きには一切その手のことは書かれていなかった。
PIN端子まではんだ付けされている。
(当然)1306では動かなかったので1315ライブラリを探す、がライブラリマネジャでは発見できん!
が、「Lang-Ship」さん簡潔な記事を書いていただいていた。こちら
いつもありがとうございます!!!
あっさりと「Helloworld」動きました。
(とはいいつつ、ここまで来るのにあれこれ試行錯誤で結構時間かかってる)



今回は「U8g2」ライブラリを使いました。初回コンパイル遅い・・
「U8x8 」はテキストだけのようで軽いかな。
このライブラリは以前OLEDをSPIで使うため入れていた。
記事はこちら



簡単なテストサンプルがあったので記念にメモとして残させてくださいね。
LangShipさんからいただきました。
表示を「setFlipMode 」で逆に指定してあります。(通常は0です)

#include ”Arduino.h”
#include ”U8x8lib.h”

U8X8_SSD1306_128X64_NONAME_HW_I2C u8x8(/* reset=*/ U8X8_PIN_NONE);

void setup(void) {
u8x8.begin();
u8x8.setFlipMode(1);
}

void loop(void) {
u8x8.setFont(u8x8_font_chroma48medium8_r);
u8x8.setCursor(0, 0);
u8x8.print("Hello World!");
}



春キャンは失敗でござった(聖湖キャンプはGWから。それ以前は冬季閉鎖!)

2024年04月25日 20時36分56秒 | アウトドア
友人がどうしても車中泊したいと言う。
近場の公園あたりでやれば?と言い向けていたが納得してもらえなかったようで、聖湖キャンプで合意した。
今年のGWは天候に恵まれないし混雑するので少し早めに、天候の合間を縫って決行
天気は最高だったのだが・・・


が、がっ、ガッ
はあ?4月26日までは「冬季」だと!!!
無理して侵入するわけにもいかず場所を変更



聖湖湖畔で草の上で焚き火をするのは危険だし・・・
八幡高原も焚き火(キャンプ)は禁止だし・・・
しょうがないので彼が行きたかった掛頭山の山頂に向かう。1100m

かつてのスキー場の廃墟が残っている。
久しぶりに見る山頂からの展望は最高です。
かつては毎週こういう眺めを見てたんだなぁ


昼3時前から宴会開始、23時まで延々と


午前5時45分
雲海に沈んだ町が見える。(見えてないだろっ)



飲みすぎて美川ムーバレーへ行く気力が無くなって断念
そそくさと帰りましたとさ。
今回はハズレ



AliExなんでこんなに安くて早いの?

2024年04月25日 20時16分19秒 | 物欲日記


注文は4月17日午前3時半
なんたって配送料が172円
到着予想は6月中旬。
そりゃ船便だよなァ、と期待せずに忘れようとしていたら・・・
何と4月25日夕方には届いてしまった。
はあぁ???


2業者のパッケージが1つにまとめられてヤマト便でトウチャコ
2024年問題はどこへ行ってるの?

光り物ばっかりで恥ずかしいw
簡単にテスト
おもちゃだね。抵抗を入れていおいて欲しいが、結構暗め
内蔵されているのかも。

こっちも何個かテストしたヨン
OLEDは別記事で こちら


[ MX1508 ] を使ってみた(TinyIRライブラリ受信とanalogWriteでモータ制御)

2024年04月24日 19時18分51秒 | マイコン(ESP32・Arduino等)
問題解決しました こちら
---------------------
既存のIR制御と接続してみた。
今までの基盤と同じ構成なので、繋ぎ変えただけ。
前よりモーターの勢いが強く感じる。

動くには動いたのだが、最近IRリモコンの命令を無視する挙動が多すぎる。
動き出したら停止や逆転が不可能になることが頻発。困った。
古い基盤ではそれが非常に起きにくいことが更に混乱に拍車をかけた。
結局、IRの受信とanalogWriteが割り込み競合しているのではないかと疑っている。
すべてをdigitalWriteで書いたらちゃんと動いた(ようだ)
(ポンコツリモコンのチャタリングも意味不明にしていたのかもしれない)
これは解決しました(2024/5/16)
TinyIRReceiverData.justWritten = false;
を各場所が間違ってました。


もうぐじゃぐじゃです。ハイ
いつもながら、疲れまくった。

/*  以下はちゃんと動いた修正後のソース
Arduino Unoで1モーター制御 Attiny85へ移行する前準備
IR受信はTinyライブラリ
2024/5/16
*/
//#include "Arduino.h"
//#include "PinDefinitionsAndMore.h"
#include "TinyIRReceiver.hpp"

#define LED_pin 13

const int A1A = A0; // PB0; // Pin5(PWM)
const int A1B = A1; // PB1; // Pin6(PWM)

int m_speed = 255; // モータパワー

void setup() {
Serial.begin(115200);
Serial.println("start IR motor control");
pinMode(LED_pin, OUTPUT);
//------ Motor -----------
pinMode(A1A, OUTPUT);
pinMode(A1B, OUTPUT);
// ------- IR ----------
if (!initPCIInterruptForTinyReceiver()) {
if(true){
// 無限ループ
digitalWrite(LED_pin,HIGH);
delay(200);
digitalWrite(LED_pin,LOW);
delay(200);
}
}else{
Serial.println("start IR read");
}
delay(100);
}

int cmd = 255;

void loop() {
if (TinyIRReceiverData.justWritten) {
Serial.print(F("Address=0x"));
Serial.print(TinyIRReceiverData.Address, HEX);
Serial.print(' ');
cmd = TinyIRReceiverData.Command;
Serial.print(cmd, HEX);
if (TinyIRReceiverData.Flags == IRDATA_FLAGS_IS_REPEAT) {
Serial.print(F(" Repeat"));
}
if (TinyIRReceiverData.Flags == IRDATA_FLAGS_PARITY_FAILED) {
Serial.print(F(" Parity failed"));
}
Serial.println();
}
// Serial.println(cmd,HEX);

//------- my code ---------
if (cmd == 0x00) {
digitalWrite(LED_pin, HIGH);
forward();
} else if (cmd == 0x02) {
digitalWrite(LED_pin, HIGH);
back();
} else {
digitalWrite(LED_pin, LOW);
stop();
}
TinyIRReceiverData.justWritten = false;  // ここに書く 重要!
delay(500);
}

void handleReceivedTinyIRData() {
printTinyReceiverResultMinimal(&Serial);
}

//--------停止----------
void stop() {
analogWrite(A1A, 0);
analogWrite(A1B, 0);
}
//--------後退----------
void back() {
analogWrite(A1A, m_speed);
analogWrite(A1B, 0);
}
//--------前進-----------
void forward() {
analogWrite(A1A, 0);
analogWrite(A1B, m_speed);
}


====== 以下は経過 =========
リモコンコマンドは左から01・02・03で、正転・停止・逆転としている。
良く観察すると
01、02までは一応OK。たまに反応が悪くなる
03が入るとかなりの確率で暴走する。
停止命令その他を送信しても何も受け付けなくなる。
あるいは03が入って回りだすと02が入ってきても03と認識する。
モータにコンデンサ付けても効果なし
意味わからん。
 :
少しわかった。
モーターが回転中だとIRレシーバの命令を上手く受け取れなくなる。
特に03の場合は全然ダメになる。
01,02はまだ受け取れてなんとか止まるんだけど。

ちなみにPWMパワーを下げすぎてモータが回れない電力になった場合は、すべてのIRコマンドを正しく認識している。
これは結局回路内の電力問題ではないのか???

ちゅうことで、元のモータードライバ基盤へ戻してみた。
ちゃんと動くではないか!!!!!!
くっそー、モータドライブ基盤がポンコツなのか???
それともニッケル水素2本でやってるのがマズイのか??
それではと、元のまともに動く基盤上で電池をニッケル水素3本直列の3.6Vにしてみた。
なんと、新基盤と同じ状態、メチャクチャ動作が不安定になる!!
をいをい・・・

風呂に入りながらふと思った。
う~ん、もしかするとPWM機能がIR受信を妨げているのか?
IR受信は割り込みを使って(?)パルスを読んでいるのでは?
PWMもTimer割り込みを使ってやってたかも。
そうするともしかすれば競合が発生するよなぁ

むむむっ 案外そうかもしれん・・・
で、すべてをdigitalWrite命令に置き換えてみた。
なんか上手くいってるっぽいが、リモコンのチャタリングが疑われる。
キーアサインを変えてみた。
いいじゃんか!

相変わらずLink挿入を連続して行うとパーになるGooBlog いい加減いせんか



MX1508 モータドライバ基盤の動作テスト

2024年04月24日 12時11分10秒 | マイコン(ESP32・Arduino等)
4/22、注文から約1週間で到着
基盤6枚で674円 AliExサイトはこちら
今見るとこれの半額ショップもあるようだ。
接続は販売サイトから引用
丁寧な日本語説明サイトがありました。こちら こちら こちら


これだけならちゃんと動くんだが(IRつなぐとペケは相変わらず)
できれば電源電圧は5Vをモータに繋ぎましょう。


/*
MX1508 モータドライバ基盤
自作です 2024/4/24
*/

void setup() {
pinMode(8, OUTPUT); //IN2
pinMode(9, OUTPUT); //IN1
pinMode(13, OUTPUT); //IN1
standby();
}
void loop() {
back();
delay(3000);
digitalWrite(13,HIGH);
back_a(900);
delay(3000);
digitalWrite(13,LOW);
}

void forw(){
digitalWrite(8, HIGH);
digitalWrite(9, LOW);
}

void forw_a(int speed){
digitalWrite(8, HIGH);
analogWrite(9, speed);
}

void back(){
digitalWrite(8, LOW);
digitalWrite(9, HIGH);
}
void back_a(int speed){
digitalWrite(8, LOW);
analogWrite(9, speed);
}

void standby(){
digitalWrite(8, LOW);
digitalWrite(9, LOW);
}
void brake(){
digitalWrite(13, HIGH);
digitalWrite(8, HIGH);
digitalWrite(9, HIGH);
delay(1000);
digitalWrite(13, LOW);
}

総会開催

2024年04月20日 10時55分17秒 | ボランティア
総会開催
開催時刻を勘違いしてて・・・焦った。
普通は昼からなんだが今回は朝10時半から。
やれやれ、タクシー代痛かったでござる。



懇親会。飲みホは個人につくスタイルでありがたいですね。
この後、流れ流れて五日市まで数件ハシゴ
当然飲み過ぎですわ・・