編集履歴一覧に戻る
MOZIのアイコン画像

MOZI が 2021年01月15日17時11分51秒 に編集

コメント無し

本文の変更

初めに ==== 皆さんこんにちは!MOZI電子工作です!

-

今回はバーサライトを作成したのでそのことについて書きたいと思います!(というかブログの感じで「今回は」とか書いたけど、大丈夫か?)

+

バーサライトを作成したのでそのことについて書きたいと思います!

急にelchikaに書いた理由 ====

-

つもは自分のブログに書いていたで今回も自分ブログに書けばいいんじゃない?と思う人もいると思うのですが、まず一つの理由とブログのバックアップがエラーをはいてできていないとか、ブログ内に分のブログのサイトのURLどうやっても貼り付けられないとかいろいろ原因不明な不具合が起こっちゃったとと、もう一つが、このelchika「ハードウェア作品投稿キャンペーン」という「秋葉原2021」というタグをつけてハドウェア作品についての投稿するたびにプレゼントがもらえるという超太っ腹なキャンペーンをやってるらしく、こキャンペーンの商品がやばいのです(語彙力消失)。いろいろなお馴染みのお店(秋月とかマルツとか)から賞品が出ていて、それが、普通に5000円~ののばかりでですね、少し条件は厳しいですがこさえクリアすればもれなく全員に賞品がもらえるとは書いてあるのですが、いまだに私は信じられていません。マジで?破産するぞと思ってます(笑)で、これは逃せまいとこの記事を書いたという理由もあります(こっちの理由のほうが絶対でかいんだけどね(笑))

+

突然ですが、このelchikaとうところに書はなぜか。 一つ大きな原因は、ブログサーバーが(フリーのサーバーを使っているのですが)少動きが怪しくバックアップが取れないとか、サイトのリンク機能しないとかいろいろ起こっこのelchikaに移行しようとしている、という理由。 それともう一つ「ハードウェア作品投稿キャンペーン」というキャンペーンをやってるという理由。そのキャンペンが投稿するたびにプレゼントがもらえるという超太っ腹なでマジでやばいのです(語彙力)。なく全員に賞品がもらえるとは書いてあるのですが、いまだに私は信じられていません。マジで?破産するぞと思ってます(笑)

+

これとほぼ同じ内容の記事がMOZI電子工作ブログというブログにありますが、少し時間がたったので文章の見直しをかけ、少ない語彙力で再編集しています。

バーサライトの構想 ====

-

まずバーサライとは何なのか。

+

まずバーサライとは何なのか。 冒頭から、バーサライタ、バーサライト(以下バーサライト)と連呼していますがバーサライトって何ぞや?? と思っている方も多と思います。 バーサライトというのはLEDなどを一列に並べてそれを回転させ絵や文字などを表すという人間の残像を使ったものです。

![http://www.ze.em-net.ne.jp/~kenken/versawriter/index.htmlから引用](https://camo.elchika.com/edfb304b179883071c8c65bcc571382216d4280c/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f32353431346531372d323363332d346539322d616633352d3532663938633138613436332f61653535646332302d613265662d346166352d623964612d613137303032623131326135/)

-

バーサライタバーサライトともいうらしいですがここではバーサライタと表記させていただきます)というのは上の写真のように絵や文字を表示することができるものなのですが、これ実は一本のLEDを高速回転することで表示しています(下の写真参考)。なんかかっこいい!そう思ったはこれを作ると決意します。

+

例えばこれ上の写真) このように絵や文字を表示することができるものなのですが、これ実は一本のLEDを高速回転することで表示しています(下の写真参考)。なんかかっこいい!そう思ったはこれを作ると決意します。

