2024年4月17日 (水)

aitendo「ESP-32でいいの」っぽい謎ボードでLチカ

Img18372
 以前紹介したaitendo 2024お楽しみ福BOXに入っていた「ESP-32でいいの」っぽい謎のボードで遊んでみました。

R32d1pinout
 ↑ aitendoのWebサイトで販売中(再入荷準備中)のボードはESP32が載ってるんだけど,2024お楽しみ福BOXに入ってたのはESP32が載ってないし,ボードの色が違うし,USB端子がタイプCになってるし,どうみても別物なんだけど現在のところaitendoで販売されてません。ひょっとしたら基板は作ってみたものの発売を断念しちゃったモノなのかも。
このボードがほんとに使えるものなのかどうだか分かりませんが,AliExpressで400円弱のESP32-WROOM32を買ってはんだ付けしてみようと思います。

Img1838
 はんだ付けしてるときにズレちゃうと困りますから gootのヒートクリップでがっちり挟んで動かないようにします。このヒートクリップはチップ部品やSOPパッケージのICをはんだ付けするときにホントに便利ですよ。ぜひ使ってみてください。

Img1839
 しっかり押さえつけたからと言ってもこれはなかなか大変そう(^^;) HOZANのフラックスを塗ってから,Φ 0.6mmの糸ハンダを使ってはんだ付けに挑戦です。

Img1840
 ハンダブリッジしちゃったらハンダ吸い取り線を使ってやれば大丈夫です。ちょっと不細工なところもあるけど,なんとか完成!

 とりあえずLチカをやってみます。LEDはアリエクで買ったコレを使ってみます。Arduinoのボードにそのまま挿せるから便利です。

//ESP-32でいいの(?) Lチカ
int led[] = {12,13, 5,23,19,18};
void setup() {
for (int i=0; i <= 5; i++){
pinMode(led[i], OUTPUT);
}
}

void loop() {
for (int i=0; i <= 5; i++){
digitalWrite(led[i], HIGH);
delay(100);
digitalWrite(led[i], LOW);
delay(100);
}
}

 とりあえずちゃんと動くみたいです。Wi-Fiも使ってみないとなー。

| |

2023年12月31日 (日)

今年も aitendo 2024お楽しみ福BOX を買いました

Happybox2024alabel

 今年も 12月30日(土)10:00から発売になった 2024お楽しみ福BOX というネーミングのaitendo福袋(税別2,024円)を買いました。なんと5分弱で限定100点が売り切れてしまいました。すごいなw

んで,26時間後の今日12月31日(日)のお昼に届いたので,さっそく中身をご紹介します。
Cimg1237

ドットマトリックス液晶(128x32) [TS207]
3.5インチ液晶モジュール★320x480★ [M035C9486LB3]
巨大なセグメント液晶モジュール [CM1441A-V4]

Cimg1238

ESP-32でいいの★ESP-32★ [R32D1] 2枚
↑ これのESP-WROOM-32がついてないやつっぽいですね。→ 使ってみました
DACヘッドフォンアンプ基板(半成品) [MB2704]
Eインクディスプレイ [A152P34]
TWELITE BLUE SMD(ハテナ型アンテナ付属)【TWE-L-W7】

  Cimg1239
★8x8★2.3★フルカラードットマトリックス(RGB) [KEM23088BRGB]
SIP化LEDモジュール [CK001-3P]
砲弾型LED各種

Cimg1240
★EASY版★DSPラジオキット(AM/FM/SW) [K-443B] の前の型だと思います。正確に言うとコレかな。
★国産電解コン搭載★整流平滑キット [K-D4C]
動作センサーパル [MW-PAL-MOT-0]
5V出力DC/DC電源モジュール [HZ-01]
マイクロDCモータ [RF-300CA-11440]

Cimg1241
5V出力電源キット [K-1R505]
ヘッドホンアンプキット [K-HPA5532CS]
電源レギュレータキット [AKIT-78M2P]
メロディIC [TQ-D3][TS0805B][JH668]
LED点滅ドライバー [H-16A]
7セグLED時計キット

Cimg1242
★和音16曲★メロディ再生キット [AKIT-66A]
マイクロUSBコネクタ
ジェンダーチェンジャー  [GCH]
AKIT-317B
ポリ袋
各種ミニ基板

