残念ながら、肝心な部分が設定ミスで聞こえないorz
再度今週お届けします。
今週放送予定の資料をアップしておきます。
毎週土曜21:00~24:00位まで?週刊Android
Android、Arduino ソフト~ハードまで、IT関連情報、スポーツ(モトクロス等)、海外ドラマ(洋限定)など、
すき放題、やっちゃいますw
twitter:@weeklyandroidjp
USTREAM:http://p.tl/zY22
ニュース(9月):http://p.tl/ktLI
月刊Android SNS: http://p.tl/4HTR
nanarin'sレポート: http://p.tl/HHU_
↑↑↑↑↑↑↑↑↑↑↑↑↑↑
このアタリのURLは毎週変更になる意可能性があります。
今週は、「夜はハードに」Vol7です。
先週はGPSモジュールの動作確認まで行いました。
生のデータを取りたい!
でも、僕は鎖(ケーブル)につながれているんだ。
自由になりたくないかい
熱くなりたくはないかい
自由になりたくないかい
思う様に生きたくはないかい
自由っていったいなんだい
どうすりゃ自由になるかい
自由っていったいなんだい
君は思うように生きているかい
quoted from Scrambling Rock’n Roll By Yutaka Ozaki
というわけで、自由になるために歌を歌うわけではなく、
・電池から電源を取ります!
・60進数->10進数変換メソッドも作っちゃいましょ
・ついでに、ロギングできるように、microSDカードもつけられれば
良いのですが、、、
1.電源の回路図
なんだかんだで降圧回路も必用ない。。。
006P(四角い乾電池)をそのままDCジャックに
ぶち込んでOKです。(そもそも入力電圧6.0V~なんですよ)
orzまた訂正。。。
でも、今後使えるからいいっか。。。
3.3V端子の最大定格は50mAなので、3.3Vの電源を作るのに使えますね。
ほーよかったw

2.Aruduino+LCD+GPS+microSD
まだ、接続してないですよw
2.1.Aruduino+LCD+GPS+microSD

2.2.LCDシールド

2.3.microSDシールド
まだ、接続してないですよw
データシート(TC74HC541AP):http://p.tl/I9ul
input側とoutput側が逆でしたので修正しました。
んー動かない。。。

3.60進数->10進数変換メソッド
Eclipseでコーディングしたので、mainのままではダメですよ。
/*
============================================================================
Name : conv60to10.c
Author : WeeklyAndroidJp
Version :
Copyright : WeeklyAndroidJp
Description : 10進数->60進数 for GPS, Ansi-style
============================================================================
*/
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
double round45(double src, int n) {
double dst;
//処理を行う桁を10-1 の位にする
dst = src * pow(10, -n - 1);
dst = (double)(int)(dst + 0.5);
//処理を行った桁を元に戻す
return dst * pow(10, n + 1);
}
int main(void) {
double dValue = 35.13440075;
double dTmp[3] = {0.0, 0.0, 0.0};
double dResult = 0.0;
dTmp[1] = modf(dValue, &dTmp[0]);
dTmp[1] = dTmp[1] * 100 ;
dTmp[2] = modf(dTmp[1], &dTmp[1]);
dTmp[2] = dTmp[2] * 100;
dResult = dResult + dTmp[0];
dResult = dResult + dTmp[1] / 60;
dResult = dResult + dTmp[2] / 60 / 60;
dResult = round45(dResult, -5);
printf("%2.4f", dResult);
return EXIT_SUCCESS;
}
4.10進数->60進数変換メソッド
Eclipseでコーディングしたので、mainのままではダメですよ。
/*
============================================================================
Name : conv10to60.c
Author : WeeklyAndroidJp
Version :
Copyright : WeeklyAndroidJp
Description : 10進数->60進数 for GPS, Ansi-style
============================================================================
*/
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
double round45(double src, int n) {
double dst;
//処理を行う桁を10-1 の位にする
dst = src * pow(10, -n - 1);
dst = (double)(int)(dst + 0.5);
//処理を行った桁を元に戻す
return dst * pow(10, n + 1);
}
int main(void) {
double dValue = 35.228891;
double dTmp[3] = {0.0, 0.0, 0.0};
double dResult = 0.0;
dTmp[1] = modf(dValue, &dTmp[0]);
dTmp[1] = dTmp[1] * 60;
dTmp[2] = modf(dTmp[1], &dTmp[1]);
dTmp[2] = dTmp[2] * 60;
dResult = dResult + dTmp[0];
dResult = dResult + dTmp[1] / 100;
dResult = dResult + dTmp[2] / 100 / 100;
dResult = round45(dResult, -5);
printf("%2.4f", dResult);
return EXIT_SUCCESS;
}
5.microSDカード
修正が必要な箇所があります。
microSDの標準ライブラリを使用するために、
自作LCDシールド配線を変更します。
スケッチ(プログラム)で定義したLCDのピン定義も変更します。
6.工作のお手伝い情報
何と言っても、ブレッドボードにmicroSDをどうやって載せて動作チェックするの???
って思いますよね?私もそう思いました。チェックしないで、いきなり基板作るの?
イヤです。
どうしようかなぁーと思っていたら、どうもすばらしいアイディアがあるらしい!
microSDを購入すると、あのでかいSDカード用アダプタが付いているではないか?
ついでに、秋月で購入したmicroSDのフォルダは1mmピッチでユニバーサル基板に
そのまま載せるのはチョット無理だし。。。
ばらさなくても半田付けできます!
なので、SDカードアダプタをばらします。
カッターナイフで、オラって接合点を攻撃!
徐々にダメージを与え(ローキックかw)パックリ二枚に割り、
中の骨を出します。あとは、ヘルピングハンズで捕まえて、
シングルラインコネクタ?をペタッと半田付け!
シングルラインをバラスとピッチがずれるので、そのままつけますよ。
(ケースに当たらないように半田付けしてね!)
ちなみにロックのSWは気にしなくていいです。フロッピーみたいに電子回路に影響を
与えないように目印だけなので、ロック解除位置にアロンαでいっちゃってください。
それでは、分解して半田付けしたところの写真!
フラックスを使うと、プロの仕上がりになりますよ。
イヤイヤ、FS-100のおかげで、低い温度で解けるコテ先復活ですw
すばらしい!

