マカロニペンギンの健忘録

特にテーマを決めているわけじゃないが、私が気になったことを書いていく予定です。

chibi:bitを手に入れて、プログラムを書いてみた

2016年08月31日 | 電子工作

MakerFaireTokyo2016
スイッチサイエンスで手に入れたchibi:bitですが、様々な問題(Bボタン問題とWindows10AnniversaryUpdate)を乗り越え、やっとのことでプログラムが完成しました。

コンパスです。
ネットに掲載しているプログラムを参考にしましたが、最終的に矢印が常に北を指しているプログラムはオリジナルです。

実はこのブロックのプログラムを公開したいと思い、とりあえずプリントスクリーンしたのですが解像度が足りなくなってしまい、うまく公開することができません。
次に文字スクリプトにコンバートしてみたのですが、コピーすることができません。

なんかいい方法はないものですかねぇ。

このchibi:bitはBBC micro:bitの互換機です。
その中にはBluetooth、磁気センサー、5×5LED、ブロックによるプログラムなどいままでにない素晴らしいワンボードマイコンなのですが、かなり惜しいです。
先ほど話したネットでの公開方法も惜しいと思えることの一つです。
その他、入出力端子が基板の端についているというのはとっても斬新なアイデアなのですが、接続できるスロットが手に入らない。(もしかしたら、私が見つけられないだけなのかもしれないが、見つかる気配がない)
さらに情報が少ない。

私自身、実はこのchibi:bitが初mbedなのです。
いままでarduino推しだったのでmbedに触ったことがなかったのですが、結構面白いと思います。
ユーザーがネット上に掲載する情報がもっと多くなったら、とってもよいマイコンボードになると思います。

コメント
この記事をはてなブックマークに追加

家庭用NASを作っています。

2015年07月26日 | Linux
なんか、家族の個人個人がパソコンなりタブレットやスマホを持つようになり、データの一元管理がしたくなったのでNASを作ろうと計画しています。

パソコンは以前、WindowsXPが動いていたやつを利用します。
OSはOpenMediaVaultを選びました。

インストールは他のホームページを参考にしていただくとして、問題はPCに接続されているHDDが1台だけだと何かと不都合であるということです。

このOpenMediaVaultはインストール時にはハードディスクのすべての領域をOSとしてインストールしてしまいます。
確かに仕事等で使えのであればOS用のHDDとデータ用のHDDは別にするのでしょうが、個人で使用するNASにはたかだか2GBのOS領域のためだけにHDDをまるまる一台さくなどはできません。それに最近のHDDの容量はデカイですからね。

そこで、1台のHDDでOS領域とデータ領域をシェアする方法を書きます。

まずはUbuntuなどのイメージファイルをダウンロードしたものをCDに焼いておきます。

それからOpenMediaVaultをインストールします。(この場合、クリーンインストールしますのでHDDに入っていたデータは全て消えます)



それからCDに焼いたUbuntuをLiveCDとして起動し、GPartedを起動しパーテーションの領域の変更をします。


そのまま、このソフトで空きとなった領域に新しいパーテーションを作成します。

再び、OpenMediaVaultを起動すれば、WEB画面からデータ領域を指定し、使用することができます。
コメント
この記事をはてなブックマークに追加

LEDの照明器具の調光装置を自作する

2015年05月06日 | 電子工作
概要
俗に蛍光灯が一般的だった時代が終わりLEDと変わりました。
40W2灯用逆富士型蛍光灯器具いわゆる「逆富士」で通っていた名称もLED時代には形も変わり「ベースライト」という名称が一般的になりました。

我が家の子供の部屋の2段ベット風ロフトの下が暗いのですが、明るさの調整が微妙だということで調光付きのLEDベースライトをつけようと思いました。当然ながら照明器具だけでは調光ができず、別途調光装置が必要です。しかし、メーカー製の調光装置は値段が高い。
そこで電子工作で何とかならないかと考えたのが今回の企画です。