ちょっと扱いに困るモノもありますが,2,024円以上の商品が入っているのは確実です。
お正月休みはaitendoのキットを作ってのんびり過ごそうかな :D

| |

2023年1月 2日 (月)

aitendo 2023お楽しみ福袋

Cimg0289

 贔屓にしている電子パーツ通販のaitendoで,今年も「2023お楽しみ福袋」を買ったのでご紹介します。
税別999円で限定100袋が,10分くらいで完売したようですw
12月31日午前10時にポチったら,1月1日お昼頃に自宅に届きました。aitendoさん,佐川急便さん ありがとう(^^)

Cimg0290
作りやすいFMバンドDSPラジオキット [K-M803A] これがこの福袋のメイン商品かな。正月休み中に作ってみよっと。


Cimg0297
IchigoJam-T互換基板 [MB-1114FN28-T]っぽいけど,マイコンが載ってないからどうしようもないなあ。これはゴミですw


Cimg0291
★ロシア★高性能ゲルマニウムダイオード(2個入) [D9G] これはいいかも。またゲルマラジオを作ってみようかな。


Cimg0300
STN液晶モジュール★16x1★ [ZJM161A] 16文字×1行のSTN液晶モジュール。せめて2行のが良かったなあ。


Cimg0299
SATAコネクタwith基板 [SATA22PM-2P]とピッチ変換基板(1.0/15P) P-FCB1015Aとミニ基板 これは使いそうもないなー。


Cimg0293
マイクロUSB変換基板 これも使いそうにないなー


Cimg0295
RCAプラグはいいとして,HDMIのアダプタは,タイプAプラグ⇔タイプAソケットとタイプAプラグ⇔タイプAプラグってどういう用途があるのかしら?笑

Cimg0298
電解コンデンサ100μF 450Vと8Ω2Wのスピーカー

まあ,999円以上の商品が入ってたのは確かだけど,今年のaitendo福袋は今ひとつでしたねー。来年は2024円福袋にしてくれるといいな。

| |

2022年1月 6日 (木)

aitendo 2022 お楽しみ福袋

Cimg9843
もう1週間前のことですが,通販でaitendoのお楽しみ福袋(税別2,022円)を買ったので,中身をご紹介します。限定100袋が数分で完売してしまったようです笑
Cimg9831
高音質・高感度・作りやすいAMラジオキット [K-EZ7642BXA2]
AMラジオICを使った,乾電池1個で動くラジオのキット。これはいいですね。
Cimg9829
あちゃんでいいの [AKIT-ADINO]が2個
CR類が各1個分しか入ってないのに,基板は各3枚も入ってます。ATMega328Pも買わないとw
Cimg9830
VFD表示器 [6-BT-321GNK]
★0.36★4桁7セグLED表示器(赤色) [ZDS4-G369SRB-7.7]
4桁7セグLED表示器 [YHA2681HRK]
4桁7セグLED表示器 [YH-4043HS]
★0.28★4桁7セグLED表示器(黄緑色) [BW428G-E1-10MM]
4桁LED表示器:LIM-2843G-11

Cimg9832
巨大なセグメント液晶モジュール [CM1441A-V4]

Cimg9837
bigグラフィックス液晶モジュール★SPI★ [WOM12864J5]

Cimg9833
大型LCDモジュール (仕様不明)

Cimg9835
ワイヤレスモジュール [MW-R-WX]

Cimg9838
サーモスタット式温度スイッチ [KSD301]

Cimg9839
★φ10x17★ツマミ [KN1017A]

Cimg9836
100μF-450V 電解コンデンサ

Cimg9842
ミニ ユニバーサル基板各種

Cimg9834 基板用 各種コネクタ

総額2,022円以上の品が入ってるのは確かですが,扱いに困るものもあるなw
まあ ぼちぼち遊びまーす。

| |

2020年7月23日 (木)

ZK-80で足し算

20200723

 ZK-80で足し算をやってみました。
Aレジスタに0x16を入れておいて,そこに0x24を加えます。んで,答(Aレジスタの内容)は8010番地に書き込みましょう。

電子ブロック工房さんの JavaScript Z80 tiny assembler を使うと便利です。