最終的には、アロンαで合わせてくっつけなおしてくださいね。
このとき、気をつけることは、microSDが入るところにはつけないほうがいいですよ。
さらに、瞬間接着剤というものをあまりつかったことがない方は量に記を付けてね!
多けりゃいいって物じゃないんですよ。一滴の1/4以下ですね。
くっつけた後は、ぶっとい技術書の下敷きにして圧縮してくださいね。
瞬間接着剤だからって、瞬間でくっつくと思ったら大間違いwww
1時間くらい放置!
その間にブレッドボードの準備です!
再度今週お届けします。
今週放送予定の資料をアップしておきます。
毎週土曜21:00~24:00位まで?週刊Android
Android、Arduino ソフト~ハードまで、IT関連情報、スポーツ(モトクロス等)、海外ドラマ(洋限定)など、
すき放題、やっちゃいますw
twitter:@weeklyandroidjp
USTREAM:http://p.tl/zY22
ニュース(9月):http://p.tl/ktLI
月刊Android SNS: http://p.tl/4HTR
nanarin'sレポート: http://p.tl/HHU_
↑↑↑↑↑↑↑↑↑↑↑↑↑↑
このアタリのURLは毎週変更になる意可能性があります。
今週は、「夜はハードに」Vol7です。
先週はGPSモジュールの動作確認まで行いました。
生のデータを取りたい!
でも、僕は鎖(ケーブル)につながれているんだ。
自由になりたくないかい
熱くなりたくはないかい
自由になりたくないかい
思う様に生きたくはないかい
自由っていったいなんだい
どうすりゃ自由になるかい
自由っていったいなんだい
君は思うように生きているかい
quoted from Scrambling Rock’n Roll By Yutaka Ozaki
というわけで、自由になるために歌を歌うわけではなく、
・電池から電源を取ります!
・60進数->10進数変換メソッドも作っちゃいましょ
・ついでに、ロギングできるように、microSDカードもつけられれば
良いのですが、、、
1.電源の回路図
なんだかんだで降圧回路も必用ない。。。
006P(四角い乾電池)をそのままDCジャックに
ぶち込んでOKです。(そもそも入力電圧6.0V~なんですよ)
orzまた訂正。。。
でも、今後使えるからいいっか。。。
3.3V端子の最大定格は50mAなので、3.3Vの電源を作るのに使えますね。
ほーよかったw

2.Aruduino+LCD+GPS+microSD
まだ、接続してないですよw
2.1.Aruduino+LCD+GPS+microSD

2.2.LCDシールド

2.3.microSDシールド
まだ、接続してないですよw
データシート(TC74HC541AP):http://p.tl/I9ul
input側とoutput側が逆でしたので修正しました。
んー動かない。。。

