としぶぅ~の「工作部屋」...毎日少しのお勉強

趣味・関心事を書いていこうと思います。

中華パッド2・・・原道N50-その2

2012-09-06 21:14:04 | タブレット

こんばんわ

としぶぅ~です。

今日は先日紹介しました、”原道N50”  のケースとか保護シールとか

買いましたので紹介を!

まずは、シリコンケースと保護シール

アマゾンのこれ

     ↓

http://www.amazon.co.jp/gp/product/B007JQO9HI/ref=oh_details_o04_s00_i00

http://www.amazon.co.jp/gp/product/B007JQXX20/ref=oh_details_o04_s00_i01

次は電源ケーブル

アマゾンのこれ

    ↓

http://www.amazon.co.jp/gp/product/B0040PBKSC/ref=oh_details_o05_s00_i00

 

では、シリコンケース装着!

サイドのボリュームスイッチ、電源ボタン!

電源ボタンは少し押しにくくなるかな。。。

サイドのRESETボタン

下の電源プラグの差込口

TFカード、USB、OTG差込口

ヘッドホン差込口

ちなみに購入した電源コードはケースのまま差し込んでも充電開始しません。。。。

でも、ケースをめくって差し込むと・・・・

充電開始です。。。

原因は、

この写真は付属電源のピンの長さ。。。10mm

こちらは購入した電源ケーブル。。。。9mm

微妙ですが少し短いので電源まで届かないようです。。。。ケースはずせば充電できるので問題なし。

後、OTGのコネクタがついていますね。。。。最初きずかなかった^^;

USB OTG・・・つまり自分がホストになれるコネクタですね。

早速試してみました。

マウス装着!

ちゃんとマウスカーソルも出てます。。。

使えますよ^^・・・・マウスはタブレットには必要ないですけどね^^

次は、USBメモリ装着

エクスプローラで中身開けました。。。

 

そういえば、以前使っていた”Sigmarion3” にもありましたよね。。。

そうそう。。。

これです^^

右がOTGかな?

呼び方ちがうけど機能は同じ・・・マウス使えるし、USBも開けます。

このころからあった機能なんだね。

 

今日はこんなところです。。。。

なんか写真ばっかりですが・・・・

 

ではおやすみなさい~

 

 

 


PIC16F88を動かす。。。その5

2012-09-05 23:05:28 | PIC16F88

こんばんわ

としぶぅ~です。

 

今日は先日の回路を修正して、動くかどうか確認しましたが、

AD入力を生かすためにLCD用のR/W端子をプルダウンすることにしましたが

改造すると、LCDの表示ができない・・・・

いろいろさわっているとどうもプルダウンでは、R/W端子が”L”レベルにならない・・

そこで、プルダウンをやめて、直接GNDに落としました。

これでLCD表示は問題なくできました。

この作業で、何もできなくなった(笑)

とりあえず、ADの動作確認を行うことにする。

回路図は、A/Dの入力にボリュームを取り付けて外の電圧と取り込みデータの比較を

しながらA/Dのデバッグをします。

その後に、ボリュームと温度センサを入れ替えようと思います。

とりあえず回路図だけ今日は上げておきます。