8000: LD A,16          3E 16
8002: ADD A,24        C6 24
8004: LD (8010),A    32 10 80
8007: RET                C9 

 下の動画のように,パチパチ入力してRUNすると,8010番地に答の0x3Aが書き込まれてるのが確認できます。そうか,42年前に僕の友人はこういうことをやって遊んでたのか。
なんとなく活動記録。さんのところからリンクされてる 8080の命令セットの説明書をちゃんと読んで勉強してみようかな。

| | | コメント (0)

2020年7月21日 (火)

TK-80互換機 ZK-80のキット

20200721-zk80

 1976年に発売されて大ヒットしたマイコンTK-80の互換機ZK-80のキットをaitendoで買って組み立ててみました。
TK-80は工学部電気電子系へ進学した友人の間では流行ってましたが,僕は全然関心がありませんでした。で,まったくニーモニックや機械語に触れることもなく大学時代を過ごし,就職後に初めて買ったコンピュータ(FM-8)で覚えた言語はBASICでした。
 定年退職後ヒマだし,aitendoの「ミニ版ZK-80組立てキット」は2,500円というリーズナブルなお値段なので,つい手が出てしまったというわけです。

 キットとしては部品点数も少ないし,あっという間にでき上がったのでネットで拾ったプログラムをパチパチ入力してるときに「あれ?4桁LEDのアドレス表示部とデータ表示部が逆だぞ」と気づきました。
回路を設計したピコソフト(株)のWebサイトのFAQを見てみたらその答えがありました。
「4桁LEDは二つ使用していますが,片方はアノードコモン,他方はカソードコモンで別物です。説明書にあるように,アドレス表示部にはアノードコモンのLED,データ表示部にはカソードコモンのLEDを付けてください。」

「うわ,そうだったのか! 気づかなかったー!」
逆に取り付ける確率は50%ですが,やらかしました。さあここからが大変。ハンダ吸取線や吸取器を使って悪戦苦闘すること30分。やっと取り外しに成功して正しい位置に付け直しました。
 しかし,電源を入れてみると7セグLEDのセグメントのひとつが点灯しません。取り外すときに基板のパターンを剥がしてしまったようです。回路図を見ながらテスターで調べ,切れてるっぽい箇所を見つけて配線。7セグLEDも無事点灯して,やっと完成です。
さっきのプログラムを入力してRUNすると,ちゃんと動いてるみたいです。やれやれ。

 ところが,また不具合発見。一番右上のRESETボタンが効かないのです。基板の表を見ても裏を見ても,このスイッチはどこにもつながってません。aitendoのキットの基板はこういうミスがよくあるんだよなあ。
回路図を見て,このスイッチはマイコンの1番ピン(MCLR)とGNDにつなぐことを確認して配線しました。この写真をごらんください ↓
20200721

 手間取りましたが,RESETボタンも効くようになってやっと完成! ↓ こんなサンプルプログラムがあらかじめ入ってました。

 

| | | コメント (0)

2020年4月18日 (土)

Arduinoで作ろう(47) GPSモジュールで現在地の緯度・経度を取得

Esp32gps_

 aitendoで買ったGPSモジュールNEO-6MをESP32につないで。現在地を取得してみました。
TinyGPS++というライブラリを使うと,GPSモジュールから簡単に時刻,緯度(LAT),経度(LNG),標高(ALT)などを取り出すことができます。

20200418

 よく行くパソコンショップの駐車場にクルマを止めて,この装置で現在地を取得し,GoogleMapに緯度・経度を入力してみると正確に測位できていることが確認できました。これは普通にすごいな。

Gps_map

//ESP32 + GPSモジュール NEO-6M 

#include "TinyGPS++.h" //http://arduiniana.org/libraries/tinygpsplus/
#include "HardwareSerial.h"
#include "Wire.h"
#include "SSD1306.h"
SSD1306 display(0x3c, 21, 22); //I2Cアドレス0x3c,SDA->GPIO21,SCL->GPIO22
TinyGPSPlus gps;
HardwareSerial serial2(2); //ESP32_GPIO16->GPS_TX , ESP32_GPIO17->GPS_RX

void setup() {
  display.init();
  pinMode(2, OUTPUT);
  digitalWrite(2, LOW);
  Serial.begin(9600);
  Serial.println("Start GPS... ");
  display.clear();
  display.drawString(0,0,"Start GPS... ");
  display.display();
  serial2.begin(9600);
}

