FC2ブログ

迷走の果て・Tiny Objects

迷走する日々の覚え書きです。自分で分かってることは省略してますので、念のため。

ダイソー回転台をステッピングモーターで回す。(1)

ダイソーで直径25センチの回転台を手に入れました。これをモーターで回転させて店の飾りに使えないかと思いつきました。
モーターは28BYJ-48 を使います、ドライバーとともにアマゾンで入手しました。

ネットで調べると既に何人かの人がやっておられます。
Arduinoとステッピングモータで100均のターンテーブルを回す
電動ターンテーブルの製作
緊急クエスト -電動回転台を製作せよ-

いずれの方法も回転台の縁にギアなどを押し付けて回しています。
同じ方法では面白くありません。
回転台をバラして考えているうちにモーターのシャフトを直接回転台の上面につなげてはどうかと思いつきました。

ダイソー回転台_上側穴回転台上面のねじ穴。


ダイソー回転台_下側モーター取り付けモーターは回転台下面にねじ止めします。


ダイソー回転台_下側モーターシャフト回転台下面から見えるモーターシャフト。
このまま上面を乗せてもねじ穴が大きいので空回りするだけでした。


ダイソー回転台_結束用面テープあれこれ試して、ど~にかたどり着いたのがこれ。
結束用面テープ、いわゆるマジックテープです。


ダイソー回転台_結束用面テープ接着5ミリx15ミリに切り、接着剤で貼り付け、上面を押し込みます。
簡単に書いてますが、幅と長さは試行錯誤して求めました。
ぴったりとはまっているわけではないのですが、目的からすれば問題ありません。
ここら辺はもう少しちゃんとしたいところです。



無水アルコールを乗せて回してみました、満タンではないのですが約310グラムあります。


ダイソー回転台_arduinoとモータードライバ制御にはびんぼうでいいのにブートローダー書き込み済みATMega328を載せたものを使ってます。ボードデータはArduino Fio相当です。
モーターの電源にはLS-TTL時代に作ったのを使いました、アナログ式ですが電流計が付いていますので。
モーター回転時は約300mA流れました。


スケッチは
ステッピングモーター(28BYJ-48)の動かし方 (ULN2003A使用)
を参考にさせていただきました。
時計回りに一回転して3秒停止、反時計回りに一回転して3秒停止を繰り返します。
モーター停止時にはモーターをオフにしてます。消費電流を抑えるのとモーターの発熱を抑えるためです。


/*
2018/10/01
ダイソー回転台をステッピングモーターで回す
edy
*/
#include <Stepper.h>

#define motorSteps 32

Stepper myStepper(motorSteps, 8,10,9,11);
void setup() {
myStepper.setSpeed(300);

Serial.begin(9600);
Serial.println("Start Test");
}
void loop() {
// 時計回りに1回転(2048パルス)
Serial.println("Forward");
myStepper.step(2048);
//停止時にモーターへの電流をとめる
stopMotor();
delay(3000);

// 反時計回りに1回転 (2048パルス)
Serial.println("Backward");
myStepper.step(-2048);
//停止時にモーターへの電流をとめる
stopMotor();
delay(3000);
}

// モーターへの電流を止める
void stopMotor() {
 digitalWrite(8, LOW);
 digitalWrite(9, LOW);
 digitalWrite(10, LOW);
 digitalWrite(11, LOW);
}



とりあえずここまで。
スポンサーサイト

ダイソー:笑いながら光るかぼちゃ

ダイソーで見つけました、笑いながら光るかぼちゃ。200円也(税別)
笑って光るかぼちゃパッケージ

早速分解、電池はLR44 三つ。
笑って光るかぼちゃ分解

こんな風に笑って光ります。

光り方はチープですが、笑い声は使えます。
問題はエンドレスに笑いながら光ること。電流を測ったらピークで90mAほどあります。
これではすぐに電池がなくなりますが、大きな容量の電池に交換すればいいだけです。

笑いっぱなしでは面白くないのでセンサーを使って人が近づいたら笑うようにするか、タイマーで数秒から数十秒おきに笑うようにすればいいでしょう。
人感センサーならパナソニックの NaPiOn かな~。秋月では同じくパナソニックの PaPIRs を売ってますが、送料がねぇ。(当方、大阪なので)
ちなみに PaPIRs と NaPiOn の違いはこちら

LEDは別に光らせたほうが良いでしょうね。

さて、どうしましょうか。

デジタルタイマーAPT70

