ESP32でhello, world

ESP32はWifiやBluetoothを搭載する安価なマイコンです. 技適にも通っており,2018年9月号のinterfaceでも取り扱われているほど注目されています. 今回は公式開発フレームワークであるESP-IDFのhello, worldを確認しました. 基本的にESP-IDF Programming G…

I2Cで制御できるモータドライバモジュールDRV8830

以前の記事ではTA7291PがPWMには不向きという事を書きました. 今回の記事ではPWMで制御できるDRV8830の動作確認をします. DRV8830の概要 回路 プログラム 参考リンク DRV8830の概要 DRV8830の特徴は以下の通り.(データシートより抜粋) 安い(秋月で1個2…

3Dプリンタのフィラメント検知エラー回避方法

先日購入した3Dプリンタ Anycubic i3 Mega 3Dを使用していたらエラーが頻発するようになりました. フィラメントの検知エラー『Lack of firament of firament monitor abnormal.』 フィラメントが切れまたはフィラメント検知エラーとのこと. フィラメントは…

3DプリンターAnycubic i3 Mega 3Dの購入

Amazonで評価の良かったAnycubic i3 Mega 3Dという3Dプリンタを購入しました. 価格は4万円台でしたが,10万円前後と造形物の品質はあまり変わらないとも言われているほどコスパが良い3Dプリンタです.何より出品者によるサポートが良いらしい. 届いたので…

ubuntu 16.04 にてマウスのリマップ

マウスはキーボードの左側 キーボードの右側は矢印やテンキーなどがあってマウスまでが遠いため, 右利きでもマウスは左手で操作しています. 使っているKensingtonのマウスはWindowsやMacではドライバの設定を変更することで左手用にボタンの役割を変更する…

手元を照らすデスクライト

天井のライトでは手元が暗くなってしまうのでデスクライトを使用しています. しかし,モニタまで照らしてしまうと今度はモニタが見にくくなってしまいます. モニタの下から手元を照らすライトを探してみると意外と無い. かろうじて次の商品が見つかりまし…

TA7291PのPWM制御について

秋月でも購入できるモータドライバICにTA7291PというICがあります. 安価で5Vでも動作するため使いやすいICなのですが,PWM制御をする方法が大きく二通り見られるようです. 制御電源端子VrefにPWM信号印加 IN1 or IN2 にPWM信号を印加したフリー←→CW/CCW モ…

微分方程式の初歩をダイナミクスとして考え直す(3)

前回に引き続き,微分方程式を時間変化として考えていきます. 今回は次の微分方程式. パラメータはaとbの二つ. この微分方程式の解はCを任意定数とすると となります. パラメータbにより項が一つ増えます. 定数変化法を使えばが出せるのですが,今回は…

微分方程式の初歩をダイナミクスとして考え直す(2)

前回に続き,微分方程式を時間変化として考えていきます. 今回は次の微分方程式. パラメータはのみ. この微分方程式の解は を任意定数とすると となります. ここで,次のように軸を考えます. 縦軸を横軸の時間変化にとったグラフは非線形力学系でも安定…

微分方程式の初歩をダイナミクスとして考え直す(1)

物体の運動や水の流れなどの時間とともに変化していく振る舞いは微分方程式で記述できます. 例えば,真空中でリンゴを1mの高さから静かに落下させた場合,リンゴの振る舞いは次の式で示されます. ここで]は地上からのリンゴの高さ,]は重力加速度,]は時間…

ワークライフバランスと生活残業

仕事と生活の調和ということでワークライフバランスが言われており,残業を減らそうという流れがあるようなので残業について考えてみました. 残業が少なければそれで良いのか?という話です. 給料で生計を立てているサラリーマンを考えており,固定時間制…

人口ピラミッドの推移(3)

前回は人口ピラミッドの推移に各世代の名前を追加しました。 今回は時代の変化が少し分かるような情報を加えています。 www.youtube.com ざっくりとバブル景気から崩壊して不景気になり第三次ベビーブームは起こらずに子供の人口が低迷して現在までが40年間…

にいがた暮らしIoTアイデアコンテストを終えて

2/9にコンテストが開催され、なんとか完成させたデバイスを持って発表してきました。 結果は残念ながら参加賞で終わってしまいましたが他の学生のアイデアや物が見れて良かったです。 来年も何かやる ということを伺ったので都合が合えば挑戦してみようと思…

圧力センサ(2)

引き続きFSRのメモ。 重り(75g)×2+台(68g)=218g 重りには釣りに使われるオモリを使っています。 重りを置いてからの抵抗値の変化を測定しました。 測定は250Hzで分圧値をArduinoのAD変換(10bit)により測定し、測定値から抵抗値を算出しました。 回路は圧力セ…

圧力センサ(1)

秋月で購入した圧力センサ(FSR:force-sensitive resistor)を使ったのでメモ。 抵抗値[Ω]∝1/力[F]という性質のあるセンサです。 日本語ではあまり資料は無いですが、英語で調べれば詳しい資料が多く出てきます。 センサ回路の製作 - 気ままにIoTメモ 以前の…

I2C制御16bit ADC MCP3425(3)