void loop() {
  if (serial2.available()){
   char c = serial2.read();
   gps.encode(c);
   if (gps.location.isUpdated()) {
    digitalWrite(2, HIGH);
    Serial.print("LAT: "); Serial.println(gps.location.lat(), 9);
    Serial.print("LONG: "); Serial.println(gps.location.lng(), 9);
    display.clear();
    display.drawString(0,0,String(gps.time.hour()+9)+":"+String(gps.time.minute())+":"+String(gps.time.second())+" JST");
    display.drawString(0,20,"LAT : "+String(gps.location.lat(),9));
    display.drawString(0,35,"LNG : "+String(gps.location.lng(),9));
    display.drawString(0,50,"ALT : "+String(gps.altitude.meters())+"m");
    display.display();
  } else{
    digitalWrite(2, LOW);
  }
 }
}

| | | コメント (0)

2019年9月 9日 (月)

Arduinoで作ろう(33) 7セグLEDでデジタル時計 〈その2〉

20190909multi_function_shield

 以前 紹介したMulti Function Shieldで,7セグLEDデジタル時計を作ってみました。

Multifunctionshield_tokei_
 前回のシールドはシフトレジスタ74HC595が1個,7セグLEDはカソードコモンでしたが,今回のは74HC595が2個,7セグLEDはアノードコモンです。
どう配線されているかと言うと,こんな感じ↓

20190909

 桁選択用74HC595のSDOから数字表示用74HC595のSDIに配線されてますから,Shiftoutでデータを送るときは,数字表示用のデータを先に送らないといけません。
で,スケッチはこれです→ 20190908_ks0184_tokei.ino

/*
  Multi_function_shield
  RTC DS3231 7セグLEDデジタル時計
*/
#include <Wire.h>
#include <RtcDS3231.h>
RtcDS3231<TwoWire>
Rtc(Wire);
const int latch = 4;   // Latchピン
const int clock = 7;   // Clockピン
const int data = 8;   // Serial Data In ピン
const byte digit[] = //7seg 点灯パターン(アノードコモン)
{
  B11000000, // 数字 0
  B11111001, // 1
  B10100100, // 2
  B10110000, // 3
  B10011001, // 4
  B10010010, // 5
  B10000010, // 6
  B11011000, // 7
  B10000000, // 8
  B10010000  // 9
};

const byte segment[] =
{
  B00001000, //1桁め
  B00000100, //2桁め
  B00000010, //3桁め
  B00000001  //4桁め
};

void setup() {
  pinMode(latch, OUTPUT);
  pinMode(clock, OUTPUT);
  pinMode(data, OUTPUT);
  Rtc.Begin() ;
 // DS3231の日時を「それなりの値」に設定する場合に、以下の2行をコメントアウト
 // RtcDateTime compiled = RtcDateTime(__DATE__, __TIME__) ;
 // Rtc.SetDateTime(compiled) ;
}

void loop() {
 RtcDateTime dt = Rtc.GetDateTime() ;
  Disp(3,dt.Hour()/10%10);
  Disp(2,dt.Hour()%10);
  Disp(1,dt.Minute()/10%10);
  Disp(0,dt.Minute()%10);
 }

void Disp(byte keta,byte value){
  digitalWrite(latch, LOW);
  shiftOut(data, clock, MSBFIRST,digit[value]);
    if (keta == 2) {
    shiftOut(data, clock, MSBFIRST, digit[value]&B01111111); //hhとmmの間に小数点をつける
    }
  shiftOut(data, clock, MSBFIRST, segment[keta]);
  digitalWrite(latch, HIGH);
  delay(4);
 }

20190908

| | | コメント (0)

2019年9月 7日 (土)

Arduinoで作ろう(32) 7セグLEDでデジタル時計

Kcs1

 aitendoで買ったシールドで,このラーニングキットK-CS1ってのを忘れてました。
4桁7セグ表示器+74HC595ディスプレイ回路,温度センサインターフェース,クロックモジュールインターフェース,電圧メーター回路,タクトスイッチx2回路,超音波センサインターフェース,ブザー回路がついていて,学習用に便利なものです。
 今回はこれでデジタル時計を作ってみます。RTCはDS3231で,ライブラリはこれを使いました。