注意事項
しかし、お断りをしておかなければならないことがあります。

当然ながらこの記事を読んで同じものを作ってみようと思われることは大変結構なことですが、自己責任でお願いいたします。
それからもっと大切なことですが、この記事を書いている時点で実際にLEDベースライトで動作を試せていません。

試せていない理由はLEDベースライトを間違えて購入してしまったからです。
読者の方に同じ轍を踏まさないためにも間違えた理由をここに書いておこます。

私の場合、蛍光灯換算で20W1灯用タイプのベースライトを買いました。
本来購入しなければならなかった蛍光灯器具は
三菱電機製 組み合わせ形名 MY-L215030N AZH(ライトユニットEL-LU21503N AZH + 器具EL-LHL20700)ですが、
実際には私がAZHというところを未記入で発注してしまったため、電材屋さんで一般時な方のAHTNの記号が補填され 
三菱電機製 組み合わせ形名 MY-L215030N AHTN(ライトユニットEL-LU21503N AHTN + 器具EL-LHL20700)
が来てしまいました。
開封前に気がつけば返品もできたのでしょうが、調光ができないことがわかってから型番が違うことに気がついたのでかなりの後の祭りでした。


とりあえず作ってみた
ArduinoのPWM機能を使います。ArduinoのPWMの出力は5V、ベースライトのPWMの入力信号は10V前後らしいのでトランジスタで増幅します。



int analogPin = 3;
int pwmPin = 3;
int val = 0;

void setup() {
}

void loop() {
  val = analogRead(analogPin);
  analogWrite(pwm Pin, val / 4);
}


とりあえず動かしてみた

実際は

このようになります。

簡易ですがオシロスコープで見てみました。
Arduinoの出力はきれいなパルスだったのですが、トランジスタを通した途端に汚いパルスになってしまいました。
原因は二次側に接続されていないからだと思われます。


早めに今あるLEDベースライトの行き先を決めて、新たに調光付きLEDベースライトを購入して試してみたいと思います。


コメント
この記事をはてなブックマークに追加

Arduono+Python+Firmataの今日の成果

2014年11月26日 | 電子工作
先日のラズパイコンテストに応募してから逆にArduono+Python+Firmataに魅せられて、頑張っています。(念の為、別にRaspberryPiが嫌いというわけではないです)

とりあえず、今日完成した成果から

Arduonoのシールドは何年か前のMakerFaireTokyoでスイッチサイエンス + セニオネットワークのワークショップに参加した時に娘がハンダゴテを使用して作った「五徳バーLEDシールド」です。

その時に使われていた教科書がどこかに行ってしまったので逆にハード側から調べたのですが、バーLEDのしくみが分からない。
ホント、四苦八苦して調べたら、Complementary LED Driveという方式で点滅していることが判明。

参考:パレットソフトさんの複数LED制御のページの「サンプルプログラム(その2:Complementary LED Drive)」という項目。

とりあえず、作ってみたスケッチはこちら

from firmata import * 

a = Arduino('/dev/ttyUSB0',baudrate=57600) # 3 for COM4

#[Z,Z,Z,L,H]→Z:入力にするポート、L:出力LOWにするポート、H:出力HIGHにするポートの順番で配列(リスト)

led_matrix = [[2,3,4,1,5],[1,3,4,2,5],[1,2,4,3,5],[1,2,3,4,5],[2,3,5,1,4],[1,3,5,2,4],[1,2,5,3,4],[1,2,3,5,4],[2,4,5,1,3],[1,4,5,2,3],[1,2,5,4,3],[1,2,4,5,3],[3,4,5,1,2],[1,4,5,3,2],[1,3,5,4,2],[1,3,4,5,2],[3,4,5,2,1],[2,4,5,3,1],[2,3,5,4,1],[2,3,4,5,1]]


