もよいめも

不定期更新ものづくりブログ

【Fusion360】Fusion360で基板設計~第1回「ライブラリーをつくろう①」~

最近Fusion360で基板のライブラリーを作っているのですが、作り方がまあまあややこしいので、今回はそれについてまとめて置こうと思います。
なお、例のごとく内容は雑です。わからないところがあればどんどん書き足していきますのでコメント下さい。

続きを読む

【Raspberry Pi Pico】 Arduino IDEでI2cを動かしたい!

割と前に登場していたRaspberry Pi Picoですが、ついに私の手元にもやってきましたので色々試してみました。
開発環境はもちろんArduino IDE!(Arduino IDE 2.0.0 beta8)。割とそのまま使えるという噂を聞いていまいたので、使い慣れた環境で開発してました。

噂通り、大体のプログラムも、ライブラリーもそのままで動きましたが、意外と引っかかったのがまさかのI2c...

まだ出て間もないせいか、調べても「これだ!」という結果はなかなか見つかりませんでした。

ということで、Arduino IDEでのRaspberry Pi Pico開発の繁栄を願ってこの記事を書いております。

宣伝

Raspberry Pi Picoのシリアル通信(UART)、PIO、SDカード等々、色々まとめてあるのでぜひご覧ください!
moyoi-memo.hatenablog.com
moyoi-memo.hatenablog.com
moyoi-memo.hatenablog.com

続きを読む

【Arduino】シリアル通信でラジコンもどきを作る!

さあ、前回に続きまして今回はシリアル通信の応用として、Arduino間シリアル通信を用いた有線ラジコンを作ってみようと思います。
ちなみに、こんな感じになります。

続きを読む

Pixel 4a 200日使用レビュー ~気になるのは防水くらい?~

スマホをpixel 4aにしてから200日ほど経ちました。
今回はpixel 4aを使ってきて感じたあれこれを紹介しようと思います。

続きを読む

3Dプリンターとレーザーモジュールで基板加工!~加工データ作成の巻~

気温も下がって秋を感じている今日この頃ですが、皆様どうお過ごしでしょうか?
わたくしはひたすら家にこもっております。
これはモノづくりがはかどるっ

結局公開は春休み中となってしまいましたが
今回は3Dプリンター(Ender3 V2)とレーザーモジュールで基板加工をしてみたので紹介したいと思います。

続きを読む

Seeeduino Xiaoでi2cを使おうとしたらコンパイルエラーが!!

Seeeduino Xiaoサイコーですよね。
あのコインサイズで強力なCortex-M0を搭載
さらにコネクターもタイプCなのでいちいちMini-Bケーブルを探してこなくて済みます。
↓以下公式の販売ページ、秋月やamazonでも購入できる&激安なのでマジおすすめです
jp.seeedstudio.com


しかしながら本日Seeeduino XiaoでMPU6050を使おうとサンプルログラムを書き込もうとしたところコンパイルエラーが!!

なんてこった

続きを読む

Arduinoへの入力電圧(9V)を測定してみた

Arduinoを9V角電池で動かそうと考えているのですが、
その時に角電池の電池残量を測りたいのです。
そこで電池の電圧を測ることにしました。

しかしながら、Arduinoのアナログピンの最大計測電圧は5Vなので
そのままアナログピンに突っ込んでも測れません。

そこでそこで今回は、分圧則を利用して
アナログピンにかかる電圧を二等分して計測していこうと思います。

f:id:moyoi:20200315223601j:plain
トップの写真用

配線

まあ単純に同じ抵抗値の抵抗器を挟んだけです。
なお、今回はそこらへんに転がってた51kΩを使いました。

配線図ですが、LCDは諸事情で付けられなかったので以下の記事を参考にしていただければと思います。
moyoi-memo.hatenablog.com

f:id:moyoi:20200315221439p:plain
配線の仕方

プログラム

プログラムはまあ適当に作りました。
0.0097という値もテスターの測定値になるべく近づくように適当に調節しただけです。
なので、9vあたりは誤差はないですが5vあたりでは結構ずれます。
そういえばアナログ値をfloatに代入しているのは、なぜかそうしないと値が四捨五入されちゃうからです。

#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);//アドレスは「0x27」と「0x3F」の場合があります

void setup()
{
  lcd.init();
  lcd.backlight();
}

float a = 0;

void loop()
{
  a = analogRead(6);
  lcd.setCursor(2, 0);
  lcd.print(a*0.0097);
}

余談

動画も撮りました。

ブログ用、Arduinoへの入力電圧を測定してみた

かなり雑な記事で申し訳ございません。突然思い立って実践してうまくいったので、その流れでブログを書いているので勘弁してください。
すぐに記事にしてしまわないと一生完成しなさそうなので…
まあ、気が向いたら書き直そうかとおもいます。

【Arduino】MCP23017を複数使って、デジタルピンを最大128増やす

現在、ライブラリが更新され、従来のプログラムがそのまま使用できなくなっています。新バージョンは以下にまとめてあります

moyoi-memo.hatenablog.com