3.60進数->10進数変換メソッド
Eclipseでコーディングしたので、mainのままではダメですよ。
/*
============================================================================
Name : conv60to10.c
Author : WeeklyAndroidJp
Version :
Copyright : WeeklyAndroidJp
Description : 10進数->60進数 for GPS, Ansi-style
============================================================================
*/
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
double round45(double src, int n) {
double dst;
//処理を行う桁を10-1 の位にする
dst = src * pow(10, -n - 1);
dst = (double)(int)(dst + 0.5);
//処理を行った桁を元に戻す
return dst * pow(10, n + 1);
}
int main(void) {
double dValue = 35.13440075;
double dTmp[3] = {0.0, 0.0, 0.0};
double dResult = 0.0;
dTmp[1] = modf(dValue, &dTmp[0]);
dTmp[1] = dTmp[1] * 100 ;
dTmp[2] = modf(dTmp[1], &dTmp[1]);
dTmp[2] = dTmp[2] * 100;
dResult = dResult + dTmp[0];
dResult = dResult + dTmp[1] / 60;
dResult = dResult + dTmp[2] / 60 / 60;
dResult = round45(dResult, -5);
printf("%2.4f", dResult);
return EXIT_SUCCESS;
}
4.10進数->60進数変換メソッド
Eclipseでコーディングしたので、mainのままではダメですよ。
/*
============================================================================
Name : conv10to60.c
Author : WeeklyAndroidJp
Version :
Copyright : WeeklyAndroidJp
Description : 10進数->60進数 for GPS, Ansi-style
============================================================================
*/
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
double round45(double src, int n) {
double dst;
//処理を行う桁を10-1 の位にする
dst = src * pow(10, -n - 1);
dst = (double)(int)(dst + 0.5);
//処理を行った桁を元に戻す
return dst * pow(10, n + 1);
}
int main(void) {
double dValue = 35.228891;
double dTmp[3] = {0.0, 0.0, 0.0};
double dResult = 0.0;
dTmp[1] = modf(dValue, &dTmp[0]);
dTmp[1] = dTmp[1] * 60;
dTmp[2] = modf(dTmp[1], &dTmp[1]);
dTmp[2] = dTmp[2] * 60;
dResult = dResult + dTmp[0];
dResult = dResult + dTmp[1] / 100;
dResult = dResult + dTmp[2] / 100 / 100;
dResult = round45(dResult, -5);
printf("%2.4f", dResult);
return EXIT_SUCCESS;
}
5.microSDカード
修正が必要な箇所があります。
microSDの標準ライブラリを使用するために、
自作LCDシールド配線を変更します。
スケッチ(プログラム)で定義したLCDのピン定義も変更します。
6.工作のお手伝い情報
何と言っても、ブレッドボードにmicroSDをどうやって載せて動作チェックするの???
って思いますよね?私もそう思いました。チェックしないで、いきなり基板作るの?
イヤです。
どうしようかなぁーと思っていたら、どうもすばらしいアイディアがあるらしい!
microSDを購入すると、あのでかいSDカード用アダプタが付いているではないか?
ついでに、秋月で購入したmicroSDのフォルダは1mmピッチでユニバーサル基板に
そのまま載せるのはチョット無理だし。。。
ばらさなくても半田付けできます!
なので、SDカードアダプタをばらします。
カッターナイフで、オラって接合点を攻撃!
徐々にダメージを与え(ローキックかw)パックリ二枚に割り、
中の骨を出します。あとは、ヘルピングハンズで捕まえて、
シングルラインコネクタ?をペタッと半田付け!
シングルラインをバラスとピッチがずれるので、そのままつけますよ。
(ケースに当たらないように半田付けしてね!)
ちなみにロックのSWは気にしなくていいです。フロッピーみたいに電子回路に影響を
与えないように目印だけなので、ロック解除位置にアロンαでいっちゃってください。
それでは、分解して半田付けしたところの写真!
フラックスを使うと、プロの仕上がりになりますよ。
イヤイヤ、FS-100のおかげで、低い温度で解けるコテ先復活ですw
すばらしい!

最終的には、アロンαで合わせてくっつけなおしてくださいね。
このとき、気をつけることは、microSDが入るところにはつけないほうがいいですよ。
さらに、瞬間接着剤というものをあまりつかったことがない方は量に記を付けてね!
多けりゃいいって物じゃないんですよ。一滴の1/4以下ですね。
くっつけた後は、ぶっとい技術書の下敷きにして圧縮してくださいね。
瞬間接着剤だからって、瞬間でくっつくと思ったら大間違いwww
1時間くらい放置!
その間にブレッドボードの準備です!