def led_print(n):
#毎回、一旦全部のポートを出力LOWにしている。
    for j in range(5):
       a.pin_mode(n[j] + 4, firmata.OUTPUT)
       a.digital_write(n[j] + 4, firmata.LOW)

#入力にするポート、出力LOWにするポート、出力HIGHにするポートの順番で設定

    print 'SEG' + str(n[0] + 3) + '= Z'
    a.pin_mode(n[0] + 3, firmata.INPUT)

    print 'SEG' + str(n[1] + 3) + '= Z'
    a.pin_mode(n[1] + 3, firmata.INPUT)

    print 'SEG' + str(n[2] + 3) + '= Z'
    a.pin_mode(n[2] + 3, firmata.INPUT)

    print 'SEG' + str(n[3] + 3) + '= L'
    a.pin_mode(n[3] + 3, firmata.OUTPUT)
    a.digital_write(n[3] + 3, firmata.LOW)

    print 'SEG' + str(n[4] + 3) + '= H'
    a.pin_mode(n[4] + 3, firmata.INPUT)
    a.digital_write(n[4] + 3, firmata.HIGH)

    a.delay(0.02)

#本文
a.delay(2)
while 1:
    for i in range(20):  
        print str(i) + " = " + str(led_matrix[i])
        led_print(led_matrix[i])


まあどれをとっても最初にしては上出来では・・・
コメント
この記事をはてなブックマークに追加

パソコンから直接Arduinoの入出力を操作する。

2014年11月19日 | 電子工作
先日、「みんなのラズパイコンテスト」に応募してから、私の電子工作熱が復活したようです。
今度はFirmataをやってみたくなりました。

Firmataとはパソコンの高級言語やProcessingからArduinoの入出力端子に直接アクセすることができる方法です。
ArduinoにはあらかじめFirmataのスケッチをコンパイルして入れておきます。

先日、ちょこっと使用しようしたPython言語に惚れ込んでしまいましたので、最終的にはPythonからFirmataを使用したいと思っています。

とりあえず、ProcessingからFirmataを使用してみます。

なにも知らない私が参考にさせていただいたWebページは以下のとおりです。
です。これでArduinoが接続されているUSBの番号を知らないとFirmataが使えないことを知りました。サンプルなども大変参考になりました。

何に使いたいのかも、何に使えるのかも全くわからないですが、楽しみながらやりたいと思います。
コメント
この記事をはてなブックマークに追加

「みんなのラズパイコンテスト」に応募してみた

2014年11月12日 | Weblog
一週間でコンテストに応募するための電子工作をイチから作るなどはかなり無謀ですが、とりあえず作って応募しました。
モットーは「参加することに意義がある」です。

今回、応募したコンテストのは「みんなのラズパイコンテスト」です。

ラズパイと聞いて、わからない人のために簡単に説明をすると正式名称はRaspberryPiという名刺サイズの高性能マイコンボードです。名刺サイズなのにLinuxの仲間をインストールして一昔前のパソコン並みに動かすことができます。
このマイコンボードとパソコンの大きな違いは外部に簡単に入出力をすることができるポートを持っていることです。基本的にRaspberryPiで電子工作というとこのポートを使ったものになります。


今回、作ったのは「簡単ホームセキュリティシステム」です。
本当はオチャラケな電子工作にしたかったのですが、残念ながら実用的なものになってしまいました。

ざっくり言ってしまうと、「泥棒さんが家に入ってくると電子メールで知らせる」システムです。

泥棒さんが入ってきたことがわかる部分というのが

ドアについた

センサーと

ブレットボードについた

モーションセンサーです。

これらで泥棒さんを感知すると

ブレットホードについた

LEDが点灯し

LANケーブル経由でメールを送ります。
コメント
この記事をはてなブックマークに追加

Raspberry PiでLEDを点滅させてみた。

