• 車種別
  • パーツ
  • 整備手帳
  • ブログ
  • みんカラ+

zip********のブログ一覧

2024年01月28日 イイね!

1.3インチのOLEDを試してみる

1.3インチのOLEDを試してみる430タイマーの試作レビューで画面がもうちょっと大きいと良いという声が聞こえてきたので、ちょっと調べてみました。
同じ128*64ドットで0.96インチと1.3インチのものがあるようです。
ただ、1.3インチはSH1106で多少クセがあるようです。
ピンの配列もGNDとVCCが入れ替わってるものも多いので注意が必要です。
0.96インチはSSD1306ですのでネット上に豊富に情報がありますが、
SH1106はあまり情報がない印象です。

プログラムもSSD1306仕様では動かないので全てSH1106用に変更しないとダメ見たいです。
面倒くさい!!!

SSD1306Asciiですが、よく見たらSH1106にも対応していました。以下のように書き換えたところうまく表示できることを確認しました。よかった😅
//oled.begin(&Adafruit128x64, OLED_ADDRESS);
oled.begin(&SH1106_128x64, OLED_ADDRESS);

alt
左が0.96インチ、右が1.3インチの比較です。

GyverOLED-1.6.1というライブラリを試してみました。
開発元がロシアっぽくてロシア語読めない!となっていましたが、
ChatGPTに資料を読み込ませたところ、なんとか使えそうな気がしてきました。

結構軽そうなのでArduino NANOでも動かせそうです。

430タイマーは画面の表示が180度回転した状態で動作させるので
まずは回転表示が可能かどうか調べてみました。

alt
↑ 通常版


alt
↑ oled.flipH(true); // 画面を水平に反転

alt

↑ oled.flipV(true); // 画面を垂直に反転

alt
oled.flipH(true); // 画面を水平に反転
oled.flipV(true); // 画面を垂直に反転

合わせると180度回転になりました。
Posted at 2024/01/28 18:33:21 | コメント(0) | トラックバック(0) | Arduino | 日記
2023年11月14日 イイね!

iPhone用 低速充電器へ改造

iPhone用 低速充電器へ改造こちらの充電器を改造

低速充電器が欲しくてAmazonで購入した2.5Wの充電器。
iPhone15に繋いでみましたが、充電は開始されませんでした。
どうやらD+とD-端子が開放されていて、iPhoneは充電器と認識してくれない模様。


前回の低速充電器のブレッドボードテストで0.5A充電できることは判明していましたので、3KΩと2KΩで2Vの分圧を強制的にD+とD-に加えるよう改造しました。

しかし、これはiPhone7ではうまく0.5Aで充電開始されましたが、iPhone15に繋いでみたところ1Aで充電が始まってしまいました。
充電器の定格は0.5Aですのでこれは良くない。

シュウジマ氏のブログの抵抗値まできちんとマルパクりして68KΩと47KΩで分圧したところ、iPhone15でもキチンと0.5A充電ができるようになりました。



USBテスターで測ってみるときちんと0.5Aで充電できています。
5.2Vとすこし電圧が高いのが気になりますがとりあえず改造は成功しました。
もともと無反応で充電すら開始されなかったのですから、良しとします。
Posted at 2023/11/14 12:00:37 | コメント(0) | トラックバック(0) | 電子工作 | 日記
2023年11月14日 イイね!

iPhone用 低速充電器の試作(0.5A/2.5W)



iPhone7からiPhone15に最近乗り換えました。

せっかく新しく購入したのでバッテリーの寿命を延命させるため
なるべく低速でゆっくり充電したいなと思い
0.5A(2.5W)の低速充電器を探しましたが使えそうなものは1A(5W)しかありませんでした。

パソコンのUSB端子は0.5Aで充電できますがそのためだけにPCの電源を入れておくのも微妙なので、低速充電器を自作できないかちょっとテストしてみました。

シュウジマ氏のブログを参考にして、
どうやらUSBのD+、D-端子に2.0Vを加圧することでiPhone側が0.5Aでの充電に調整してくれるらしいです。

早速、手元に転がっていた5VのDCDCコンバータと3KΩと2KΩの抵抗を使い、
ブレッドボードに仮組、USBテスターで確認してみました。

ぶっ壊れても良いiPhone7に繋いでみたところ
情報通り約0.5Aでの充電ができるようになりました。
その後、iPhone15にも繋いでみましたが同じく0.5Aで充電ができました。

低速充電器を自作できそうな感じなので、あとでユニバーサル基板で作り直してみたいと思います。
Posted at 2023/11/14 01:53:18 | コメント(0) | 電子工作 | 日記
2022年11月28日 イイね!

LCD 1602A バックライト調整(PWM制御)

LCD 1602A バックライト調整(PWM制御)
430タイマーで使用していた0.96インチのOLEDですが、長期間使っていると劣化し画面の輝度が著しく低下するという問題があるということが分かってきました。

そこで画面をLCD1602Aと入替するべく、表示のテストを行いました。
I2Cの変換モジュールがはんだ付けされているタイプのものなのですが、
これがやたらバックライトが明るいのです。
夜間に走行するのにこんなにバックライトが明るいと運転の邪魔になりそうなのでバックライトの明るさを制御できないか、少し考えてみました。
可変抵抗を後付けするのは部品点数が増えるのであまりやりたくないので他の方法を考えます。
alt
バックライトのLEDは100Ωの抵抗がデフォルトでついていて、VCCの電源が直接供給されてる感じです。


