2014年11月16日日曜日

買い出し。Arduinoや「においセンサ」や…

会長のKotaです。 今週末に工事担任者の資格試験があり忙しいさなかではありますが、買い出しへ行ってまいりました。 メインは


その他もろもろ購入しました。












自費のものと研究会費のものが混ざっていますけど、ほとんど研究会用。

GPSモジュールを買ってみたかったけど、あまりに混んでいたのでぱっとめに入った「においセンサ」を買いました。

使うの怖いなー。。。


2014年10月25日土曜日

最優秀賞受賞!「第一回文連杯争奪研究発表大会」

皆様お久しぶりです

「リモコン操作できる電光掲示板」製作班のKotaです

電光掲示板の基本的な機能は概ね完成し、紅陵祭2日目、「第一回文連杯争奪研究発表大会」に参加しました。

結果、なんと最優秀賞をいただきました。


ありがとうございます。

私の団体以外、みな完全に文系という異色の発表であったため、何を評価していただいたかはっきりと分かりませんが、作る楽しさが伝わったのだと思っています。


一緒に発表をしてくれた会員です(右)
掲示板のリモコン作り、ケース作り、プレゼン資料の添削などをしてくれました。
博学才穎な彼の添削があっての受賞!本当にありがとう


紅陵祭の展示風景




みんなで記念撮影




2014年10月10日金曜日

大電流によるノイズの影響

プレゼン大会まで一週間、赤外線通信が上手くいきません…

原因はプログラムにもあると考えられますが、目に見えぬところで邪魔をしている奴がいるようです。

図1  

そう…ノイズです。

あるとき、電光掲示板単体での機能もしなくなりました。

その時にマイコンの電源をオシロで確認したのが図1の写真です。

電解コンデンサーを付けてみました。


すみません、いまはこれより容量の大きなものに交換しましたので、一日前の古い写真です。

結果、電源のノイズは次のようになりました。

図2

図1に比べてよっぽどノイズらしいノイズに悪化したように見えます。
しかし、図2のノイズは、図1の左端や中央にみられる大きな飛び抜けたノイズがありません。

つまり、Vp-pで表せば半分近くに収まったと考えられます。(具体的な値については、現在デジタルオシロが不調なので未計測)

しかし、これでも赤外線受信モジュールを触ったり、DCジャックに物理的なストレスを与えると点灯パターンが変わるといった異常な現象が起きます。

ここまでについてはまだ未解決です。
時間もなかったため、取り急ぎ受信モジュールのVdd、GNDを測定すると…

まるでシリアル信号かと思うようなノイズが観測できました。

これについても、土日と台風の間に解決させ、意地でも完成させたいと思います。
おやすみなさい。

2014年10月1日水曜日

速報!プレゼンテーション大会出場団体に選出されました!

皆様こんばんは

10月17日、18日、19日の3日間に渡り、拓殖大学で開催される紅陵祭にて、プレゼンテーション大会が開催されます。

立論書を事前に提出しそこから選ばれた8団体が発表を行うのですが、嬉しいことに発表団体として選出されました!(拍手)

選んでいただけただけでとてもうれしく思っておりますが、プレゼン本番ではベストを尽くし、より高い評価を得られるよう頑張りたいと思います。

もうこんなに近づいているというのに、まだ作品は完成段階ではないので、あともう一息のところ、全力を尽くします。

プレゼンテーション大会の日時などは後日、詳細をこのブログでお知らせいただきたいと思います。

応援よろしくお願いいたします。

2014年9月25日木曜日

電光掲示板製作「点灯成功」


お久しぶりです~^^
基板と最低限のプログラムが完成いたしました。


基板を組み立て、電源を入れた状態では全く正常に動作いたしませんでした。
写真を見ての通り、大量の空中配線があります。

原因は単純で、今回使用した部品データに多くのミスがありました。
しばらく前に公開してしまったライブラリデータも修正した後投稿しなおします。


スターバックスで作業をしたりなんかもして、なんとかここまで来た次第です