2014年11月03日 | 電子工作
日経Linux、日経ソフトウェアでみんなのラズパイコンテストの応募期間が延長されたということで、私も「応募してみようかな?」とちょこっと頑張ってみることにしました。

私の場合、RaspberryPiを買ってはみたものの、Raspbianをインストールして起動できたら、満足して終わりって感じでしたね。

やはり、Arduinoと比べたら外部端子で入出力って敷居が高いってかんじですね。
なんでだろう。
○なまじOSがあり、OS経由で外部端子にアクセスっていうのが意外とイメージわきにくい(本来だったらメリットなはずなんだが)
○Arduinoと違って、開発しているところが一本化していない
○インターネット上の情報が散らばっていて、探すのが精一杯
って感じでしょうか。

当然ながら、最初はRaspbianのインストールからはじめました。
以前よりもバージョンアップしていました。現在(2014/11/03)の最新版で2014/09/09でした。

それからRaspberryPiの外部端子(GPIO)にアクセスするための環境を整えます。
アクセスする方法は複数あるみたいですが、私が選んだのはAdafruitのPythonを使う方法です。
私はとっても英語が苦手なのですが、辞書を片手にLESSON1から順番に設定していったらとりあえず開発環境は設定出来ました。

しかしやはりマニア向けなのでしょうか、途中から急に難しくなります。なんで設定まで手取り足取り事細かく書かれているのに、実際にプログラミングする段になってから、突き放すような行為に出てしまうのか不思議です。もう少しゆっくりと階段を登るようにlessonしてくれたらうれしいと思います。

なにがともあれGPIOを使用したという実績がほしいために、定番のLチカを紹介しているホームページを探しました。
http://www.hiramine.com/physicalcomputing/raspberrypi/rpigpio_blink.html
です。

これでGPIOを使用したという実績だけはできました。
しかし、コンテストに出すようなアイデアは浮かばない。ましてやOSが載っているマイコンボードのメリットが生かせるようなものというと、とにかく難しいですね。
コメント
この記事をはてなブックマークに追加

CADソフトについて(私見)

2014年08月11日 | Weblog
あくまでも私個人の考え方です。(こんな個人ブログが炎上することは無いとは思いますが、念のため)

日本国内でCADソフトと言えば、何と言ってもJW-CADです。

大昔からお世話になっています。
何と言ってもフリーソフトですので、だれでも使うことができる。
さらに本屋さんに行けばJW-CADのマニュアルがたくさん並んでいて、まわりに教わる人がいなくてもとりあえず使うことができた。(図書館にも結構あります)
さらに他のCADソフトと大きく違うことはマウスでの操作方法が斬新でほとんどの作業をマウスで行うことができる。
仕事上でのCADデータのやり取りもよっぽどひねくれたやつでない限り、JW-CADのデータで送られてくる。

しかし、最も残念なことはソフトの更新がないことです。
ホームページで確認したところ、最後の更新が2012年2月となっています。
今は2014年8月ですので、2年以上更新がないわけです。
時代はXPのサポートが終了し、Windows7又は8になっているわけです。
データの読み込みなどもオリジナリティあふれた画面で、NASなどでファイル共有しているといまいち読み取りがおかしかったりする。
会社のパソコンをWindows8に更新した時、間違ってProgramFiles(x86)にインストールしたらひどい目にあった。さらにいまどきC:¥にインストールしなければいけないことに理解できない。

もちろんフリーソフトなので更新をする・しないも作者の自由なのは理解しています。さらに言い方が悪いですが「文句のあるやつは使うな」ということも理解できる。しかし、これほど一般的になってしまったソフトの更新が止まり放置されてしまうということがたいへんもったいないと思います。
あくまでも私の妄想ですが、オープンソースとしてソースコードを公開して、メンテをするコミュニティーを募り、これからもずうっと使っていけるソフトウェアになることを期待しています。