最初は、lcd.backlight()と、lcd.noBacklight()を高速に交互に呼び出してPWM制御っぽくしてたのですが、なんかうまくないので、LCDのバックライトにArduinoの機能で直接PWM制御した信号を入れるようにしてみました。
LCDのバックライトには100Ωの抵抗が既についてるので、
ArduinoのD6ピンと、1602A I2Cモジュールのバックライトスイッチ端子の片側を繋げるだけです。
alt

あとは、pinMode(6,OUTPUT);でD6をアウトプットにして、
analogWrite(6, 20);みたいな感じでPWM制御してやればバックライトの明るさも自由自在です。

//YWROBOT
//Compatible with the Arduino IDE 1.0
//Library version:1.1
#include <Wire.h>
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27,20,4);  // set the LCD address to 0x27 for a 16 chars and 2 line display


int brightness = 0;
#define READ_INTERVAL 20//ms
#define SW_PIN 7
#define LED_PIN 6

unsigned long timer, old_timer;
bool states, value, old_value;
char str[32];

void setup()
{
  lcd.init();                      // initialize the lcd
  lcd.init();
  // Print a message to the LCD.
  lcd.backlight();
  lcd.setCursor(0,0);
  lcd.print("000Hello, world!");
  lcd.setCursor(2,1);
  lcd.print("Ywrobot Arduino!");
   lcd.setCursor(0,2);
  lcd.print("Arduino LCM IIC 2004");
   lcd.setCursor(2,3);
  lcd.print("Power By Ec-yuan!");

    pinMode(SW_PIN, INPUT_PULLUP);//入力
    pinMode(LED_PIN,OUTPUT);//LCDのLED
}


void loop()
{
  //READ_INTERVAL[ms]毎にスイッチの読取り
  timer = millis();
  if ( (timer - old_timer) >= READ_INTERVAL) {
    old_timer = timer;
    value = !(digitalRead(SW_PIN));//SW (ON=1 / OFF=0)
  }

  //スイッチの状態を取得
  int sw_states = 0;
  if (value == HIGH && old_value == LOW) {
    sw_states = 1;//スイッチが押された瞬間
  } else if (value == LOW && old_value == HIGH) {
    sw_states = 2;//スイッチを離した瞬間
  } else if (value == HIGH && old_value == HIGH) {
    sw_states = 3;//スイッチが押されている
  } else {
    sw_states = 0;//スイッチが押されていない
  }
  old_value = value;

  //スイッチの状態に応じて動作を変更
  switch (sw_states) {
    case 0://スイッチが押されていない
      //states = LOW;
      break;
    case 1://スイッチが押された瞬間
      //states = !states;
      BrightnessCHG();
      sprintf(str, "%03dHello, world!", brightness);
      lcd.setCursor(0,0);
      lcd.print(str);
      break;
    case 2://スイッチを離した瞬間
      //states = !states;
      break;
    case 3://スイッチが押されている
      //states = HIGH;
      break;
  }
}

void BrightnessCHG(){
  brightness += 17;
  if (brightness > 255){
    brightness = 0;
  }
  analogWrite(LED_PIN, brightness);
}

Posted at 2022/11/29 00:16:10 | コメント(0) | Arduino | 日記
2022年11月17日 イイね!

いすゞ 07フォワードでCAN受信 430タイマーの作成8

いすゞ 07フォワードでCAN受信 430タイマーの作成8
alt
約1年間が開いてしまいましたが、ブレッドボードの仮置きからユニバーサル基板でなんとかそれっぽい感じに持ってくことができました。

ケースはダイソーで110円で売ってた小物入れです。テキトーに目で採寸してアクリルカッターでガシガシ切ってきます。マスキングも、やすり掛けもいたしません。

430タイマーをトラックから取り外すとき配線を外すのが面倒だなと思っていたので、
CAN信号と電源はLANケーブルを流用することにしました。
秋月電子でLANコネクタDIP化キットみたいのが1セット200円(高い!)で売ってたので使ってみました。OBD2コネクタ側にも使ってるので合わせて400円です。いい値段しただけあって、とっても便利になりました。
作成途中、自分の悪い癖が出て固定が面倒になってきたので固定にホットボンドを使ってしまいました。おそらく夏場の炎天下で溶ける可能性大です。まあその時はその時で(笑)

約1年テストしてみて、430タイマーの演算に関してはバグは出てこなかったです。
見守りくんの見にくい停車分数表示ともズレは出なかったのである程度は信頼できると思います。
残りの運行時間がリアルタイムで表示できる装置は自分が確認できる範囲では市販されてないようなので、かなり実用的で満足度が高いものが作れたと思います。


肝心のタイマー部分はブレてかなり見にくくなってますが、
完成品の実働部分を撮影してみました。
シフトアップランプと90キロリミッタランプの動きがなかなか面白いです。
&lt;br /&gt;


alt
alt
 

Posted at 2022/11/17 20:20:08 | コメント(0) | トラックバック(0) | Arduino | 日記

プロフィール

「[整備] #フォワード ArduinoでCAN通信できるプリント基板を作って組立 (MCP2515) https://minkara.carview.co.jp/userid/3423019/car/3226320/7545498/note.aspx
何シテル?   10/29 00:19
zip********です。よろしくお願いします。
みんカラ新規会員登録

ユーザー内検索

<< 2024/6 >>

      1
2345678
9101112131415
16171819202122
23242526272829
30      

ブログカテゴリー

愛車一覧

いすゞ フォワード いすゞ フォワード
いすゞ フォワードに乗っています。

過去のブログ

2024年
01月02月03月04月05月06月
07月08月09月10月11月12月
2023年
01月02月03月04月05月06月
07月08月09月10月11月12月
2022年
01月02月03月04月05月06月
07月08月09月10月11月12月
ヘルプ利用規約サイトマップ
© LY Corporation