前回に引き続き、ゲイン設定を自由にしてくれるプログラムを書いたのでメモ。 var Adc = require('./adc'); adc = new Adc({gain:1, accuracy:16}); adc.start(); var Vmax = [ 2.048, 1.024, 0.512, 0.256 ] var gain = 8; adc.on('complete', function(v){…

I2C制御16bit ADC MCP3425(2)

I2C制御16bit ADCであるMCP3425用のライブラリを作ったので、使い方のメモ。 まずはモジュールのインストール npm install i2c npm install q var Adc = require('./adc'); // adc = new Adc({gain:1, accuracy:16}); adc.updateConfig({gain:8}); adc.start…

I2C制御16bit ADC MCP3425(1)

秋月に1個250円で売っているI2C制御16bit ADCのMCP3425に関するメモ。 特徴 2.7V〜5.5V動作 精度により測定周波数が変わる(16bit精度では15 SPS) 内部に2.048V±0.05%(Vref)の基準電圧 ×1・×4・×8のPGA Vin = (Vin+) - (Vin-)の 差動入力が測定可能 測定…

共用体を使わないワード設定(C/C++)

MCP3425のArduino用ライブラリに使われている1ワードのデータを設定する方法が簡単だったのでメモ。 void getResult(int16_t *dataPtr) { ((char*)dataPtr)[1] = read(); ((char*)dataPtr)[0] = read(); } データの読み込みは1バイトずつで、測定データは2バ…

I2C接続小型キャラクタLCDモジュール(2)

I2Cで制御するLCD用のライブラリを作ったので、使い方のメモ。 回路図はI2C接続小型キャラクタLCDモジュール(1)を参考にしてください。 まずは使っているモジュールのインストール。 npm install i2c npm install q サンプルコード var Lcd = requi…

I2C接続小型キャラクタLCDモジュール(1)

秋月に550円でi2C接続のLCDがあったのでラズパイのnodeで動かすまでのメモ。 AQM1602XA-RN-GBW ST7032で制御されており、I2Cで制御できるようになっています。 LCD側の電流の引き込み能力が低いため、ラズパイとLCDモジュールの間にI2Cバスリピーターが必要…

マイコン内蔵RGB PL9823

秋月より マイコンで1個ずつ制御することができるマイコン(シフトレジスタ)内蔵の画期的なフルカラーRGBのLEDです。 接続が簡単だったので秋月にて購入。 とりあえず光らせられたのでメモ。 買ってから気づいたのですが、少し変わった“味のある仕様…

Promiseを使うためにNodeの手動インストール

Node.jsのコードをラズパイ上で走らせたらPromise is not definedと出て、バージョン確認したらv0.10.29だったため更新することに。 Node.js ES2015/ES6 support sudo apt-get install nodejsでインストールすると古かったり、コマンドがnodejsになったりと…

An angular.js wrapper for Chart.js

Epochも良かったのですがAngularJSと相性の良さそうなライブラリがあったので試し。 The 38 best tools for data visualization 試してみるのはリンク先でperfect data visualization tool for hobbies and small projects と評されている Chart.js。 大体サ…

リアルタイム用グラフライブラリ Epoch

A general purpose real-time charting library for building beautiful, smooth, and high performance visualizations. 公式いわく、美しく、滑らかで高いパフォーマンスの可視化のための汎用リアルタイムグラフライブラリ「Epoch」 ブラウザの更新をしな…

C++用CSVライブラリ

研究では主にシミュレーション結果をdouble型のcsvファイルで保存します。 Pythonだとpandasがあるのでcsvを読み込むのが簡単なのですが、c++で欲しい感じのcsvライブラリが無かったので作りました。 次のようなファイルを ,x,y 0,1.1,1.00E+00 1,1.2,2.00E+…

Pythonでシリアル通信から標準出力へ

Arduinoやmbedなどでセンシングした値をシリアル通信で確認するのは簡単なのですが、保存に少しつまづいたのでメモ。 シリアル通信で送られてきた値を確認する方法はArduino IDEのSerial Monitorやscreenコマンドを使う方法など色々あります。 Mac の screen…

Learn to Build Modern Web Apps with MEANを終えて

以前、MEANスタックの勉強を投稿してからLearn to Build Modern Web Apps with MEANで学習をはじめましたが、2週間ぐらいかけてようやく一通り終わりました。 一通り参考になったサイトを列挙。 ▶チームラボオンラインスキルアップ課題 チープラボの3ヶ月集…

第三回匠の駅シンポジウムに参加

先日「第三回匠の駅シンポジウム」に発表者として参加させていただきました。 かなりローカルな発表会でしたが、製作中の物についてお話させていただきました。 「作ろうとしているものはどんな物か」をしっかり伝えたのは始めてだったので、良いフィードバ…

ARで3Dアトラクタ

3次元の図形を確認する時には「回転・移動・拡大」という操作をします。 マウスやキーボードで操作するには少し“慣れ”が必要なのですが、 3Dプリンタで印刷する以外にもARを使った方法があると思うので作ってみました。 今回はローレンツアトラクタを視覚化…