実はこれは第一段階目でありまして、第二段階目はJW-CAD以外に使える無料のCADソフトについてです。
私自身JW-CADの作者とは知り合いでもなんでもないので、上記で書いたことを本人に伝えることができません。よって、オープンソースになることもたぶん無理でしょう。
と、いうことで使える無料のCADソフトを探したわけです。

実は大昔にAUTOCADを使用したことがあります。
「同じCADソフトでもこんなに使い方が違うんだ」と思ってしまうほどに違います。
こちらは有料CADソフトの大御所です。
本当に業務で使うなら本来だったらこちらを選ばなければいけないということもできます。
しかし、値段が高い。CADデータ作成を専門にしている方でしたら、このぐらいの値段を出しても飯の種ですから問題ないでしょうが、工事が専門で、ときたま図面を書いている人にとってはこの値段は高すぎる。

そこで、AUTOCADの流れを組むCADソフトを探しました。
最初はLibreCADです。こちらはオープンソースのCADソフトです。
メニューに日本語も使用できますが、コマンド入力がうまくできないので英語で使用しています。使い方はAUTOCADに似ているので、だいたいAUTOCADの操作説明書で使用できます。
しかし、私の場合「ここ一番」というところで異常終了してしまい、いままでの作業が無駄になってしまったことが多々あったので使用するのをやめてしまいました。

次に使い始めたのはDraftSightと言うソフトです。
これもAUTOCADと使い方が似ているソフトです。
これは有料版と無料版のソフトがあるタイプです。無償版は機能限定版と言う感じなのでしょうが、どこが限定されているかは全然わかりません。きっと、そこまでは使い込んでいないのでしょう。
とりあえず、簡単な図面を一枚書き上げましたが、問題なく使えます。
しばらくの間、このソフトを使ってみようと思っています。
コメント
この記事をはてなブックマークに追加

突然、UbuntuでSkypeが使えなくなった。

2014年08月10日 | Weblog
久しぶりにLubuntuを立ち上げSkypeを起動したら、通話ができない。

インストールされているSkypeはバージョン4.2.0で最新は4.3.0。とりあえず、4.3.0にバージョンアップしてもあいかわらず使えない。

調べてみたら、4.3.0からLubuntuで標準のALSAオーディオコントロールはサポートせずにPULSEオーディオコントロールのみしか対応しないそうです。

https://support.skype.com/ja/faq/FA10964/

ALSAをアンインストールしてPULSEをインストールしました。

sudo apt-get install pavucontrol

PULSEオーディオコントロールを設定したらSkypeが使えるようになりました。

コメント
この記事をはてなブックマークに追加

ドコモ回線のスピードテスト

2014年07月20日 | ネットワーク
妻の実家でMVNOの一つであるOCNモバイルONEを使ってSKYPEをしてみたのですが、イマイチうまく通話できない。ビデオ通話は会話にならないし、音声のみの時でさえも会話が成り立つときもあるが、まったくダメなときもある。

最初は「OCNモバイルONEがMVNOだからな」と半分あきらめていたのですが、普通のドコモのデータ通信を使ってドコモ製のドコモスピードテストで測定した結果、
Download 6.89Mbps(2回目は4.18Mbps)
Upload   1.18Mbps(2回目は0.18Mbps)

ちなみにスピードテストの参考値なのですが、周辺の平均値というのでは
Download 23.82Mbps
Upload   6.89Mbps
だそうです。

スカイプのホームページで必要なスピードが載っていましたが
最低下り/上り 推奨下り/上り
ビデオ通話 /画面共有 128kbps / 128kbps 300kbps / 300kbps
ビデオ通話 (高品質) 400kbps / 400kbps 500kbps / 500kbps
ビデオ通話  (HD) 1.2Mbps / 1.2Mbps 1.5Mbps / 1.5Mbps

0.18Mbps=180kbpsなので最低の上りはクリアしているのですがね。


今度、ドコモに相談すれば良くなるのかな?
コメント
この記事をはてなブックマークに追加