かぼちゃの電飾を店に飾りました。
意外に好評だそうで、写真を撮る人や、動くのでびっくりした人もいるそうです。
それはいいのですが店の開店時間は平日は午前7時から午後10時まで、土日は午前7時から午後8時までとなってます。
閉店時間中は電飾を消しておきたいんです。
ならタイマーがあればいい。Arduinoと RTC、LCD にスイッチを使えば作れるかもしれないけど、時間がかかりそうなので市販品を探していたら、適当なのが見つかりました。
デジタルタイマーAPT70

APT70正面
APT70斜め後ろ

14個までプログラムを設定できます、しかも秒単位で。
曜日設定も
毎日、各曜日、平日(月~金)、休日(土、日)
と選べるので私の目的にはぴったりです。

ちょっと厄介なのがプログラムの設定方法です。取扱説明書がいささか難解でして、何度か失敗しました。
もう少し丁寧に書いて欲しいものです。アマゾンのレビューでも設定が面倒と言う書き込みがありました。
とはいえ便利です。
同じようなものを自作する気が失せました。

ハローウィンの電飾2018年版(2)

店に持っていって仮設置。
かぼちゃの上にあるのはサーボモーターです。これで90度首振りをさせています。
かぼちゃ電飾仮設置1 かぼちゃ電飾仮設置2

サーボモーター制御基板、実は昨年も首振りをさせたました。そのときに作った基盤ですが、Arduino NANO から Pro Mini に変更しました。
かぼちゃ電飾・サーボモーターと制御回路
と言うわけでこの電飾には贅沢にも(汗)Arduinoを三つも使ってます。

家での首振り実験の様子。

ハローウィンの電飾2018年版(1)

昨年のハローウィン用電飾に使ったかぼちゃに今年はWS2812ringを使ってみました。
実験段階ですので両面テープで貼り付けただけです。

かぼちゃ電飾1

制御基板です。
aiendoさんの あちゃんでいいのver1. とスイッチサイエンスさんのブートローダー書き込み済みATMega328 を使っています。
最近はNANOやProMini互換機を使うばかりで放置したままのを引っ張り出してきました。
二つ使ってますが、二つのLEDリングを独立して制御しようと思ったからです。

かぼちゃ電飾_制御基板

自分でWS2812を制御するプログラムなんて書いてるヒマも能力も無いので、ここではFastLEDライブラリーを使いました。
サンプルが豊富で、その中のColorPaletteをちょっといじって実験中です。
オリジナルのままだと眩しすぎるので輝度を落としたり、スピードを変えたりしています。
表示パターンもいろいろと変えてみたいのですが、ライブラリーの使い方をまだ理解していないのでとりあえずこのままです。
9月半ばには店の飾り付けをするというので、それまでに間に合わせなければ。
でもハローウィンって10月の終わりですよね、気が早すぎるといつも思います、まぁスーパーマーケットはたいていこんなものですが。


obniz(8)obnizフォーラム開設、obnizはクラウド経由のI/Oポート。

● obnizフォーラムが開設されました。
ほとんど英語なのは何とかならんでしょうか。読めないわけじゃないんですが。(^^;;)


● obnizはクラウド経由のI/Oポートだということにやっと気づきました。

LED一つ点灯させるにもパソコンやスマホからクラウド経由でobnizに指令を送り、受け取ったobnizがLEDを点灯させる。
obnizに接続したスイッチを押せばクラウド経由でパソコンやスマホに送られる。

これって反応速度が問題になる用途ではちょっとしんどいんじゃないかな?ここら辺のことはあまり詳しくないんですが。

obnizにプログラムは書き込めないということです。
先のobnizフォーラムから→FAQ→Program→Can we program Obniz directly (without cloud)?
にあります。
やりたければobnizの右側にあるデバッグポートからできるようですが、サブのPIC16F18875の面倒まで見なきゃならないので私には到底無理です。
第一、回路図公開されてませんし。

今のところobnizをどう使っていいのかちょっと思いつきません。

実はM5Stackに食指が動いてます。まぁまだ先のことですが。

obniz(6)obnizがマイナーアップデートされるらしい。

Three month past and minor update of obniz board is coming
VCCノイズを減らすため一部のパターンを変更するようです。

初期バージョンでVCCノイズを減らすためには
VCC noise reduction of first version of obniz
J1端子に100μFぐらいのキャパシタをつけろってことです。

既にやりました。
VCC_GND_200μF取り付け

付けないよりは減ってますが、それでもこうなってます。
VCC_GND_200μF

先のリンクより一部引用します。

If you are using analog temperature sensor, then you will get a randomly moving result around correct temperature.


(LM35のような)アナログセンサーをつなぐと結果がばたつきます、とあります。
ということは、それを承知の上で初期バージョンを売りだしたってことですかね。
まさか知らなかった?まさかね。