Fritzingで描いた回路図はこうなります。

7segled_tokei_2 シフトレジスタ74HC595があるので比較的ラクですが,スマートなコードはなかなかうまく書けませんなあ。もう少し勉強が必要ですね。

スケッチはこれ→20190907_7segled_clock.ino

// aitendoシールド K-CS1 + RTC DS3231 + 7セグLED デジタル時計

#include <Wire.h>
#include <RtcDS3231.h>
RtcDS3231<TwoWire>
Rtc(Wire);
const byte segment[] = {4,5,6,7}; //各桁カソードピン
const int clock = 10;   //74HC595 → Pin 10
const int latch = 9;    //74HC595 → Pin 9
const int data = 8;     //74HC595 → Pin 8
const byte digit[] =       //7セグLED 点灯パターン
{
  B00111111, //0
  B00000110, //1
  B01011011, //2
  B01001111, //3
  B01100110, //4
  B01101101, //5
  B01111101, //6
  B00000111, //7
  B01111111, //8
  B01101111  //9
};

void setup ()
 {
  for (int i = 0; i < 4; i++) {
  pinMode(segment[i], OUTPUT);
  }
  pinMode(latch, OUTPUT);
  pinMode(clock, OUTPUT);
  pinMode(data, OUTPUT);
  Rtc.Begin() ;
 // DS3231の日時を「それなりの値」に設定する場合に、以下の2行をコメントアウト
 // RtcDateTime compiled = RtcDateTime(__DATE__, __TIME__) ;
 // Rtc.SetDateTime(compiled) ;
 }

void loop () {
  RtcDateTime dt = Rtc.GetDateTime() ;
  Disp(3,dt.Hour()/10%10);
  Disp(2,dt.Hour()%10);
  Disp(1,dt.Minute()/10%10);
  Disp(0,dt.Minute()%10);
 }

void Disp(byte keta,byte value){
  for (byte j = 0; j < 4; j++) {
   digitalWrite(segment[j], HIGH); // 全桁LEDをOFF
   }
  digitalWrite(segment[keta], LOW);
  digitalWrite(latch, LOW);
  shiftOut(data, clock, MSBFIRST,digit[value]);
   if (keta == 2) {
   shiftOut(data, clock, MSBFIRST, digit[value]|B10000000); //hhとmmの間に小数点をつける
   }
  digitalWrite(latch, HIGH);
  delay(4);
 }

Rimg0044

| | | コメント (0)

2019年9月 5日 (木)

Arduinoで作ろう(31) ATtiny13をArduino IDEで使ってみる

 タイトルの「Arduinoで作ろう」からは少しズレてるような気もしますが,8ピンDIPの小さなAVRマイコンATtiny13をArduino IDEで使えるようにしてみました。

201909055

 まず,Arduino IDEのボード選択にATtiny13が出てくるようにしましょう。
そのために,まずArduino IDEの「環境設定」にある「追加のボードマネージャのURL」に https://kimio-kosaka.github.io/bitDuino13/package_bitDuino13_index.json を追加します。

Image11

 そうすると,「ツール」の「ボードマネージャ」の一番下に「bitDuino13」というパッケージが現れますから,これをインストールします。

Image12

 これで準備OK。「ツール」の「ボード選択」で一番下に「ATtiny13」が現れますから,これを選択します。

Image13

 さて,ここでaitendoのATtiny ISPシールドきっと の登場です。これはArduino UNOに取り付けるシールドで,各種ATtinyに対応したスグレモノです。ブレッドボード上で面倒な配線をしなくていいから便利ですよ。これはオススメ。

20190905

 この状態で,Arduinoで作ろう(28) に書いた手順でATtiny13にブートローダを書き込み,続けてスケッチを書き込んでやればOKです。
内部クロックは9.6MHzにしておきましょうか。(半端なクロック数ですな)

201909054

void setup() {
  pinMode(3, OUTPUT);
}
 
void loop() {
  digitalWrite(3, HIGH);
  delay(1000);
  digitalWrite(3, LOW);
  delay(1000);
}

こんな感じのLチカのスケッチを書き込んでみました。

201909052

| | | コメント (0)