今も大学で作業をしてます。
スクロール表示とリモコン操作プログラムの作成です。
まずスクロール表示から挑戦していますが、文字を流す(ずらす)速さは当然基準となる時間をカウントしたいので、タイマ割り込みに初挑戦しています。

今日中にでも成功させて、明日にでもスクロール表示は達成させたいですね。



さて、これにて失礼します。

いつも閲覧ありがとうございます(^^)

2014年7月26日土曜日

回路図、およびエッチング用の基板データ完成

回路図はこちら。



ドットマトリクスや7セグなどの表示機の回路図はもっと簡略化した回路図を良く見ますが、書き方がいまいちわからないのですべて配線しました。

まだ動作させていないので配線ミスがあるかないかわかりません。

エッチング基盤用のデータはこんな感じになりました。




ドットマトリクスLEDの表示機を作られる方がなぜフラットケーブルで空中配線をするか良くわかりました…。

しかしケースまで作るのは面倒なので、基板単体で様になる仕上がりを目指します。

感光基板とスルーホールピンセット?を購入したら早速製作に取り掛かります。

2014年7月16日水曜日

EAGLE ライブラリの配布

/******* 追記('14,07/16) *******
・16F1939(picマイコン)
・NJU3711(シフトレジスタ)
・TD62064APG(トランジスタアレイ)
・TD62783APG(トランジスタアレイ)
・C-2AA0SDRDT(ドットマトリクスLED)
これらの細かいピン配置などを調整しました。
*********************/
http://u7.getuploader.com/kerotan/download/76/lbr_ver1.1.zip
PW: mplab


/******* 追記 *******
ピンの位置などの仕様が非常に使いにくいことが使っていて発覚しました。
近いうちに修正します
*********************/

今回、ドットマトリクスLEDの電光掲示板を作るうえで使う部品のライブラリを作成したので配布します。

技術資料は自分で調べることに大いな意味がありますが、ライブラリくらい落としたって良いでしょう。

今回使ったのは

・16F1939(picマイコン)
・NJU3711(シフトレジスタ)
・TD62064APG(トランジスタアレイ)
・TD62783APG(トランジスタアレイ)
・C-2AA0SDRDT(ドットマトリクスLED)

です。

ドットマトリクスLEDは、「dotmatrixLED.lbr」
その他の部品は、「PIC.lbr」

としてアップロードしてあります。

部品ごとにライブラリを分けるのは面倒くさいので、これからも自作ライブラリを作ったときはすべてPIC.lbrに入れていこうと思います。

申し訳ないのですが、16f1939などは多機能すぎてすべてのピンの内容などかけませんでした。
今回私が使うピンの名称のみ記述してあります。もし使う時は自分でピンの名前などを書き換えて使ってください。

ダウンロードは
ここをクリック(PIC)
ここをクリック(dotmatixLED)

PWは nnmr です

ライブラリのイメージは次のキャプチャの通りです







まだ回路設計の途中なのですが、アップロードした理由にはなんどか間違えて古いライブラリファイルを上書きしてしまったりしたからであったりもします笑


2014年7月9日水曜日

Duty比と列の数と明るさの関係を観察、やはり暗い

今あるトランジスタアレイのシンクは1.5(A)までしか流せないので、16個同時点灯時は93(mA)が限度だろう。
手元にある180(Ω)を5つ並列につなぎ89(mA)でダイナミック点灯時の明るさを再現してみた。
(訂正:Vceを引き忘れておりました。なので89の半分ほどの数値になります)

2列の場合
16列の場合
32列の場合

この三つを試した。



やはり暗いので、100mAの上限を超えて120mAくらい流さないといけないかなと思います。
もちろんシンクのトランジスタアレイも交換します。

2014年6月26日木曜日

赤外線通信成功

赤外線通信をついに成功しました。

これまで悩んできた方法は、38kHzの信号をディレイ関数を用いてソフトで作り出す手法でした。
原因かは分かりませんがデューティー比が綺麗に50%になっていなかったうえ、受信プログラムもスタートビットを受け付けたら600us待機して次のビットを受け付けるという処理をすべて不安定なディレイ関数を用いて行っていました。