【追記08/02 16時】
この件についてツイッターで(ちょっと皮肉っぽく^^;;)つぶやいたら、早速返信がありました。
こういう時の反応の早さは好感が持てます。(皮肉じゃなく)

全文掲載します

それがいつもそうなるわけではなく、Macbookなどにつなぐと起きていませんでした。それで発見も遅れました。つなぐ相手によるのでアダプタの問題かと思ったのですがどうも起きることの方が多いとわかったので相性をなくせるよう改善することにしました。


MacbookのUSBポートからobnizに電源供給した場合には起こらなかった、ということでしょうか。
だとすればMacbookのUSBポートって何か特別な機能でもあるんでしょうか。持ってないのでわかりませんが。
ちょっと理解できません。
この件、とりあえず保留。

obniz(5)電源ラインのリプル・LM35・LED

猛暑にやられて思うように実験が進みません。

obniz基板左下にある電源入力端子に電線つないでオシロで観測しました。
obniz IDとQRコードが表示された状態での電源リプル観測のためです。
obniz_電源測定

予想通り前と変わりません(当たり前か) Y軸100mv/p-p
obniz_電源リプル

試しに電源端子に220μFの電解キャパシタを入れてみました。リプルは半分ほどにはなりました(写真撮りわすれました)

obniz block programming の potentiometerを試してみました。(ディレイは1秒に変更してあります)
500Ωの半固定抵抗をつなぎ、ポジションはほぼ中央とした時の動画です。
予想通りバタついてます。電源ラインのリプルがあれでは無理ありません。


次は遠隔エアコン操作です。
IR モジュールはつけていません。前の記事のようなフィルタは付けずにLM35を直接つないでいます。
予想通り温度表示がばたつきます。


最後はフルカラーLEDを使った時計です。
オリジナルのままだと表示がはみ出てしまいました。

プログラム中の
obniz.display.font('Avenir', 50)
の50を40に変更しました。
13時1分を表示しているのですが、これは01と表示して欲しいところです。
なおLEDはAliExpressで購入しました。
obniz_clock.jpg

試したのはあくまでサンプルプログラムですので、ちょっとどうかと思うところもあります。
特にアナログ入力のバタつきは何とかしたいところです。アナログ派としてはあんなにバタついたのではお話になりません。
前の記事でも書きましたが、ちゃんとAD変換したければ外付けADCを考えないと・・・。

obniz(4) obnizをブレッドボードに載せる・ブロックプログラミングでLM35を使ってみる

先の記事でブロックプログラミングのon start内でpauseが無効になる件についてobnizさんから修正したと知らせがありました。
ありがとうございます。

実験を進めるためにobnizをブレッドボードに乗せてみました。
手持ちにあったL型のピンヘッダを使いました。(クリックで拡大)
obniz_BreadBoard.jpg

obnizにつなぐ側のピンが短くてちゃんと使えるかどうか心配でしたが、とりあえず使えました。
温度センサーのLM35をブレッドボードに乗せてます。(クリックで拡大)
obniz_BreadBoard_LM35_20180721120830a15.jpg

一応回路図です。
obniz_LM35_2.png

さてブロックプログラムでのLM35の使い方です。
obnizのブロックプログラムにはLM35は(今のところ)用意されていません。
(クリックで拡大)
obniz_blockprograming_sensor.png

自分で作る必要があります。
要はLM35に電源を用意し、出力を読み取って表示すればいいはずです。
1度で10mVですから、出力を100倍すればいいわけです。
ブロックプログラムです。(クリックで拡大)

on start で
output io9 OFF
output io11 ON
としていますが、OFFで0V出力、要するにGNDとなります。
ONで5V出力です。これをLM35の電源としています。
Foreverループ内で10回の平均化をしているのは表示が暴れるためです。しないと5度近くも表示がばたつきます。
10回の平均化でも2度ほどバラつきます。
何故こうなるのかLM35出力とVCCをオシロスコープで観測しました。

X軸20μS/div、Y軸100mV/div
上 LM35出力
下 VCC
VCCに500mVp-pほど、LM35出力に100mVp-pほどのリプルが見られます。
obniz_BreadBoard_LM35_リプル

試しにVCCにフィルタ追加してみました、R=470Ω、C=22μF
これでもLM35出力にはリプルがのこります、何故でしょうか?
obniz_BreadBoard_LM35_リプル_VccFilter

LM35を外してみました、これは単にobnizポートの10ピンを見ていることになります。
リプルが乗ったままです。
obniz_BreadBoard_LM35リプル_VccFilter_LM35外す

