2022/03/27

【息抜き】実物大動くガンダムを見て

 2021年12月28日にとあるイベントで横浜に来ていたので1/1スケール動くガンダムを見てきました。(とあるイベントについては気が向いたら書きます。。。)


最初の感想は「おっ!もう見える」です。
最寄りの元町・中華街駅を出て数分でガンダムが見えました。
さすが18mですね。

https://drive.google.com/file/d/1BYcGprlvX9HdDCIyyQ-o8l0qnluyslF1/view?usp=sharing


ちなみに見える方そのまま行くと関係者以外立ち入り禁止のふとうに行き着きます。
少し遠回りして山下公園の中を突っ切るとたどり着けます。
詳しくはGUNDAM FACTORY YOKOHAMAのホームページを参照してください。

入場ゲートから入ると目の前にガンダムしかもちょうど動いていてタイミングが良いのか悪いのか。。。
ただ、高頻度でガンダムは動いているのであまり気にならなかったです。

昼食は内部のガンダムカフェで頂いたのですが、秋葉原と比べるとチョットなぁと思いますね。正直近くの中華街に行けば良かったです。

また、解説用の施設があり、そこは非常に内容が充実しており、大満足です。
1/1ガンダムのプロジェクトの中心人物から成り立ち、工学的な知見も豊富で、
パネルだけで触れる模型もあり指の動きや前後運動の機構など理解し易い展示でした。
対応して頂いたスタッフもとても親切で裏話や、見てほしいポイントなんかも
教えてくれました。

以上、普段とは違う内容をお届けしました。

2022/02/27

ESP32とMCP9701で温度測定

今回も前回に引続きESP32に挑戦していきます。
今回はスタートブックの3章からです。

書籍に記載あった温度センサは我が家の在庫に無かったので
家にあった似たような温度センサMCP9701を使います。

前回のLED同様にESP32の25Pinに温度センサの出力を接続します。
本来はノイズ対策にコンデンサ0.1μFを挟むべきとのことですが今回は無しです。

作成したコードは以下の通りですが、
スタートブックは温度のみを出力する仕様でしたが、
私はセンサ出力値(AD変換後生値)、センサ電圧値(計算値)、温度(計算値)を出力します。

//ESP32とMCP9701(温度センサ)で温度測定
#define sensor 25 //"sensor"を25に固定

void setup() {
  // put your setup code here, to run once:
  Serial.begin(115200);   //シリアル通信の初期設定
  while(!Serial);         //シリアル通信が可能になるまで繰り返す
  pinMode(sensor,INPUT);  //sensor(25)を入力モードに切替える

}

void loop() {
  // put your main code here, to run repeatedly:
  int e = analogRead(sensor);   //センサからのアナログ値を読取り
 
  float Vout = 3.3 / 4095 * e + 0.1132;    //補正式から電圧を補正:分解能の読取り最大値 ÷ ESP32の分解能 × センサ入力値 + ESP32の補正値 
 
  float temp = (Vout - 0.5) / 0.01;          //電圧から温度に変換:
 
  Serial.print("V =");
  Serial.println(e);                     //補正前の電圧を出力
  Serial.print("Volt =");
  Serial.println(Vout);                     //補正後の電圧を出力
  Serial.print("tenmp =");
  Serial.println(temp);                     //温度を出力
  delay(1000);

}

コードは以上です。

出力を温度以外にもしたのは、何故か温度が正しく出力させなかったのです。
(-30℃くらい出力されました。。。)

原因はセンサ値から電圧+補正の計算を書籍通り
float Vout = e / 4095 * 3.3 + 0.1132;で実施したところ
何故か計算を実施しなかった点です。
そのため計算式を下記のようのに書換えました。
float Vout = 3.3 / 4095 * e + 0.1132;
順番を変えただけですが、上手くいきました。
なぜでしょうね?
まぁ、動いたからヨシッ!

次回はついにネットワークへの接続に挑戦です。

2022/02/19

ESP32 挑戦!! 環境設定とLチカ

 本日はESP32に挑戦!!
まぁ、購入してから、ずっと放置していたので手を付けます。

参考にしたのはこちらの書籍です。

IoT開発スタートブック ── ESP32でクラウドにつなげる電子工作をはじめよう!