ソフトは今考えています。。。。。。うまくいったらブログにあげます(^^;

 

こんな感じです。

 

では今日はこのへんで。。。。おやすみなさい~

 


中華パッド2・・・原道N50!

2012-09-04 21:10:28 | タブレット

こんばんわ

としぶぅ~です。

今日も暑かったですね。。。。

 

今日はちょっとPICはお休みして、タブレット・・・中華パッド!の紹介

お小遣いをすこしづつためて購入(笑)

アマゾンでぽちっと押してしまいました(^^;

購入先は”嘉年華株式会社 ( jnhショップ ) ”

商品名称は、”5inchタブレットPC静電式Android4.0 原動N50”

手のひらサイズの5inchです。

 

なかなか軽くていいですよ^^

では、今まで音楽プレーヤーとして使用していた、原道N5TOPと比較

左がN50、右がN5TOP

N50が少し小さくなっています。

裏を見ます。

左がN50、右がN5TOP

見てのとおり、N5TOPは表も裏も白だったのに、N50は表が黒で裏は白。。。。いいのか悪いのか(笑)

私は真っ白が好きですが。。。

付属品は、電源・・・ついていないと他の評価見ると書いてあったのにここのはついていました!ポイント高いです。

触った感じですが、

ちょ~快適です(笑)

先日紹介したMOMOと同じくらいかな。。。。N5TOPと比べるとうんでんの差!

比べてはいけませんが^^;

静電式タッチパネルなのですっごく快適!

あと、N5TOPではWiFiつながりにくかったけど、N50はあっという間につながります。

アプリもさくさく動きます。

Android2.3版を好んで購入している人がいますが、私はAndroid4.0版を迷わず購入!

インターフェースもいい感じで。。。ただ対応ソフトが少ないのが。。。。。^^;

スペックは、アマゾンに書いてあります。見てください。

参照ください → http://www.amazon.co.jp/gp/product/B008KFGR4K/ref=oh_details_o01_s00_i00

では付属品は、

 

iPhoneとの大きさ比較!

なんかボタンがいっぱいありますね。。。

最初はどれが何かわからなかったけど。。。。使っているうちになれます。

7000円弱で買えるのでひじょう~に得した気分(^^)

5inchなので持ち運びようタブレットとしては大きさ的に最適です。

 

ただ、あくまでも中華パッドですので、ギャラクシーとかと比べてはいけませんよ(^^)

 

今日は最近入手したタブレットの紹介でした。

 

それではおやすみなさ~い(^^/

 

おまけ・・・・やっと黄色のハイビスカス咲きました。


PIC16F88を動かす。。。その4

2012-09-03 23:00:25 | PIC16F88

こんばんわ
としぶぅ~です。

昨日遅かったので今日はダメでした・・・^^;
早く帰ってきたので、考えることをしました。

テンプレートで来たのでなにしようか・・・と。
簡単なもの・・・・ではA/D(アナログーデジタル変換)でもうめこもうか。
で何をしようかと思って部品見ていたら、以前秋月電子で購入してあった
こんなモノ見つけました。

 

3本足のトランジスタのような温度センサ(LM61BIZ)です。
温度に応じて電圧を吐き出してきます。
これを利用して、温度センサから取り込んだ電圧をA/D変換してLCDに表示
すれば。。。。あ~ら不思議!温度計の出来上がり(笑)
でも簡単にはいかなかった。。。
下記が現在の回路図

 

A/D用のポートがあいていない(笑)
RA0~RA4 = AN0~AN4、RB6~RB7 = AN5~AN6
RA4に使用しているLCD用のR/Wはリードしないので抵抗でプルダウンで
GNDの固定でいいかな。。。といことで回路図変更!

こんな感じです。

ではPIC16F88のA/Dのお勉強を下記に。。。

A/Dコンバータを使用する上でのレジスタをデータシートから確認

ANSEL:ADポートの選択
bit7:-
bit6:ANS6
bit5:ANS5
bit4:ANS4
bit3:ANS3
bit2:ANS2
bit1:ANS1
bit0:ANS0

ADCON0:ADの設定0
bit7:ADCS1      ←A/Dコンバータ用のクロックを選択する
bit6:ADCS0           ADCS0,ADCS1,ADCS2(ADCON1)
bit5:CHS2      ←A/DするチャンネルをCHS0~2で選択
bit4:CHS1
bit3:CHS0
bit2:GO/DONEn    ←A/Dが完了ステータス
bit1:Uniimplemented
bit0:ADON      ←A/D

ADCON1:ADの設定1
bit7:ADFM       ←A/Dフォーマットを決める
bit6:ADCS2      ←A/Dコンバータ用のクロックを選択する
bit5:VCFG0      ←A/DするチャンネルをVCFG0~1で選択
bit4:VCFG1 電圧の取り込み範囲を決める
bit3:-
bit2:-
bit1:-
bit0:-

とりあえず上記のレジスタを駆使してソフト書くんですが・・・明日にします。


疲れたので今日はこの辺で(^^/
おやすみなさ~い

 


PIC16F88を動かす。。。その3

2012-09-02 10:59:59 | PIC16F88

こんにちわ

としぶぅ~です。

今日も暑いですね。。。今日は夏休み最終日、子供はまだ宿題終わっていません。

どこもいけないので、PICの続きを書きます。

 

前回まででとりあえず、初期の記述は終わりかなと思いますので、本日は私が

通常使用するテンプレートのようなものをPIC用に作成しようと思います。

 

仕様的には、

 1.タイマー割り込みは1msごとにかかるようにする。

 2.タイマー割り込み内で、4msのカウントを行う。

 3.4msごとの割り込みでやりたい処理を時分割して行う。

     mainルーチンで割り込みの4msタイマのフラグを見て処理の
     カウントを行う。

とりあえずここまでを作っておけば、やりたい処理をmainルーチンの分割
処理部分に埋め込めばいつでも実行可能となる。

リストはこんな感じか


/*================================================================================
Templateプログラム
タイマー割り込みを使って時間をカウントして処理を時分割させる
File Name : main.c
Target Compiler: HI-TECH C PRO(Lite MODE)
Verion : 1.0
================================================================================ */
//PIC用の定義ファイルのインクルード
//HI-TECH Cでは、必ず指定する
#include

//コンフィグレーションメモリの設定
__CONFIG(FOSC_INTOSCIO & WDTE_OFF & PWRTE_ON & MCLRE_OFF & CPD_OFF & BOREN_OFF & LVP_OFF & CP_OFF & FCMEN_OFF & IESO_OFF);


//タイマの再設定値を定義
// 2000cycle@(8MHz / 4) == 1ms
// そこからTimer1再設定に要するサイクルを引いたもの
#define WAIT_CYCLE (2000-5)
#define TMR1H_INIT ((unsigned char)(((unsigned short)(65536-WAIT_CYCLE))>>8))
#define TMR1L_INIT ((unsigned char)(((unsigned short)(65536-WAIT_CYCLE))&0x00ff))

//ビット操作命令のマクロを定義
#define clear_bit( reg, bitNumb ) ((reg) &= ~(1 << (bitNumb))) //指定されたビットをクリア
#define set_bit( reg, bitNumb ) ((reg) |= (1 << (bitNumb))) //指定されたビットをセット
#define test_bit( reg, bitNumb ) ((reg) & (1 << (bitNumb))) //指定されたビットをテスト

unsigned char tmr_1ms;
unsigned char tmr_4ms;
unsigned char tmr_4ms_up;
unsigned char tmr_cnt_up;

//割り込み関数
//1/100秒の、タイマのオーバーフロー割り込みで、計測値のインクリメントと、スイッチの確認を行う
void interrupt f_int( void )
{
//タイマ割り込みかどうかをチェックして、タイマ割り込み以外の場合は、処理をしない
if(TMR1IF) {
//タイマの値を再設定し、次の割り込みが1/1000秒後に発生するように設定する
TMR1H = TMR1H_INIT;
TMR1L = TMR1L_INIT;
TMR1IF=0; //タイマ1の割り込みフラグをクリアする


tmr_4ms++; //10msごとのカウンタをインクリメント
if(tmr_4ms >= 4){
tmr_4ms = 0;
tmr_4ms_up = 1;
tmr_cnt_up++;
//PORTB 0bitをon/offして4msでtmr_cnt_upが4msになっていることを確認する。 ←動作確認1
if(test_bit(PORTB,0)){
clear_bit(PORTB,0);
}else{
set_bit(PORTB,0);
}
}
}
}


//ハードウェアの初期化
//使用する回路に合わせて、I/Oポートの方向などを設定する
void IoInit(void)
{
OSCCON = 0x70; //CLK=8MHzに設定する

//ポートの設定
TRISA = 0b00000000; //ポートAは使用しないが、出力に設定 PORTA-bit3=SW入力
TRISB = 0b00000000; //ポートBは使用しないが、出力に設定
PORTA = 0; //ポートAの初期値を0にする
PORTB = 0; //ポートBの初期値を0にする
ANSEL = 0b00000000; //アナログモードは使用しないので、0を指定
}


//タイマ1の初期化
void Tmr1Init(void)
{
T1CON = 0x00; //プリスケーラを、内部クロック、1:1に設定
TMR1H = 0; //タイマ1の初期値を0にする
TMR1L = 0;
TMR1IF = 0; //割り込みフラグをクリアする
//タイマ1割込を有効にする
TMR1IE = 1;
PEIE = 1;
//グローバルの割り込み制御ビットを有効にする
GIE = 1;
}

//メインルーチン
void main( void )
{
IoInit(); // I/Oポートの初期化
Tmr1Init(); // タイマ1の初期化

//タイマ周期が1/100秒になるように、初期化する
TMR1H = TMR1H_INIT;
TMR1L = TMR1L_INIT;
//時間のカウンタの初期化
tmr_1ms = 0;
tmr_4ms = 0;
tmr_4ms_up = 0;
tmr_cnt_up = 0;
//タイマ1を開始する
TMR1ON=1;

//無限ループ
while(1){

if(tmr_4ms_up == 1){
tmr_4ms_up = 0;
switch(tmr_cnt_up){
case 0: //処理1  ← 実行させたいプログラムをここにいれると4msごとに分割して実行できる
break;
case 1: //処理2  ← 実行させたいプログラムをここにいれると4msごとに分割して実行できる
break;
case 2: //処理3  ← 実行させたいプログラムをここにいれると4msごとに分割して実行できる
break;
case 3: //処理4  ← 実行させたいプログラムをここにいれると4msごとに分割して実行できる
break;
case 4: //処理5   ← 実行させたいプログラムをここにいれると4msごとに分割して実行できる
break;
}
}

//PORTB 3bitをon/offしてプログラムの1周期がどれくらいになるかを確認する。 ←動作確認2
if(test_bit(PORTB,3)){
clear_bit(PORTB,3);
}else{
set_bit(PORTB,3);
}
}
}

動作確認1

4msでON/OFFの処理をしていますので計算では8msです。

測定すると8.2msくらいでしょうか・・・・ちょっと誤差あります。

ま、必要に応じてプログラム(プリスケーラのちょうせいですかね・・・)

動作確認2

mainルーチンの1周期は8.6usくらいです。


とりあえず動作はしているようです。

通常マイコンを使用する場合は、クロックの設定をしたら安定するまで

安定bitを確認していますが、PICはいいんですかね。。。

いろいろサンプルプログラム見ましたがこの辺やっているもの見ませ

んので良しにしようと思います。

もし、初期でうまく動かない場合は、デバッガで安定bitを確認すること

を頭の片隅に置いておきましょう。


ま、とりあえず問題なく動作しているので良しにしようかなと思います。

後、上記にのせたソフトですが、そのまま使用してかまいませんが動

かない場合の責任は取れませんのでよーーーく理解して使用してくだ

さい。(とりあえず動作確認はしてから載せております。)


さて。。。とりあえずテンプレートは作ったので今度からなんか埋め込ん

でみようかな。。。何埋め込もうかな(^^)


それでは今日はこの辺で!