そのため取りこぼしが結構あったのだと思います。

そこで、38kHzの搬送波をPWMでつくり、送信データはシリアル通信機能を用いてTXから出力しました。
PWMの搬送波とシリアル信号のANDをとることで、シリアル出力を38kHzに変調する事に成功しました。

この変調した波形を赤外線LEDの点滅に使い、赤外線受信モジュールで受信しました。

これまで撮影してきた動画を紹介します。

・PWM機能のテスト


・シリアル通信のテスト(赤外線未使用)

・赤外線を用いたシリアル通信


成功へのヒントを下さった方々に感謝いたします。

2014年6月14日土曜日

赤外線通信、送信側の動作確認

実験中の赤外線制御が未だに上手くいかない。
(図a)
デジタルオシロで赤外線LEDの両端の端子電圧を測定した。

レンジはx10
次の波形は拡大したもの。
(図b)
(図c)
1bitの'1'の送信は23usで1パルスとし、それを23回、約600us繰り返すことで受信機では1bitの'1'と判定される。

まず計測結果(図aから図c)をみるとあまりにも理想と違うものでした。
これは結果としてどう考察して良いかもわからない。

(図d)
実験の最後になにも考えずに撮った一枚ですが、これはプローブをx1にしていました。
T1とT2の調整すらしていなかったので正確な計測ではないけど取り急ぎ電車にのりつつ長さを測って比から値を求めるとほぼ理想の値がでた。
(529usくらい)
もしこれがPICのソフト制御での制度の限界なら完全なソフト制御はPWM信号を常に送って、'1'の送信時はTXとPWMのANDを取ることにします。
※PWMを用いる手法はSNSを通して教えていただきました。

2014年5月28日水曜日

2014高尾祭 造形美術研究会

2014年度の高尾祭が開催されました。 今年度に入ってはじめてのイベントとなりました。

開会式

ひとつの会につき一部屋だった昨年度とは違い、今年度は多くの会がひとつずつの部屋でブースを設けて展示、発表を行いました。


展示物が少なくとても寂しいですが私どものブースです。

作成中のLED掲示板の赤外線通信部だけでも展示しようということだったものの、それすら完成せず、展示発表を行いながらPCで開発をしておりました。


やはり簡単そうなことも実際やると小さな課題が腐るほど出てきて前へ進めないですね。
既にあるモジュールを使わずに1からやるところが電子工作の醍醐味ですからそれで良いのだとは思いますが、完成はさせないといけないですね。

2014年5月21日水曜日

16F886とXC8でLEDチカチカ成功

さて、やっと動作しました。

ずっと動かなかった原因はコンフィギュレーションの設定漏れでした。

細かく試していませんが、存在する設定は何らかの設定にしてあげないと動かないようです。

こちらが動画です。 4秒ほど笑


400msで点滅を繰り返しています。キリの悪い数で気持ち悪いのでこのあと乗せるプログラムは500msにしています。

/*
 * File:   L_tika.c
 * Author: windows
 *
 * Created on 2014/05/16, 21:12
 */
#pragma config CPD = OFF,\
               BOREN = OFF,\
               IESO = OFF,\
               DEBUG = OFF,\
               FOSC = INTRC_NOCLKOUT,\
               FCMEN = OFF\
               WDTE = OFF,\
               MCLRE = OFF,\
               LVP = OFF,\
               PWRTE = OFF,\
               WRT = OFF
/*
 *CPD -> Data Code Protection bit
 *BOREN -> Brown Out Reset Selection bits
 *IESO -> Internal External Switchover bit
 *DEBUG -> In-Circuit Debugger Mode bit
 * FOSC -> Oscillator Selection bits
 * FCMEN -> Fail-Safe Clock Monitor Enabled bit
 * MCLRE -> RE3/MCLR pin function select bit
 * WDTE -> Watchdog Timer Enable bit
 * LVP -> Low Voltage Programming Enable bit
 * PWRTE -> Power-up Timer Enable bit
 */