では始めて行きましょう!

開発環境はArduino IDEです。
インストールは済なのでここはカット。。。
ボードの設定は必要なようですね。

「ファイル」→「環境設定」追加のボードマネージャのURLに
”https://dl.espressif.com/dl/package_esp32_index.json”を追加してOK。

「ツール」→「ボード」→「ボードマネージャ」から”ESP32”をインストール。

「ボードマネージャ」から”ESP32 Dev modul”を選択
以上で環境設定は完了!

では、プログラムのテストは定番のLチカです。
コードはこんな感じ

void setup() {
  // put your setup code here, to run once:
  pinMode(25, OUTPUT);
}

void loop() {
  // put your main code here, to run repeatedly:
  digitalWrite(25,HIGH);
  delay(500);
  digitalWrite(25,LOW);
  delay(500);
}

ではさっそくコンパイルして、書き込みとしたのですが、
書き込めませんね。


ネットで少し調べてみると他の方も同じような状態の方が
いらっしゃいますね。
で、解決法はいろいろな方法があるようですが、
書き込み中にBOOTボタンの押しっぱなしで書き込みが出来ました。


で、Lチカも問題なしです。


とりあえず、本日はここまでです。

IoT開発スタートブックの第2章まで完です。

ではまた~



2021/12/17

GIMPで写真を線画にする方法

 GIMPで写真を線画にする方法について紹介します。
(自分の覚えのためでもありますが。。。)

GIMPはフリーソフトですので手軽にお試し出来ますよ♪
皆さんもこの方法で思い出の写真をレーザー彫刻で残してみませんか?

↓のリンクからパワーポイントを参照下さい。
GIMPで写真を線画にする方法

↓実際に写真をレーザー加工した作品


以上、では次回の更新まで!

2021/12/12

NT鯖江2021

 NT鯖江2021

2021/11/27に開催されたNT鯖江に出展しましたので、
少し内容をまとめます。

今回は立地と悪天候のためか外部からの来場される方が少なかったので
出展者同士の交流が捗りましたw。

お一人お一人と長く話していたのと、開催時間が短いのもあって
あまり紹介は出来ませんが…

1.@cho_ai_hedronさんのくじ
NT富山2021でも挑戦せさせて頂きましたが、今回も狙いは外れてしましたww。
今回はお札が当たりました。
当日、説明頂きましたが光沢が素晴らしいです。


2.@botamochi6277さんのぬいぐるみと@MintiaPさんのモンスター娘の人形
写真は撮り忘れましたがコラボしていたので合わせてご紹介、twitterで探せば画像が出るかも?
ぬいぐるみは裁縫を含めて手作りです。裁縫なんて学生時代の家庭科の授業でやって以来全くやってないですね。
モンスター娘は3Dプリンタとレーザー加工機を用いて作成されてます。
お二人とは作品のことより3Dプリンタやその他のことについて長々と話してしまいしたww。


3.@albertlaboさんのくまのぬいぐるみのロボット
前回のイベントNT富山(11/6,7)から新作からさらにくまのロボットを複数台用意されたとか
ご本人は突貫で作ったとはおっしゃらてましたが、しっかり動いて子供に大人気でした。
NT富山の反省から子供に怖がられないロボを意識したとのことで、くまのサイズを変えるなど
お話しを聞いてみるとかなり考えているなぁと思いました。


次回は2022年1月のNT加賀になりそうですかね。
その後がまったく予定無いのが怖いですが、、、
では、次にお会いする時まで!!

2021/11/14

NT富山 2021

 NT富山 2021

こんにちは!一週間経ってしまいましたが、2021年11月6(土)-7日(日) アピアショッピングセンターで実施された、NT富山 2021に出展しましたので少しまとめてみます。

まず、今回は自分の作品「座禅マシーン」ですが、当初は写真のようにアームもセットしましたが、初日早朝に不具合により、アームが動作せずという事態になりました。

分解して内部を確認しましたが、電流を流すとサーボモータ内部の基盤から煙が出てて、
モータが動作せず完全に死亡です。
二日目以降は、分解したサーボモータを展示しました。分解することで構造が分かるんで、
NT参加者には受けが良かったです。(一般の方に説明したら若干引いていたのは気のせいかな...)