皆さん、Arduinoのピンの数たりてますか?
普段は十分足りてますが、本格的なものを作ろうとするとどうしても足りなくなってしまいます。

そこでこの「MCP23017」というICです。
akizukidenshi.com
このICはI2c通信で、プログラム上もかなり簡単にピンを増やすことのできるICです。今回はこのICについて詳しく書いていこうと思います。

ちなみにSPIで通信する「MCP23S17」もありますが、今回は割愛します。

配線の仕方

まずは配線。
以下の画像の通りに配線してください。(この場合アドレスは0x00)
Arduino nanoを使用する場合はA4がSDA、A5がSCLです。

f:id:moyoi:20200313101650p:plain
配線の仕方(画像はデータシートより)

f:id:moyoi:20200314112049p:plain
配線の仕方
なんとも適当な配線ですがつまりはMCP23017のGPB0をタクトスイッチに、GPA7のLEDにつないでるだけです。

ちなみにプログラム上のピンの番号はこちら

GPB0 8 GPA7 7
GPB1 9 GPA6 6
GPB2 10 GPA5 5
GPB3 11 GPA4 4
GPB4 12 GPA3 3
GPB5 13 GPA2 2
GPB6 14 GPA1 1
GPB7 15 GPA0 0
f:id:moyoi:20200313101650p:plain
見やすいようにもう一枚

プログラム

ライブラリー

こちらからライブラリーをZIP形式でダウンロードします。
(バージョンが1.3.0以下のものをダウンロードしてください)
github.com
そして、Arduino ideのメニューのスケッチ→ライブラリーをインクルード→zip形式のファイルをインストールからダウンロードしたファイルを選択します。ソフトを再起動させれば導入は完了です。

プログラム

今回はタクトスイッチを押したときにLEDが点くプログラムにします。
もちろんこのICはデジタルピンを増やせる奴なので、アウトプットもインプット、さらにプルアップもできます。

ちなみに、ライブラリをインクルードする文でエラーを吐くこともあるそうなので、そういう場合は以下の文に置き換えてみてください。
これ↓

#include <Adafruit_MCP23017.h>

プログラムはこれ↓

#include <Wire.h>
#include "Adafruit_MCP23017.h"

Adafruit_MCP23017 mcp;

void setup() {
  mcp.begin(0x00);

  mcp.pinMode(7, OUTPUT);
  mcp.pinMode(8, INPUT);
  mcp.pullUp(8, HIGH);//これでプルアップ
}


void loop() {
  if (mcp.digitalRead(8) == LOW) {
    mcp.digitalWrite(7, HIGH);
  } else {
    mcp.digitalWrite(7, LOW);
  }
}

複数のMCP23S17を使う場合

右下の3つの端子(A0~A2)はアドレスを指定するためのピンなので
複数のMCP23017を使用する場合はそれぞれ別の場所につなぐようにしてください。
また、ピンとアドレスの関係は以下の図にまとめてありますので参考にしてください。
最大8つのMCPを接続できることになるのでフルに使ったら128ものデジタルピンを増やせることになります。(やったことがないので通信速度とかに問題が出るかもしれませんが)
ちなみに0がGND、1が5Vです。

A0 A1 A2 アドレス
0 0 0 0x00
1 0 0 0x01
0 1 0 0x02
1 1 0 0x03
0 0 1 0x04
1 0 1 0x05
0 1 1 0x06
1 1 1 0x07

2つのMCP23017を使う場合はこんな感じです。
ちなみに大量にLチカするプログラムです。

#include <Wire.h>
#include "Adafruit_MCP23017.h"

Adafruit_MCP23017 mcp1;
Adafruit_MCP23017 mcp2;

void setup() {
  mcp1.begin(0x00);
  mcp2.begin(0x01);
  for (int i = 0; i <= 15; i++) {
    mcp1.pinMode(i, OUTPUT);
    mcp2.pinMode(i, OUTPUT);
  }
}

void loop() {
  for (int i = 8; i <= 15; i++) {
    mcp1.digitalWrite(i, HIGH);
    delay(20);
    mcp1.digitalWrite(i, LOW);
  }
  for (int i = 8; i <= 15; i++) {
    mcp2.digitalWrite(i, HIGH);
    delay(20);
    mcp2.digitalWrite(i, LOW);
  }
  for (int i = 0; i <= 7; i++) {
    mcp2.digitalWrite(i, HIGH);
    delay(20);
    mcp2.digitalWrite(i, LOW);
  }
  for (int i = 0; i <= 7; i++) {
    mcp1.digitalWrite(i, HIGH);
    delay(20);
    mcp1.digitalWrite(i, LOW);
  }
}


ブログ用、MCP23017とArduinoで大量Lチカ

余談

Mcpの記事って結構書いている人いるんですよね、
そのせいかわかりませんがGoogleで検索しても全然この記事が出てこないんですよ。
もはや弾かれてるんじゃないかってレベルです。
まあ心あたりはありまして、文字数が少ないのが原因なんじゃないのかにらんでいます。
ということでこの余談を付け足してるんですよね。
自分で頑張って書いた記事が見てもらえないことは悲しい事です、これで見られるようになったらいいんですが...