#include <stdio.h>
#include <xc.h>
#include <pic.h>
#define _XTAL_FREQ 5000000

static void set_port();

void main(void) {
    set_port();

    while(1){
        PORTA = 0xff;
        __delay_ms(500);
        PORTA = 0x00;
        __delay_ms(500);
    }
    return;
}
static void set_port(){
 TRISA = 0x00;  //output mode
 PORTA = 0x00;  //cleaning

 return;
}
さて・・・ ここまで苦労しましたがここから赤外線の制御にやっと入れます。
16F886は内部クロックがあるのでそれで動作させていますが、赤外線の実験は 16F84A というものを使います。
初めて外部クロック(セラコン)を使うので動作してくれるか不安ですが何とかするしかないですね~^^

2014年5月20日火曜日

PICKit3 to MPLAB X IDE 接続エラー回復

私の問題発生時の状況としては
・MPLAB IDEではPICKit3を認識するが、MPLAB X IDE ではデバイスは認識しているが書き込み時に

Connection Failed
のエラーが出る。

解決に至った手順

PICKit3 Programmer をインストール(インストール手順は検索してください)
起動するとおそらくこういう状況
「The PICKit3 is  MPLAB mode. Use the Tools menu to download OS compatible with this application.」
(当PICKi3はMPLABモードです。ツールメニューを用いてこのアプリケーションと互換性のあるOSをダウンロードしてください)恐らく

なので指示通りインストールします。

分かると思いますが上の写真の場所です。
OSがインストールされるとうえの画像の背景のように認識がされます。


最後に次の画像の場所をクリックしてMPLABモードに戻します。
いろいろメッセージが出た気がしますが選択肢も無いと思うのでOKを押せば結構コケコッコー

私のPCではなぜかこのソフトは普通にはエラーがでて終了できず、プロセスから毎回落としてます。なぜだろう・・・。



あと、MPLAB X IDEをインストールするとついてくる 「IPE」というソフトでも、わざわざプログラムを書き込まなくても接続テストが出来ますので使ってみると良いと思います。




あとあと、MPLAB X IDE で書き込みが出来るとこんなメッセージが出ます。


2014年5月16日金曜日

MPLAB X IDE、いと難し


まず、書き込み基板は完成しました。



想像以上に鬼配線でしたがなんくるなりました。

しかし、MPLAB X IDEとのコネクションエラーが治らない。

MPLAB IDEでは繋がるのです。


MPLAB IDEの接続もエラーコードをググっては試す繰り返しでしたが。
(Programmerからの供給電圧を5vに設定するなど…。あとPICKitはPICなどのデバイスに((正しく!))接続しないとMPLAB IDEへの認識すら出来ません。

虚しくも今日はこんなことに3時間以上も費やしました。
ほんとーに大変。

Lチカは本当にバカに出来ません。
特に授業で学ぶ時などは環境が整っていますしサンプルプログラムもあるので平然とできてしまいますからね…。

50mの壁よりも高いLチカですが、早いとこ片付けます。

2014年5月15日木曜日

PICKit3書き込み基盤制作

MPLAB IDEをこれまで使用していましたが、16F1938など最新のPICは MPLAB Xでしか書き込みができなくなりました。
そこでPICKit3を購入しました。

プリント基板の練習に書き込み基盤作りに取り組みました。


ソフトはEAGLEを使用


3回の失敗を経て基盤は完成しました。
しかし設計のミスでとても使えるものではなくなりました。

今日、自分でワイヤを抜き差しするタイプに作り直そうと再度挑戦しました。


このフィルムを見ていただければわかるかと思いますが、超単純です。

ところが、現像液が限界に達したようで使えるものが作れませんでした。
基盤も二枚犠牲になりました…。

すぐには買いに行けませんし、それほど複雑なものではないので手元にあったユニバーサル基板で作り始めました。



あと20本繋げば完成です。
本日は22:30まで会室に居てしまいました。
寝泊まりしたいものです。

ーー追記ーー

これはエッチング液ではなく…現像液です。驚きの黒さ。こんなものなのでしょうか?