RoboCup Junior Japan Rescue Kanto OB
2005~2013
2005~2013
今日は中間前最後の部活動でした。
僕はPICいじって遊んでいたのですが、どうにも上手く行きません。
というのも、何故か、単純なPINのON/OFFができていないようなのです。
プログラムにも、問題はないし・・・どういうことなのでしょうか・・・
まあこういう時って十中八九PICがお亡くなりになっているのが原因なんですけど・・・
さてと、家に帰ってPIC交換してみるかな。
今日はそんな感じで久しぶりにプログラムの一日でした。
(^・ω・)ノ RadiumProduction in RoboCup Junior
僕はPICいじって遊んでいたのですが、どうにも上手く行きません。
というのも、何故か、単純なPINのON/OFFができていないようなのです。
プログラムにも、問題はないし・・・どういうことなのでしょうか・・・
まあこういう時って十中八九PICがお亡くなりになっているのが原因なんですけど・・・
さてと、家に帰ってPIC交換してみるかな。
今日はそんな感じで久しぶりにプログラムの一日でした。
(^・ω・)ノ RadiumProduction in RoboCup Junior
昨日は電ノコとドリルで機械科をやっていました。
そろそろプログラムに戻りたいけど、まだまだやることはあったり・・・
特に回路系の仕事が多いですね。
例えば、今写真部から受けている依頼で、ストロボの作成というのがあったりします。
ストロボっていうのは簡単にいうと、インスタントカメラのフラッシュに使われているアレですね。
アレの制御装置を作ることになったのですが、なかなか取り組めないのです。
特に難しい回路ではないのですが、できない。その理由は・・・
ストロボの入手です。
ストロボってそこら辺に転がっているものではないので、なかなか見つからないのです。
インスタントカメラを分解したら一発なのですが、なんか負けた気がして・・・。
そしてもうひとつ大きいのは絶縁問題。
というのもストロボには、200〜300vもの高電圧が必要になります。
当然、絶縁はしっかりしないとかなり危険な兵器になります。
ビニテぐるぐる巻きで対策できるかどうかちょっと微妙なので、これが凄く厄介なんです。
自分が使う分ならどうでもいいのですけどね・・・。
そんな感じで、全く回路が進む気がしない今日この頃でした。
(^・ω・)ノ RadiumProduction in RoboCup Junior
そろそろプログラムに戻りたいけど、まだまだやることはあったり・・・
特に回路系の仕事が多いですね。
例えば、今写真部から受けている依頼で、ストロボの作成というのがあったりします。
ストロボっていうのは簡単にいうと、インスタントカメラのフラッシュに使われているアレですね。
アレの制御装置を作ることになったのですが、なかなか取り組めないのです。
特に難しい回路ではないのですが、できない。その理由は・・・
ストロボの入手です。
ストロボってそこら辺に転がっているものではないので、なかなか見つからないのです。
インスタントカメラを分解したら一発なのですが、なんか負けた気がして・・・。
そしてもうひとつ大きいのは絶縁問題。
というのもストロボには、200〜300vもの高電圧が必要になります。
当然、絶縁はしっかりしないとかなり危険な兵器になります。
ビニテぐるぐる巻きで対策できるかどうかちょっと微妙なので、これが凄く厄介なんです。
自分が使う分ならどうでもいいのですけどね・・・。
そんな感じで、全く回路が進む気がしない今日この頃でした。
(^・ω・)ノ RadiumProduction in RoboCup Junior
今回の記事は今更感溢れる、PICkit3に関してです。
PICkit2の上位互換で、ちょっと高いPIC用のライターですっていう説明が定番ですけど、本当にそうなのでしょうか。
まぁ値段が高いというのは本当ですけど・・・
因みにPICkitは何故か販売店によって価格が全然違います。
ICとかでもよくあることですが、こんなに違う品物は珍しいです。
話を戻します。まずは対応しているPICについてです。
PICkit2は、たまに対応していないPICがあって、32MXシリーズや、新しい16Fシリーズ等のPICが該当します。
そして、PICkit3では、今のところ、全てのPICに対応しているようです。
こう見ると、PICkit3の方が良いようにも見えますが、
実は新型の16Fシリーズの場合、microchip社からパッチが出ているので当てれば普通に使えるようになります。
32MXに関しては、PIC自体が入手が割りと難しいので、使えなくてもあまり問題はありません。
それに、きっとそのうち32MXの方もパッチがリリースされるでしょう。
後はPICkit2の場合はバスパワーと言って、PICkit2の方から回路電源を取ることができましたが、
PICkit3では、それができず、外部から電源をとる必要があります。
そもそも、PICkit3の場合、外部電源を繋がないとPICを認識すらしない仕様になっています。
また、PICkit2では、UARTによるデバッグが行えたり、PCとの通信ができたりしたのですが、
これもPICkit3には搭載されていません。
まぁこのように、仕様としては、割とPICkit2より残念だったりします。
只、PICkit2よりかは基本動作が安定しているような気がしますので、そういう意味では使い易いです。
でも正直なところ、これを買うくらいなら、ハンバーガー基、ICD2や3を買った方が良いように思います。
まぁそんな感じのPICkit3、因みに僕は見た目がカッコいいのでPICkit3を使っています。
(^・ω・)ノ RadiumProduction in RoboCup Junior
PICkit2の上位互換で、ちょっと高いPIC用のライターですっていう説明が定番ですけど、本当にそうなのでしょうか。
まぁ値段が高いというのは本当ですけど・・・
因みにPICkitは何故か販売店によって価格が全然違います。
ICとかでもよくあることですが、こんなに違う品物は珍しいです。
話を戻します。まずは対応しているPICについてです。
PICkit2は、たまに対応していないPICがあって、32MXシリーズや、新しい16Fシリーズ等のPICが該当します。
そして、PICkit3では、今のところ、全てのPICに対応しているようです。
こう見ると、PICkit3の方が良いようにも見えますが、
実は新型の16Fシリーズの場合、microchip社からパッチが出ているので当てれば普通に使えるようになります。
32MXに関しては、PIC自体が入手が割りと難しいので、使えなくてもあまり問題はありません。
それに、きっとそのうち32MXの方もパッチがリリースされるでしょう。
後はPICkit2の場合はバスパワーと言って、PICkit2の方から回路電源を取ることができましたが、
PICkit3では、それができず、外部から電源をとる必要があります。
そもそも、PICkit3の場合、外部電源を繋がないとPICを認識すらしない仕様になっています。
また、PICkit2では、UARTによるデバッグが行えたり、PCとの通信ができたりしたのですが、
これもPICkit3には搭載されていません。
まぁこのように、仕様としては、割とPICkit2より残念だったりします。
只、PICkit2よりかは基本動作が安定しているような気がしますので、そういう意味では使い易いです。
でも正直なところ、これを買うくらいなら、ハンバーガー基、ICD2や3を買った方が良いように思います。
まぁそんな感じのPICkit3、因みに僕は見た目がカッコいいのでPICkit3を使っています。
(^・ω・)ノ RadiumProduction in RoboCup Junior
最近、気がつくと朝になっていることが多く、徹夜が多いです。
まぁレポート含め、仕事が山のようにあるっていうのもひとつの原因なんですけど・・・。
今日の内容は、此方のセンサー。
所謂ジャイロセンサーというやつです。
以前は4ピンで、倍くらいのサイズのものが、1000円で販売されていたのですが、
いつのまにやら、こっちのセンサーになっていました。
こっちのセンサーは8ピン、0.4インチほどの大きさで、400円で販売されています。
まぁジャイロセンサーということなので、角速度が検知できるのですが、
このセンサー、二軸なんですよね。
しかも、このセンサー、普通に水平に配置すると、ロボットの旋回の際の回転軸は検知できないんです。
つまりこのままだと、このジャイロセンサーは、ロボット自体が前後左右に転がる時の回転方向を検知することになります。
なので、ジャイロセンサーをロボットに対して垂直につける必要があるのですが、
以前のセンサーなら、横一列にピンが出ていたので普通にピンヘッダを使えば解決だったのですが、
このセンサーの場合、左右に分かれてピンが出ているので、
基盤ごと立てるか、片方コードで配線するかしないと旋回検知には使えません。
これは面倒・・・とはいう古い方は秋月ではもう販売されていませんので仕方ないですね。
因みに出力はアナログ、I2Cの方が良かったなぁ。
今日はそんな、ちょっと面倒なジャイロセンサーの紹介でした。
まぁ本当はこっちの使い方の方がイレギュラーだからこんなことになるだけなんですけど・・・。
(^・ω・)ノ RadiumProduction in RoboCup Junior
まぁレポート含め、仕事が山のようにあるっていうのもひとつの原因なんですけど・・・。
今日の内容は、此方のセンサー。
所謂ジャイロセンサーというやつです。
以前は4ピンで、倍くらいのサイズのものが、1000円で販売されていたのですが、
いつのまにやら、こっちのセンサーになっていました。
こっちのセンサーは8ピン、0.4インチほどの大きさで、400円で販売されています。
まぁジャイロセンサーということなので、角速度が検知できるのですが、
このセンサー、二軸なんですよね。
しかも、このセンサー、普通に水平に配置すると、ロボットの旋回の際の回転軸は検知できないんです。
つまりこのままだと、このジャイロセンサーは、ロボット自体が前後左右に転がる時の回転方向を検知することになります。
なので、ジャイロセンサーをロボットに対して垂直につける必要があるのですが、
以前のセンサーなら、横一列にピンが出ていたので普通にピンヘッダを使えば解決だったのですが、
このセンサーの場合、左右に分かれてピンが出ているので、
基盤ごと立てるか、片方コードで配線するかしないと旋回検知には使えません。
これは面倒・・・とはいう古い方は秋月ではもう販売されていませんので仕方ないですね。
因みに出力はアナログ、I2Cの方が良かったなぁ。
今日はそんな、ちょっと面倒なジャイロセンサーの紹介でした。
まぁ本当はこっちの使い方の方がイレギュラーだからこんなことになるだけなんですけど・・・。
(^・ω・)ノ RadiumProduction in RoboCup Junior
昨日の夜を一言で表すとこんな感じでしょうか。
というのも、昨日一晩で例のロボカップ部のPVの編集を行いました。
PVの作成は産技祭の時からやっていなかったので半年ぶりぐらいでしたが、まぁスムーズにいきました。
特に今回は何故か、校内の部活動の大会出場激励会に動画がいるなんてことを急に知らされて
即刻作れとのことだったので、かなり急ピッチでお仕事が進みました。
その一方で、今回はわざわざ人を集めて撮影会をするぐらい無駄な気合いが入ってしまったので
編集としてもクオリティを下げることが・・・あれ、結構下げた気がするぞ。
そんな裏話はともかく、そんな感じの編集を朝まで続けた結果、一応完成致しました。
因みに今回使ったのはAdobe Premiere、結構プロ仕様のソフトで何やってるんだ自分・・・。
こんなの提出して起こられないかがすごく心配です・・・。
(^・ω・)ノ RadiumProduction in RoboCup Junior
P.s:なんとか動画の方は通りました。
部員にも非公開の動画なのでみなさん激励会をお楽しみに!
というのも、昨日一晩で例のロボカップ部のPVの編集を行いました。
PVの作成は産技祭の時からやっていなかったので半年ぶりぐらいでしたが、まぁスムーズにいきました。
特に今回は何故か、校内の部活動の大会出場激励会に動画がいるなんてことを急に知らされて
即刻作れとのことだったので、かなり急ピッチでお仕事が進みました。
その一方で、今回はわざわざ人を集めて撮影会をするぐらい無駄な気合いが入ってしまったので
編集としてもクオリティを下げることが・・・あれ、結構下げた気がするぞ。
そんな裏話はともかく、そんな感じの編集を朝まで続けた結果、一応完成致しました。
因みに今回使ったのはAdobe Premiere、結構プロ仕様のソフトで何やってるんだ自分・・・。
こんなの提出して起こられないかがすごく心配です・・・。
(^・ω・)ノ RadiumProduction in RoboCup Junior
P.s:なんとか動画の方は通りました。
部員にも非公開の動画なのでみなさん激励会をお楽しみに!
どういう流れなのかさっぱり不明なのですが、研究室の方と部活の内容の方がもろかぶり致しまして、
どちらでもサーボモーターで遊ぶ流れになることが発覚致しました。
という訳で今日は秋葉にサーボモーターを買いに行きました。
サーボモーターとは所謂2足のロボットの足なんかに使われているモーターで
PWM信号でモーターの回転角度を自在に変えられるというモーターです。
まぁそのかわり、通常のモーターの様に回転させることは出来ないので、タイヤなどに使うことは出来ないのですけど・・・
そんな感じのモーターで遊ぼうという話になったのでちょっと試しに買ってみたわけです。
只・・・こいつら、ちょっとサイズが大きくて、扱いづらいです。
もっと小さい奴もあるのですけど、それはそれで別の問題が起きてしまうので使えず・・・。
まぁ色々研究してみようかな。もう暫く機械科の作業が続きそうです。
(^・ω・)ノ RadiumProduction in RoboCup Junior
どちらでもサーボモーターで遊ぶ流れになることが発覚致しました。
という訳で今日は秋葉にサーボモーターを買いに行きました。
サーボモーターとは所謂2足のロボットの足なんかに使われているモーターで
PWM信号でモーターの回転角度を自在に変えられるというモーターです。
まぁそのかわり、通常のモーターの様に回転させることは出来ないので、タイヤなどに使うことは出来ないのですけど・・・
そんな感じのモーターで遊ぼうという話になったのでちょっと試しに買ってみたわけです。
只・・・こいつら、ちょっとサイズが大きくて、扱いづらいです。
もっと小さい奴もあるのですけど、それはそれで別の問題が起きてしまうので使えず・・・。
まぁ色々研究してみようかな。もう暫く機械科の作業が続きそうです。
(^・ω・)ノ RadiumProduction in RoboCup Junior
えっと、なんか色々と学生会の方とお話を行った末に、部活のPVをとることになりました。
以前、産技祭の時にPVはだしたことがあるので、まぁその時のものを使っても良かったのですが、
どうせなら・・・ということで新しく作ってみることに。
そんな感じで右隣の写真部(地球防衛軍)と左隣の電気通信部(麻雀部)の協力の元、PVの撮影を行いました。
場所は2階のプラザ、要するに中央ホールの奥の広場です。
急に決まったのでとりあえず今いるメンバーでの撮影だったのですが・・・
あぁ・・・酷かったなぁ・・・。
ちゃんと終わるには終わったのですが、やっぱり酷すぎる・・・。
これを編集してちゃんとした動画にしないといけないのですが、その過程が出来る気がしない今日この頃でした。
(^・ω・)ノ RadiumProduction in RoboCup Junior
以前、産技祭の時にPVはだしたことがあるので、まぁその時のものを使っても良かったのですが、
どうせなら・・・ということで新しく作ってみることに。
そんな感じで右隣の写真部(地球防衛軍)と左隣の電気通信部(麻雀部)の協力の元、PVの撮影を行いました。
場所は2階のプラザ、要するに中央ホールの奥の広場です。
急に決まったのでとりあえず今いるメンバーでの撮影だったのですが・・・
あぁ・・・酷かったなぁ・・・。
ちゃんと終わるには終わったのですが、やっぱり酷すぎる・・・。
これを編集してちゃんとした動画にしないといけないのですが、その過程が出来る気がしない今日この頃でした。
(^・ω・)ノ RadiumProduction in RoboCup Junior
今回の内容は電池の最後、鉛畜電池についてです。
他の電池と比べると、その違いは大きく、まず、サイズが馬鹿でかいです。
それもそのはず、この電池は車のバッテリー等のデカブツに使われることが殆どなんです。
もちろん特徴は出力電流量、リチウムの比じゃありません。
しかも、容量も大きいので、大電力を長時間供給することができます。
また、メモリー効果も全く発生しないので寿命も長いです。
只、サルフェーションといって、鉛畜電池は、放電時に硫酸鉛が発生するのですが、それが結晶化して電池の寿命を減らす現象があったりします。
なので、使う際には常に継ぎ足しで、ほぼ残量100%の状態にするようにするのがベストです。
因みに、原材料が安いこともあって、二次電池の中では生産量はトップだったりします。
また、希硫酸を使っているタイプとシリコンを使っているタイプがありますが、
希硫酸のものはリチウムばりに危険なので気をつけて下さい。
また、1セル辺りの電圧は2Vです。よく6セルの12Vのものがありますよね。
こんなものが鉛畜電池です。
因みにほんとに重いのでロボカップだと使い道がありませんね。
(^・ω・)ノ RadiumProduction in RoboCup Junior
他の電池と比べると、その違いは大きく、まず、サイズが馬鹿でかいです。
それもそのはず、この電池は車のバッテリー等のデカブツに使われることが殆どなんです。
もちろん特徴は出力電流量、リチウムの比じゃありません。
しかも、容量も大きいので、大電力を長時間供給することができます。
また、メモリー効果も全く発生しないので寿命も長いです。
只、サルフェーションといって、鉛畜電池は、放電時に硫酸鉛が発生するのですが、それが結晶化して電池の寿命を減らす現象があったりします。
なので、使う際には常に継ぎ足しで、ほぼ残量100%の状態にするようにするのがベストです。
因みに、原材料が安いこともあって、二次電池の中では生産量はトップだったりします。
また、希硫酸を使っているタイプとシリコンを使っているタイプがありますが、
希硫酸のものはリチウムばりに危険なので気をつけて下さい。
また、1セル辺りの電圧は2Vです。よく6セルの12Vのものがありますよね。
こんなものが鉛畜電池です。
因みにほんとに重いのでロボカップだと使い道がありませんね。
(^・ω・)ノ RadiumProduction in RoboCup Junior
今日も電子機械科の作業が続きます。
今日はといいますと、まずは自前のレゴの掘削作業から始まりました。
かなり手間取りましたがなんとか終了。
続いての作業は、PIC基盤の仕様変更。
ちょっと変更したい部分があったので、またはんだづけをすることに。
そんなことをしていたら、今日も時間がきてしまいました。
新しく機械系に挑戦したはいいけど、部品もなくてやけに手間取ることが多いです。
さて、こんな調子で大丈夫なのでしょうか・・・
(^・ω・)ノ RadiumProduction in RoboCup Junior
今日はといいますと、まずは自前のレゴの掘削作業から始まりました。
かなり手間取りましたがなんとか終了。
続いての作業は、PIC基盤の仕様変更。
ちょっと変更したい部分があったので、またはんだづけをすることに。
そんなことをしていたら、今日も時間がきてしまいました。
新しく機械系に挑戦したはいいけど、部品もなくてやけに手間取ることが多いです。
さて、こんな調子で大丈夫なのでしょうか・・・
(^・ω・)ノ RadiumProduction in RoboCup Junior
今日は一日機械科でした。
板切って、穴あけて、ネジ止めて。そんな活動をしていました。
ついでにPWMのテストをモータードライバを使って行なって、結果なんか接触不良を発見、ちょっと直して、
今度は電圧がちょっとおかしいことに気が付きました。
なので電池ボックスを調べてみたらなんとびっくり。
電池が2本ほど逆充電されていました(笑)
※逆充電は2次電池系の過放電の証。なった時点で死亡確定です。
そぉい!
とりあえず爆発物予備軍なので、安全地帯に向けて放り投げました。(良い子じゃなくても真似しないように。)
今日はなんかそんな感じで一日が終わりました。なんか無駄に疲れたような・・・。
(^・ω・)ノ RadiumProduction in RoboCup Junior
板切って、穴あけて、ネジ止めて。そんな活動をしていました。
ついでにPWMのテストをモータードライバを使って行なって、結果なんか接触不良を発見、ちょっと直して、
今度は電圧がちょっとおかしいことに気が付きました。
なので電池ボックスを調べてみたらなんとびっくり。
電池が2本ほど逆充電されていました(笑)
※逆充電は2次電池系の過放電の証。なった時点で死亡確定です。
そぉい!
とりあえず爆発物予備軍なので、安全地帯に向けて放り投げました。(良い子じゃなくても真似しないように。)
今日はなんかそんな感じで一日が終わりました。なんか無駄に疲れたような・・・。
(^・ω・)ノ RadiumProduction in RoboCup Junior
今回は文字列の扱い方についてです。
前回の記事で、文字列は、配列やポインタで表現するという説明を致しました。
今回はその続きからです。
例えば、配列を使う場合、これに関しましては、前回の記事でも触れましたが、
char型の配列要素一つにつき、半角英数一文字が格納できるようになっています。
つまり、配列を使って文字列を格納する際には、
納する文字の数だけの要素のある配列を用意すれば良いということになるかと思うのですが・・・
実際にはちょっと違います。
実は、文字列と文字いうものは、それそれ1セットで一つの情報という扱いですが、
これだと文字と文字列との区別がつきません。
ということで、文字列であることを示すために、文字列には最後の文字の次に\0という記号が含まれます。
これはNull文字と呼ばれ、NULLとも表記されます。
つまりNULL文字の分を含めて
最低でも、格納したい文字数+1個の要素数の配列が必要になるわけです。
例えば、配列sにrobocupという文字列を格納しようとするとこうなります。
char s[8]="robocup";
ここで注意しないといけないのが、この文が変数の宣言文だという点です。
実は、配列に文字列を格納する場合は%sを使ってscanfで読み取るか、初期化の際に代入するか、
または専用の関数を使用するかしかありません。
つまり普通の変数のように、後から
s=" robocup";
という感じにはできないということです。
また、文字の時は'でくくりましたが、文字列の場合は"でくくわれています。ここも注意すべき点ですね。
これはなんで変わってくるかといいますと、ポインタがまた関わってきます。
まぁこの件は配列とポインタの関係の理解が必要なので今回は割愛します。
と、いう訳で、これが配列における文字列の扱い方です。
次回はポインタにおける文字列の扱い方について紹介します。
(^・ω・)ノ RadiumProduction in RoboCup Junior
前回の記事で、文字列は、配列やポインタで表現するという説明を致しました。
今回はその続きからです。
例えば、配列を使う場合、これに関しましては、前回の記事でも触れましたが、
char型の配列要素一つにつき、半角英数一文字が格納できるようになっています。
つまり、配列を使って文字列を格納する際には、
納する文字の数だけの要素のある配列を用意すれば良いということになるかと思うのですが・・・
実際にはちょっと違います。
実は、文字列と文字いうものは、それそれ1セットで一つの情報という扱いですが、
これだと文字と文字列との区別がつきません。
ということで、文字列であることを示すために、文字列には最後の文字の次に\0という記号が含まれます。
これはNull文字と呼ばれ、NULLとも表記されます。
つまりNULL文字の分を含めて
最低でも、格納したい文字数+1個の要素数の配列が必要になるわけです。
例えば、配列sにrobocupという文字列を格納しようとするとこうなります。
char s[8]="robocup";
ここで注意しないといけないのが、この文が変数の宣言文だという点です。
実は、配列に文字列を格納する場合は%sを使ってscanfで読み取るか、初期化の際に代入するか、
または専用の関数を使用するかしかありません。
つまり普通の変数のように、後から
s=" robocup";
という感じにはできないということです。
また、文字の時は'でくくりましたが、文字列の場合は"でくくわれています。ここも注意すべき点ですね。
これはなんで変わってくるかといいますと、ポインタがまた関わってきます。
まぁこの件は配列とポインタの関係の理解が必要なので今回は割愛します。
と、いう訳で、これが配列における文字列の扱い方です。
次回はポインタにおける文字列の扱い方について紹介します。
(^・ω・)ノ RadiumProduction in RoboCup Junior
カレンダー
最新CM
カテゴリー
らじぷろ目次
らじぷろ検索機
最新記事
(01/01)
(01/03)
(08/27)
(04/29)
(01/01)
(11/20)
(09/06)
(09/04)
(08/09)
(08/06)
(07/27)
(05/29)
(03/15)
(01/01)
(05/07)
プロフィール
HN:
Luz
性別:
男性
アーカイブ