なんか最近は結構上位に出るようで嬉しい限りです!

と言うことで皆さん、良きArduinoライフを!

【Arduino】LCDにi2cでカタカナを簡単に表示させる方法

2021/2/13 表のタが\xv0になっていたので\xc0に修正しました

みなさんLCDって使ってますか?
I2c変換基板を買えばたったの4線で表示できちゃうし、
プログラムも簡単なのでとっても便利です。

しかし、LCDにカタカナを表示させたい場合は、
文字コード」を直接指定してあげないと表示できません。
なので今回は、LCDの使い方とカタカナの表示方法を書いていこうと思います。

続きを読む

G533ヘッドセット 一ヶ月使用後レビュー

 久々のブログ更新、今回は一ヵ月前に購入したLogicoolのゲーミングヘッドセット「G533」のレビューをしていこうと思います。

G533のスペック

・DTSHeadphone:X7.1サラウンド対応
・最長15時間連続使用可能で交換もできるバッテリー(1100mAh)
・2.4GHz帯でワイヤレス通信(15m届くらしい)

その他箱の横に書いてあったこと

ドライバー:Pro-G 40mm
周波数特性:20Hz~20kHz
インピーダンス:32Ω
感度:107dB SPL/mW

マイク集音特性:カーディオイド(単一指向性)
マイク駆動方式:圧力勾配エレクトレットコンデンサ
マイクサイズ:4mm
マイク周波数特性:100Hz~20kHz

パッケージ内容

・本体
f:id:moyoi:20191019204344j:plain

・USBワイヤレスアダプタ
f:id:moyoi:20191019204409j:plain

・無駄に長い2mのUSB充電ケーブル(micro-B)
f:id:moyoi:20191019204431j:plain

・色んな紙

非常にシンプルです。

使用しての感想とか

装着感

ヘッドホンは今回のものとソニーの2000円ヘッドホンしか持ってないのでいまいちどうなのかわからんですが
使っていて特に不愉快な点はありません。イヤーパッドと頭に当たる部分も布製でふわふわしています。↓
f:id:moyoi:20191019205020j:plain
f:id:moyoi:20191019205041j:plain

頭を動かしてもずり落ちませんがきついと感じないほどの良い締め付け具合で、
重さを測ったらほぼ350gでそこまで重みも感じませんでした。

音質

正直初期状態での音質では音楽は楽しめません、なんというか音源が遠くてこもった音がします。
しかしご安心を、専用のソフトでいじれば十分いい音が出ます。
少なくともSONYの2000円ヘッドホンよりもいい音は出てる感じで、ヘッドホンを耳に押し当てると低音の広がりを感じられます。気持ちいいです。

まず7.1サラウンドを切ります。こいつのせいで音源が遠く聞こえるようです。
f:id:moyoi:20191019211204j:plain

イコライザーは結構細かくいじれ、ついでに本体に保存しておけます。
f:id:moyoi:20191019211326j:plain

操作性

ヘッドセット本体には
1:電源スイッチ
2:自由に機能を割り当てられるスイッチ
3:音量調節ダイヤル
の3つのスイッチがあります。
2の自由に機能を割り当てられるスイッチでは、キーボードの好きなスイッチを割り当てることができ、同時押しにも対応しています。
3の音量調節ダイヤルはpc本体の音量を変更するタイプです。
また、マイクを跳ね上げるとミュートにできる機能も付いています。
f:id:moyoi:20191022191857j:plain

外観

全体がブラックに統一されていて、一部が鏡面になっています。指紋が付きやすいですが、まあ高級感はあります。
また、LEDは電源スイッチの上のみで、目立たずシックな雰囲気です。
f:id:moyoi:20191022192914j:plain

電池

本体の電池容量は1100mAhと少なめな感じがしますが、消費電力は70mAhほどらしく、使った後ちゃんと充電していれば途中で切れることはないと思われます。
f:id:moyoi:20191022184745j:plain

そういえば電池交換が非常に簡単で、右側面の板をくるっと回せば、すぐにバッテリーパックにアクセスできちゃいます。
f:id:moyoi:20191022185140j:plain

でも毎回充電するのって面倒ですよね。
そういう人におすすめなのがマグネット式の充電ケーブルです。
今回買ったケーブルはAmazonのレビューで見つけた少々値段の高い製品ですがなかなか便利です。

しかしこのケーブル、端子がマグネットでそこら中にくっつくのでショートしそうで怖いんですよね、
そこで私は手元にあった木材で適当なスタンドを作ってみました。

f:id:moyoi:20191022191624j:plainf:id:moyoi:20191022191640j:plain
結構いい感じじゃないですか?置くだけで充電されるのでめちゃ便利です。

まとめ

どうやらLogicoolから新しいヘッドセットも出ているようですが、こちらのほうが評価は高いのでG533のほうがいいのかもしれませんね。
しかしながらかなりゴツかったり、7.1CHを切り替えるためにいちいちソフトで切り替えしなきゃいけなかったりと不満はあります。
とは言っても、この商品は自分が買ったときは11661円で、個人的には十分にその価値のあるものだと思いました。