入力がオープンのままなのが良くないのか、低インピーダンスで駆動すればいいのかもしれません。
ちなみにLM35の出力段はどうやら低インピーダンスではなさそうです。オペアンプのボルテージフォロアでも噛ませばいいのかもしれませんが、まだ試してません。
というかそこまでするならI2C接続の温度センサーを使ったほうがいいように思いますが、ブロックプログラムでは(今のところ)できません。

とりあえず、ここまで。
ここしばらくの暑さにやられて思うに実験が進みません。


obniz(3) ブロックプログラミング

obnizはJavaScriptでプログラムするようですが、全く知識がありません。
ありがたいことにネットを探せばいろんなサイトが見つかります。
杜甫々さんのとほほのJavaScriptリファレンスで勉強を始めたばかりですが、時間がかかりそうです。

幸いobnizではブロックプログラムもできます。
月に二回ですが子供向けロボットプログラミング教室で教えています、そこではブロックプログラムを使っていますので、とりあえずブロックプログラムでobnizを試してみます。

いくつかのサンプルを試した後に↓のようなプログラムを作ってみました。(クリックで拡大)
obniz_blockPgm2.jpg

最初に
2行文字を表示、変数numをゼロにセット、5秒待つ。

ループ内で
表示クリア、平方根を表示、numをインクリメント、1秒待つ。
ちなみに表示クリアしないと4行表示してから表示が変わりません、スクロールアップはしないようです。

実行中の画面です。(クリックで拡大)


√54を表示しているところです。関数電卓アプリで確かめましたが全桁合ってます(当たり前か)
やるじゃないか、と言いたいんですが、ひとつ問題があります。
on start内で5秒待つにしてるはずなのですが、待たずにすぐforeverループに行ってしまいます。
時間を変えても駄目でした。
これは仕様なのか、バグなのか、それとも私がなにか間違っているのか今のところ不明です。
obnizさんに問い合わせておきました。

 | HOME |  古い日記に行く »

文字サイズの変更

プロフィール

edy

最新記事一覧(サムネイル画像付き)

ダイソー回転台をステッピングモーターで回す。(1) 2018/10/01
ダイソー:笑いながら光るかぼちゃ 2018/09/15
デジタルタイマーAPT70 2018/09/14
ハローウィンの電飾2018年版(2) 2018/09/08
ハローウィンの電飾2018年版(1) 2018/09/02
obniz(8)obnizフォーラム開設、obnizはクラウド経由のI/Oポート。 2018/08/19
obniz(6)obnizがマイナーアップデートされるらしい。 2018/08/02
obniz(5)電源ラインのリプル・LM35・LED 2018/07/29
obniz(4) obnizをブレッドボードに載せる・ブロックプログラミングでLM35を使ってみる 2018/07/21
obniz(3) ブロックプログラミング 2018/07/15

全記事表示リンク

全ての記事を表示する

リンク

このブログをリンクに追加する

月別アーカイブ

10  09  08  07  06  05  04  03  02  01  12  11  10  09  08  07  06  05  04  03  02  01  12  11  10  09  08  07  06  05  04  03  02  01  12  11  10  09  08  07  06  05  04  03  02  01  12  11  10  09  08  07  06  05  04  03  02  12  11  10  09  07  05  04  03  04  03  01  12  11  10  08  07  06  05  03  02  01  12  11  10  09  08  07  06  05  04  03  02  01  12  11  10  09  08  07  06  05  04  02  01  12  10  09  08  07  06  05  04  03  02  01  12  11  10  09  08  07  06  05  03  02  01  12  11  10  09  08  07  06  05  04  03  02  01  12  10  09  08  07  06  05  04  03  02  01 

カテゴリ

プログラミング (0)
freescale (1)
AVR (3)
テルミン (16)
緊急警報放送 (3)
78K (1)
PSoC (295)
地上デジタル放送 (2)
電子工作 (461)
HX711 (2)
ACS712 (6)
DDS (3)
数学 (6)
パソコン (12)
PLC (14)
未分類 (40)
ブログ関係 (20)
スカイプ (37)
ロボット (1)
LTSpice (8)
OCXO (0)
arduino (33)
maxima (1)
フランクリン発振回路 (3)
GPS (3)
DTMF (1)
Linux (1)
KOMAINO (7)
Android (1)
obniz (7)

タグリスト

最近のコメント

最近のトラックバック

メールフォーム

名前:
メール:
件名:
本文:

検索フォーム

アクセス

RSSリンクの表示

ブログリンク

FC2Ad

まとめ

Template by たけやん