![http://www.ze.em-net.ne.jp/~kenken/versawriter/index.htmlから引用](https://camo.elchika.com/3bd85d4b1ebbfe6478a18b455a275f43f0f69702/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f32353431346531372d323363332d346539322d616633352d3532663938633138613436332f63633865353666302d333938342d346539352d613832642d663335616534363332353463/) この時、なんかこんなものがあるんだ、おもしろそうだなと思ってすぐに部品を集めて作り始めます。(この時は構造をどうすればいいとかいう先人たちのブログなどは全く見ずにです。無計画すぎる。)

-

で、材料がこんな感じ↓ Arduino nano

+

材料 ==== 材料がこんな感じ↓ Arduino nano

 PICとか使えればよかったんだけどプログラミングが全く理解できない(PICKit4買ったのにもったいない)ので慣れているArduino使いました。

-

赤色のLED(3mm)×8

+

赤色のLED(3mm)×8

 8個にしたのはarduinoで使えるドットフォントというものを先人が作っておられた方がいて、そのフォントを使う関係で8個にしました。

-

LED用の抵抗器

+

LED用の抵抗器

 抵抗も8個用意

-

その他

+

その他

 基板とかネジとかモーターとか土台とか色々 回路 ==== 回路自体はシンプルです。ですが、回転するのでマイコンや電池をすべて回転部に納めないといけません。スワップリングという回転部に電源を供給するものもあるのですが、値段が高いです。またワイヤレス給電でもいいのですが回転で使用している例が見つからないので不安定になる可能性があったので電池を内部に仕込んで無難な構造にしました。電池はできるだけ軽くしてモーターへの負荷を軽くするために単5電池を使用しています。ですが、モーターのトルクが大きいようであれば単4電池でも十分動作すると思います。一本で昇圧して5Vにして使用しています。 マイコンはできるだけ軽くしたかったのでPICマイコンを使いたかったのですが、まだプログラムが書けませんでしたので慣れているArduinoNanoを使っています。 回路は以下の感じです。(LEDの抵抗を忘れていました。) ![キャプションを入力できます](https://camo.elchika.com/314bfcb8cde3ad0704d1d077e3e475c5e0880b53/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f32353431346531372d323363332d346539322d616633352d3532663938633138613436332f35653738333632642d656135392d343537332d383038392d336330376533623062663063/) 図の中にある78xxlは秋月電子のこの昇圧モジュールです。http://akizukidenshi.com/catalog/g/gK-13065/ (このモジュールは値は張りますが、便利なので一個はもっておくと便利です。) あと、これを2つのユニバーサル基板に分けて実装しました。そして3Dプリンターで作ったお手製の取り付け具に基板と「FA-130RA」という小型マブチモータを取り付けました。 モーターを単3電池2本で動かします。トグルスイッチもつけておきました。 モーターはモーターについてきた金具を使って木で作った台に取り付けしました。 プログラム ==== ArduinoNanoのプログラムです 今回はフォントをを使ってすぐに変更できるようにしたかったので、Arduino用の美咲フォントというドットフォントを無料で配布している「猫にコ・ン・バ・ン・ハ」さんのライブラリを使いました。 ↓「猫にコ・ン・バ・ン・ハ」さんのライブラリ http://nuneno.cocolog-nifty.com/blog/2019/01/arduino-f426.html そしてプログラムですがこちらになります。

-

調整するような回転数をカウントするようなものは技術的にできなかったので、delayでごり押ししました。モーターの回転の回転数的にdelay(1)ぐらいがちょうどよかったです。(モーターにもよりますが)そして7文字がちょうどよかったです。前にもツイートしましたが、ここでは「STAYイエ」と表示しています。

+

調整するような回転数をカウントするようなものは技術的にできなかったので、delayでごり押ししました。モーターの回転の回転数的にdelay(1)ぐらいがちょうどよかったです。(モーターにもよりますが)そして文字数は7文字がちょうどよかったです。前にもツイートしましたが、ここでは「STAYイエ」と表示しています。(STAYHOMEって表示したかったけど、文字数的にできなかったので許してください。次作るときは何とかします。)

```arduino:バーサライタで「STAYイエ」と表示するスケッチ #include <misakiUTF16.h> int LED_pin[7] = {2,3,4,5,6,7,8}; char font[8]; // フォント格納バッファ char fon; void setup() { Serial.begin(115200); for(int i=0;i<7;i++){ pinMode(LED_pin[i],OUTPUT); } } void loop() { getFontData(font, "S"); // フォントを取得 for (uint8_t col=0; col<8; col++) { for (uint8_t row=0; row<8; row++) { fon = (0x80>>col) & font[row] ? '1':'0'; if( fon == '1'){ digitalWrite(LED_pin[row],HIGH); }else{ digitalWrite(LED_pin[row],LOW); } } delay(1); } getFontData(font, "T"); // フォントを取得 for (uint8_t col=0; col<8; col++) { for (uint8_t row=0; row<8; row++) { fon = (0x80>>col) & font[row] ? '1':'0'; if( fon == '1'){ digitalWrite(LED_pin[row],HIGH); }else{ digitalWrite(LED_pin[row],LOW); } } delay(1); } getFontData(font, "A"); // フォントを取得 for (uint8_t col=0; col<8; col++) { for (uint8_t row=0; row<8; row++) { fon = (0x80>>col) & font[row] ? '1':'0'; if( fon == '1'){ digitalWrite(LED_pin[row],HIGH); }else{ digitalWrite(LED_pin[row],LOW); } } delay(1); } getFontData(font, "Y"); // フォントを取得 for (uint8_t col=0; col<8; col++) { for (uint8_t row=0; row<8; row++) { fon = (0x80>>col) & font[row] ? '1':'0'; if( fon == '1'){ digitalWrite(LED_pin[row],HIGH); }else{ digitalWrite(LED_pin[row],LOW); } } delay(1); } getFontData(font, "イ"); // フォントを取得 for (uint8_t col=0; col<8; col++) { for (uint8_t row=0; row<8; row++) { fon = (0x80>>col) & font[row] ? '1':'0'; if( fon == '1'){ digitalWrite(LED_pin[row],HIGH); }else{ digitalWrite(LED_pin[row],LOW); } } delay(1); } getFontData(font, "エ"); // フォントを取得 for (uint8_t col=0; col<8; col++) { for (uint8_t row=0; row<8; row++) { fon = (0x80>>col) & font[row] ? '1':'0'; if( fon == '1'){ digitalWrite(LED_pin[row],HIGH); }else{ digitalWrite(LED_pin[row],LOW); } } delay(1); } getFontData(font, " "); // フォントを取得 for (uint8_t col=0; col<8; col++) { for (uint8_t row=0; row<8; row++) { fon = (0x80>>col) & font[row] ? '1':'0'; if( fon == '1'){ digitalWrite(LED_pin[row],HIGH); }else{ digitalWrite(LED_pin[row],LOW); } } delay(1); } } ```

+

なかなかめんどくさいやり方をしていますが、許してください! あと、動作保証はしません。コンパイルさえ通らないかも。

完成! ====

+

完成しました! 一発で難なく動いてくれて、以外と見た目もいいです(裏は...)。 ですが、作ってから気づいたのですが、重心が中心になっていないというのと、縦向きにしたというのが相まって振動がすごいことになりました。 動画では必死で手で押さえているのですが、押さえていないと飛んでいきそうな勢いだったので次作るときは重心には気を付けないといけないと思いました。

![キャプションを入力できます](https://camo.elchika.com/55f11a6f2608d0e6c3c8557fb88a0d1f5c78ab84/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f32353431346531372d323363332d346539322d616633352d3532663938633138613436332f33336437306366372d633065622d346635332d383561372d396265386265313336393563/) ![キャプションを入力できます](https://camo.elchika.com/d5c8c14d32e6e86592084258f22974a54ca9f929/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f32353431346531372d323363332d346539322d616633352d3532663938633138613436332f34653664363839382d303062372d343139652d623033332d323664633138333138393866/) @[youtube](https://youtu.be/c-VsfgpaHrg) 最後に ====

-

いかがだったでしょうか今回はバーサライトを作る過程を紹介しました。

+

いかがだったでしょうか今回はバーサライトを作る過程を紹介しました。

-

次回は電池が弱くなるとモーターの回転が遅くなり見えなくなるので、通過型のフォトインタラプタをつかって回転数を把握できるようにしたいと思います。

+

次回は電池が弱くなるとモーターの回転が遅くなり見えなくなるので、通過型のフォトインタラプタかホールセンサをつかって回転数を把握できるようにしたいと思います。

そして、今回からは使った部品をAkiCartを使って公開することにしました。 最後まで読んでいただきありがとうございました。

+

↓akicart http://aki.prioris.jp/list/07083454-53f4-479f-994c-e77c86675e91/