今回はちゃんと自分のブースにいた時間が長かったのと、作品を見せて頂いた方との話しが盛り上がって長話しをしてしまったため、多くは回れませんでしたが、
他の方の作品を紹介させていただきます。

六畳一間研究室さんの等身大初音ミク

11/6(土)のみの出展でしたが、大きいというのもありますが、とても目に留まりました。
ボディは3Dプリントで、内部の一部はMDFで作成しているとのこと。
首の調子が悪いとのことでしたが当日中に応急処置を実施し、
動いている姿を見せて頂けました。

やまたいさんの球形ディスプレイ

大小のディスプレイを展示されており、給電方法が大小で違うんだそうです。
大きい方がスリップリング、小さい方が無線給電。
イベント中もほぼ回転してましたが、スリップリングの寿命は結構持つそうです。


0TechWorksさんのLED時計

膨大な数のLEDを使っているのはぱっと見てわかりますが、
裏側の抵抗の方がすごいことになってました。
それを手作業ではんだ付けしているのだから、想像出来ない大変さです。

他の方も色々おもしろく、興味深い作品を出展されていました。
また、多彩な知識をお持ちの方いて、はんだごての先端が円錐形の理由とか、
おもしろい話をお聞きしました。

今回のご紹介はこのくらいで終わらせて頂きます。
次回はNT鯖江(11/27)に出展予定です。
また、お会いできることを楽しみにしております!




2021/08/01

Neo Pixelをarduinoで制御してみた

 Neo Pixelをarduinoで制御してみました。

NeoPixelを制御するにあたりFastLEDライブラリを使用しました。
特段理由はありませんww。
GitHub:https://github.com/FastLED/FastLED

ライブラリのインストールはarduino IDEのメニューの「スケッチ」から「ライブラリをインクルード」「ライブラリを管理」をクリック。
検索欄に「FastLED」を入力してFastLED by Daniel Garciaをインストール。


サンプルからBlinkを選択しちょいちょいとコードを修正し、実行。

#include <FastLED.h>

// How many leds in your strip?
#define NUM_LEDS 50 //LEDの数

// For led chips like WS2812, which have a data line, ground, and power, you just
// need to define DATA_PIN.  For led chipsets that are SPI based (four wires - data, clock,
// ground, and power), like the LPD8806 define both DATA_PIN and CLOCK_PIN
// Clock pin only needed for SPI based chipsets when not using hardware SPI
#define DATA_PIN 3  //arduino出力Pin

// Define the array of leds
CRGB leds[NUM_LEDS];

void setup() { 
    FastLED.addLeds<NEOPIXEL, DATA_PIN>(leds, NUM_LEDS);  // GRB ordering is assumed
}

void loop() {
  // Turn the LED on, then pause
  for(int i= 0;i<NUM_LEDS;i++){
    leds[i] = CRGB::Red;
  }
  FastLED.show();
  delay(250);
  // Now turn the LED off, then pause
  for(int i= 0;i<NUM_LEDS;i++){
    leds[i] = CRGB(0,255,0);
  }
  FastLED.show();
  delay(250);
  // Now turn the LED off, then pause
  for(int i= 0;i<NUM_LEDS;i++){
    leds[i] = CRGB(0,0,255);
  }
  FastLED.show();
  delay(250);
  // Now turn the LED off, then pause
  for(int i= 0;i<NUM_LEDS;i++){
    leds[i] = CRGB(255,255,255);
  }
  FastLED.show();
  delay(250);
  for(int i= 0;i<NUM_LEDS;i++){
    leds[i] = CRGB::Black;
  }
}

そして、実行!!


LEDが思い通りに動いていない、というより赤色はしっかりと表示されていて
緑色が薄く、青色は全く光らなかった。。。
という事はもしかしてarduinoから出力の電源が足りないと思い
別電源を用意して再トライ!!

で上手く行きました!
とりあえず、これを使って何かを作る予定も無いので
今回はここまでです。


技術書典20 を振り返って

 オンラインがまだ続いている中ではありますが、2026年4月12日に開催されたオフラインでの振り返りを少々しようと思います。  今回の原稿の準備についてですが、今までと同様にRe:view Starterを使用していたのですが、今までと大きく変えたのがローカルドライブでは無くOn...