【動画紹介】水陸両用ヘビロボット
ロボットのヘビです。普通に這うことも、ウミヘビのように水中で泳ぐこともできます。
実によくできています。そのままSF映画の悪役の方が使えそうです。(褒めていますよ。)
英語での紹介ですが、日本の東工大のものでした。
http://www-robot.mes.titech.ac.jp/robot/snake/acm-r5/acm-r5.html
こういうの見るといつも思います。
早く原発事故や災害で活躍して欲しい。。。。と。。。
それではまたです。
« 2012年9月 | メイン | 2012年11月 »
ロボットのヘビです。普通に這うことも、ウミヘビのように水中で泳ぐこともできます。
実によくできています。そのままSF映画の悪役の方が使えそうです。(褒めていますよ。)
英語での紹介ですが、日本の東工大のものでした。
http://www-robot.mes.titech.ac.jp/robot/snake/acm-r5/acm-r5.html
こういうの見るといつも思います。
早く原発事故や災害で活躍して欲しい。。。。と。。。
それではまたです。
ロボットダンスとありますが、人間のダンスです。技術的動画とはちょっと違うかもしれません。
しかしご覧頂くとわかるとおり、人間でも機械でもあり得ない動きに見えて、畏怖さえ覚えましたので記事にしてしまいました。
重力とか慣性の法則を無視しているようにさえ見えます。ロボット的と言うよりCGじゃないの、という気持ちになります。
人間って凄いですね。
それではまたです。
自分だけの勝手ですが、最近は毎週末ちょっとした何か作ってアップしようと思ってやっています。マルツのボードはその何かをちょっと動かすのに手軽なので先日から使っています。
(PICマイコン動かすための設定等が誰かの参考になれば幸いかな、程度の思いはあります。)
さて、今回は7セグメントLEDを動かしてみました。
LEDは秋月の↓のものです。10個150円とかなりお安くなっています。
http://akizukidenshi.com/catalog/g/gI-01492/
LEDはこれでなくても良いのですが、PICで動かすにはアノードコモンが良いです。
理由はアノードコモンはPICのIOでLレベルでの引き込みで制御することができること、そしてIOの電流がLレベルの方が大きくとれることからです。(PICに限らず、Lの方が大きな電流を引けるマイコンが多いと思います。)
回路図は下の通りです。電池はボタン電池をやめて単三電池2本としています。
ソフトは、前回のLEDの物にちょっと手を加えただけです。
#include "P24FJ64GA004.h"
//config
_CONFIG2(0xF9FC);
_CONFIG1(0x3F7F);
//main loop
int main(void)
{
static unsigned char fontdata[] = {
0b00000011, // 0
0b10011111, // 1
0b00100101, // 2
0b00001101, // 3
0b10011001, // 4
0b01001001, // 5
0b01000001, // 6
0b00011111, // 7
0b00000001, // 8
0b00001001, // 9
0b01111111, // 10
0b10111111, // 11
0b11011111, // 12
0b11101111, // 13
0b11110111, // 14
0b11111011, // 15
0b11111110, // 16
};
unsigned int i,t;
//Setup clock
OSCCON = 0x11C0; // FRCPLL
CLKDIV = 0x0030; // 1MIPS SETTING
//IO PORT SETTING
AD1PCFG = 0xffff; // Analog input disable
TRISA = 0x0000; // All output
TRISB = 0x0000; // All output
TRISC = 0x0000; // All output
//Loop
t=25;
while(1){
for (i=0;i<=16;i++) {
Set_Port(fontdata[i]);
Wait_time(t);
}
t *=2;
}
}
// IO PORT CONTROL
void Set_Port(unsigned char val) {
PORTCbits.RC1 = val & 0x0001;
PORTCbits.RC0 = (val & 0x0002)>>1;
PORTBbits.RB3 = (val & 0x0004)>>2;
PORTBbits.RB2 = (val & 0x0008)>>3;
PORTBbits.RB1 = (val & 0x0010)>>4;
PORTBbits.RB0 = (val & 0x0020)>>5;
PORTAbits.RA1 = (val & 0x0040)>>6;
PORTAbits.RA0 = (val & 0x0080)>>7;
}
// WAIT LOOP
void Wait_time(unsigned int t) {
int t0,t1;
for (t0=0;t0<t;t0++) {
for (t1=0;t1<10000;t1++) {
}
}
}
動作は下の動画でご確認ください。
次は複数LEDのダイナミック動作でもやってみようかな。
それではまたです。
飛行艇と言うと、両翼にフロートが付いているか、高翼で胴体が船っぽいか、その両方か、
と思っていましたが、この動画のは違います。
見た目普通の小型プロペラ機ですが、そのまんま波打ち際から海(?)に入っていきます。
主翼も水に使っていますので抵抗が大きそう。2分くらいはその状態で水面を動いているだけなので、ほんとに離水できるのかな?と心配になってしまいますが、その後ちゃんと飛び立っていて一安心です。
ちょっと前のSFとかボンドシリーズに出てきそうなコンセプトとデザインが中々良いと思います
しかし波が有ったらどうなのかなあ?きっと主翼の上から波をかぶるし。
それではまたです。
Spider Rifle? スパイダーマンのような網を投射するものかな?と思いますよね。
残念ながら違いました。吸いこみによって蜘蛛のような小動物を捕獲する器具です。
おっと思ったのは、吸いこみの原理です。エアダスターを用いて、噴出する空気の流れをうまいこと吸いこみに変えています。見事な逆転の発想だと思います。
それではまたです。
マルツのPIC24FJマイコンボードですが、回路図ないのかなあ、と思って検索したら見つけました
http://hccweb1.bai.ne.jp/~hce26601/bbpic24-new/bbpic24-connection-MPIC24FJ64GA004.pdf
「有限会社イワサキ」さんということろが開発元らしいです。
http://hccweb1.bai.ne.jp/u-iwasaki/
ボード自体の回路図は回路図として、このボードの回路シンボルを
作ってみたので、先日のLED回路を回路図にしてみました。
さて、CPUでLEDを直接駆動していますが、大丈夫でしょうか?
電源電圧3.3V、LEDのVf(順方向電圧)が2V(動作中にテスタで測定)です。
1KΩの抵抗を使っていますので、LEDの駆動電流は(3.3-2)/1000=1.3mAです。
CPUのデータシートを見ると、
http://ww1.microchip.com/downloads/en/devicedoc/39881c.pdf
231ページによるとIOポートのIOL(LOWレベルでの引き込み電流)は
8.5mAということですので1.3mAなら十分引き込めます。
(しかしジャンク箱にあった小型LEDですが1.3mA程度の電流で
結構光るものです。)
電池はどうかな、と考えると、8個のLEDが同時に光るとして
1.3x8=10.4mA。CR2032が定常3mA,パルス15mA。。。。
パルスというにはちょっと長めに光っているので、結構だめそうです。
先日の動画のようにあるていどは動きますが、実はCR2032で
試していて1時間程度しか持ちませんでした。
短時間のデモならともかく、LED応用で少々まともに使うならやっぱり
もうちょっと容量の大きい電池が必要になりますね。
バックライトなしのLCDならどうかなあ?そのうち試してみます。
それではまたです。
バナナ、鉛筆跡、パテ?、水等などでとりあえずキーボードの代わりにしています。
技術的興味はおいておくとして、なんというか、テンポとか作りがとにかく軽快で面白いです。
落ち込んだ時に見ると良さそうな動画ですよ。
それではまたです。
順番が逆になりましたが、Pic24Fマイコンボードを使うために必要なハード、ソフトを整理いたします。
【ハード】
1.PIC24FJマイコンボード : マルツ電波で買えます。
簡単に買えるPIC24シリーズのボードとしては一番小型でシンプルだと思っています。
http://www.marutsu.co.jp/shohin_82198/
2.Pickit3 :やっぱり秋月電子が一番安いかなあ。
http://akizukidenshi.com/catalog/g/gM-03608/
Pickit3ってなに?という方は ここをクリック してください。
3.ボタン電池と電池ホルダ:Pickit3を買うなら一緒に秋月で買うと良いと思います。
http://akizukidenshi.com/catalog/g/gB-00601/
http://akizukidenshi.com/catalog/g/gP-01443/
【ソフト】
1.MPLAB IDEをこちらからダウンロード(ユーザ登録がいりますが無料です。)
http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en019469
2.CコンパイラC30をこちらから別途ダウンロード
http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en535364
必要なものは以上です。
MPLAB IDEのインストール、および C30コンパイラの登録については、
いろんなサイトで解説していますので、上の行のリンク(google検索)を見てくださいね。
それではまたです。
マルツのPIC24Fマイコンボードを小型のRCカーに乗せてLEDメッセージ表示実験をやってみました。
まずは動きをどうぞ。
回路はその2の記事と同じです。
動画にあるように、前に買ってあったおもちゃのRCカーに乗っけて、ソフトだけ下のように
変えました。
#include "P24FJ64GA004.h"
//config
_CONFIG2(0xF9FC);
_CONFIG1(0x3F7F);
//main loop
int main(void)
{
static unsigned char textdata[] = {
0b00000000,0b00000000,0b01111111,0b00001000,0b01111111,
0b00000000,0b00000000,0b01111111,0b01001001,0b01001001,
0b00000000,0b01111111,0b01000000,0b01000000,0b00000000,
0b00000000,0b01111111,0b01000000,0b01000000,0b00000000,
0b00000000,0b00111110,0b01000001,0b00111110,0b00000000,
0b00000000
};
unsigned int i;
//Setup clock
OSCCON = 0x11C0; // FRCPLL
CLKDIV = 0x0030; // 1MIPS SETTING
//IO PORT SETTING
AD1PCFG = 0xffff; // Analog input disable
TRISA = 0x0000; // All output
TRISB = 0x0000; // All output
TRISC = 0x0000; // All output
//Loop
while(1){
for (i=0;i<=25;i++) {
Set_Port(0xff- textdata[i]);
Wait_time(10);
}
}
}
// IO PORT CONTROL
void Set_Port(unsigned char val) {
PORTAbits.RA0 = val & 0x0001;
PORTAbits.RA1 = (val & 0x0002)>>1;
PORTBbits.RB0 = (val & 0x0004)>>2;
PORTBbits.RB1 = (val & 0x0008)>>3;
PORTBbits.RB2 = (val & 0x0010)>>4;
PORTBbits.RB3 = (val & 0x0020)>>5;
PORTCbits.RC0 = (val & 0x0040)>>6;
PORTCbits.RC1 = (val & 0x0080)>>7;
}
// WAIT LOOP
void Wait_time(unsigned int t) {
int t0,t1;
for (t0=0;t0<t;t0++) {
for (t1=0;t1<10000;t1++) {
}
}
}
配列TEXTDATAにビット情報で文字列を入れてそれを繰り返し出力します。
”HELLO”と出しているのですが、動画ではわかりにくいかも。。。。。
それでは今回はここまでです。
マルツのPIC24Fマイコンボードで基本のio動作を動かしました。
まずは動きからどうぞ。
ハードは下の写真のように8個の小型ledを繋ぎました。
ボード左側のピンヘッダCN1AにPORTA,B,Cがでていますので、そこにVCCから
1Kの抵抗を介したLEDを8個つないでいます。
このマイコンボードのCN1AのPORTの配置は以下の通りですので、
それぞれにLEDを繋いでいます。
2pin:RA0 3pin:RA1 4pin:RB0 5pin:RB1 6pin:RB2 7pin:RB3
8pin:RC0 9pin:RC1
このような並びなっていますので、ソフトではRA-RCの各ポートを制御することになります。
サンプルソフトは以下の通りです。今回はAD1PCFGの設定でちょっとはまりました。
これを設定しないといくつかのIOがADC入力になっており動きません。
#include "P24FJ64GA004.h"
//config
_CONFIG2(0xF9FC);
_CONFIG1(0x3F7F);
//main loop
int main(void)
{
unsigned int i;
//Setup clock
OSCCON = 0x11C0; // FRCPLL
CLKDIV = 0x0030; // 1MIPS SETTING
//IO PORT SETTING
AD1PCFG = 0xffff; // Analog input disable //これがないといくつかのIOが動きません。
TRISA = 0x0000; // All output
TRISB = 0x0000; // All output
TRISC = 0x0000; // All output
//Loop
while(1){
for (i=0;i<8;i++) {
Set_Port(0xff - (1<<i));
Wait_time(40);
}
for (i=0;i<8;i++) {
Set_Port(0xff - (0x80 >> i));
Wait_time(40);
}
}
}
// IO PORT CONTROL
void Set_Port(unsigned int val) { //ここで8ビットデータを各ポートに振り分けます。
PORTAbits.RA0 = val & 0x0001;
PORTAbits.RA1 = (val & 0x0002)>>1;
PORTBbits.RB0 = (val & 0x0004)>>2;
PORTBbits.RB1 = (val & 0x0008)>>3;
PORTBbits.RB2 = (val & 0x0010)>>4;
PORTBbits.RB3 = (val & 0x0020)>>5;
PORTCbits.RC0 = (val & 0x0040)>>6;
PORTCbits.RC1 = (val & 0x0080)>>7;
}
// WAIT LOOP
void Wait_time(unsigned int t) {
int t0,t1;
for (t0=0;t0<t;t0++) {
for (t1=0;t1<10000;t1++) {
}
}
}
簡単なものですが、初めてのマイコンボードでLEDが動くのを見るのは
結構楽しみなものです。
とりあえず今回はここまでです。
最近あまり電子工作っぽくない投稿ばかりだなあ、久しぶりにマイコン関係をやろうかな、
どうせやるなら、色々なネタに使いまわせるのがいいな。
と思いまして、マルツでPIC24Fマイコンボードを買ってきました。
http://www.marutsu.co.jp/shohin_82198/
PICは16,18系は結構持っているのですが、PIC24Fにした理由は以下の通りです。
@3.3Vでも動く。(PIC16,PIC18は5V)つまりボタン電池で動くはず。
APIC16,PIC18に比べてテーブルデータの扱いが容易。
Bやっぱり16BITだから性能もよいでしょう。
本体、ピンヘッダ、isp用6ピンピンヘッダ、マニュアルが付いています。
ピンヘッダをはんだ付けします。
ここでボタン電池でこのボードがどのくらい動かせるのかを計算してみました。
WikipediaによるとCR2032の電流容量は225mAH、最大放流電流3mAということです。
PIC24F64GA004のデータシート(225P Operating Current)よると、マイコンの消費電流は、1MIPS動作であればMAX1.2mA。
http://ww1.microchip.com/downloads/en/devicedoc/39881c.pdf
つまり、225/1.2=187.5であり、180時間以上もつということになります。連続でも一週間以上です。
マイコン自体は16MIPSまでの速度で動くのですが、その場合は消費電流も20mAとなりCR2032ではまかなえません。ホビー用途ですしそこまで早い必要はないから、1MIPS設定で使うことといたします。
ということで、まずはボタン電池を繋いでみます。ピンの11ピンに+、12ピンに‐を繋いだだけです。
次にpickit3を繋ぎます。
久しぶりなんでちょっと手間取りましたが、まずは無事動きました。
とりあえず今回はここまでです。
また千石電商の2号店で買ってきたものです。今回はメタルシートのハヤブサです。
正しくは株式会社テンヨーさんというところの「メタリックナノパズル」というようです。
薄い金属シートにパーツが刻んであって、それを取り外して組立ます。
部品は殆どカットしてあって、部品ごとに2〜6か所位プラモデルの取り付けのような感じで切り残っていますのでそこだけカットします。
組立は、合わせか所に穴と耳とがありますので、耳を差し込んで曲げればよいです。
必要な道具はハサミ、ピンセット、ラジオペンチとありますが、ハサミでは傷みそうだし、どうも部品が切り離しにくいです。そこで今回はカッターナイフでやっています。ピンセットは100円毛抜きを使いましたが、特に支障なしでした。
所要時間40分くらい。完成すると下のような感じです。
乗っている台はやはり秋葉原でみつけたソーラー式の回転台(500円)です。これは蛍光灯でも回るので結構使えます。
組立過程を下の動画に撮ったのですがちょっと失敗して手元が良く映っていません。
結構細かい作業なのでやっていてついカメラアングルから離れてしまいました。
中々難しい物です。
それではまたです。
日 | 月 | 火 | 水 | 木 | 金 | 土 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
最近のコメント