上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
--.--.-- -- l スポンサー広告 l top

ロボットのヘビです。普通に這うことも、ウミヘビのように水中で泳ぐこともできます。



実によくできています。そのままSF映画の悪役の方が使えそうです。(褒めていますよ。)



















英語での紹介ですが、日本の東工大のものでした。



http://www-robot.mes.titech.ac.jp/robot/snake/acm-r5/acm-r5.html





こういうの見るといつも思います。



早く原発事故や災害で活躍して欲しい。。。。と。。。





それではまたです。


スポンサーサイト
2012.10.30 Tue l 技術的動画 l コメント (0) トラックバック (0) l top

ロボットダンスとありますが、人間のダンスです。技術的動画とはちょっと違うかもしれません。



しかしご覧頂くとわかるとおり、人間でも機械でもあり得ない動きに見えて、畏怖さえ覚えましたので記事にしてしまいました。



重力とか慣性の法則を無視しているようにさえ見えます。ロボット的と言うよりCGじゃないの、という気持ちになります。















人間って凄いですね。



それではまたです。




2012.10.22 Mon l 技術的動画 l コメント (0) トラックバック (0) l top

自分だけの勝手ですが、最近は毎週末ちょっとした何か作ってアップしようと思ってやっています。マルツのボードはその何かをちょっと動かすのに手軽なので先日から使っています。



(PICマイコン動かすための設定等が誰かの参考になれば幸いかな、程度の思いはあります。)



さて、今回は7セグメントLEDを動かしてみました。



LEDは秋月の↓のものです。10個150円とかなりお安くなっています。



http://akizukidenshi.com/catalog/g/gI-01492/



LEDはこれでなくても良いのですが、PICで動かすにはアノードコモンが良いです。



理由はアノードコモンはPICのIOでLレベルでの引き込みで制御することができること、そしてIOの電流がLレベルの方が大きくとれることからです。(PICに限らず、Lの方が大きな電流を引けるマイコンが多いと思います。)



回路図は下の通りです。電池はボタン電池をやめて単三電池2本としています。



Pic24fj









ソフトは、前回の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のダイナミック動作でもやってみようかな。



それではまたです。




2012.10.21 Sun l PICマイコン l コメント (0) トラックバック (0) l top

飛行艇と言うと、両翼にフロートが付いているか、高翼で胴体が船っぽいか、その両方か、



と思っていましたが、この動画のは違います。











見た目普通の小型プロペラ機ですが、そのまんま波打ち際から海(?)に入っていきます。





主翼も水に使っていますので抵抗が大きそう。2分くらいはその状態で水面を動いているだけなので、ほんとに離水できるのかな?と心配になってしまいますが、その後ちゃんと飛び立っていて一安心です。





ちょっと前のSFとかボンドシリーズに出てきそうなコンセプトとデザインが中々良いと思います







しかし波が有ったらどうなのかなあ?きっと主翼の上から波をかぶるし。 





それではまたです。




2012.10.19 Fri l 技術的動画 l コメント (0) トラックバック (0) l top

Spider Rifle? スパイダーマンのような網を投射するものかな?と思いますよね。













残念ながら違いました。吸いこみによって蜘蛛のような小動物を捕獲する器具です。





おっと思ったのは、吸いこみの原理です。エアダスターを用いて、噴出する空気の流れをうまいこと吸いこみに変えています。見事な逆転の発想だと思います。







それではまたです。




2012.10.19 Fri l 技術的動画 l コメント (0) トラックバック (0) l top

マルツのPIC24FJマイコンボードですが、回路図ないのかなあ、と思って検索したら見つけました
http://hccweb1.bai.ne.jp/~hce26601/bbpic24-new/bbpic24-connection-MPIC24FJ64GA004.pdf



「有限会社イワサキ」さんということろが開発元らしいです。
http://hccweb1.bai.ne.jp/u-iwasaki/



ボード自体の回路図は回路図として、このボードの回路シンボルを



作ってみたので、先日のLED回路を回路図にしてみました。



Pic24fj


見ての通りほんとに電池と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ならどうかなあ?そのうち試してみます。







それではまたです。




2012.10.16 Tue l PICマイコン l コメント (0) トラックバック (0) l top

バナナ、鉛筆跡、パテ?、水等などでとりあえずキーボードの代わりにしています。











技術的興味はおいておくとして、なんというか、テンポとか作りがとにかく軽快で面白いです。



落ち込んだ時に見ると良さそうな動画ですよ。





それではまたです。




2012.10.15 Mon l 技術的動画 l コメント (0) トラックバック (0) l top

順番が逆になりましたが、Pic24Fマイコンボードを使うために必要なハード、ソフトを整理いたします。



【ハード】



1.PIC24FJマイコンボード : マルツ電波で買えます。



簡単に買えるPIC24シリーズのボードとしては一番小型でシンプルだと思っています。



Dscf1404



http://www.marutsu.co.jp/shohin_82198/



2.Pickit3 :やっぱり秋月電子が一番安いかなあ。



Dscf1448



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検索)を見てくださいね。





それではまたです。




2012.10.15 Mon l PICマイコン l コメント (0) トラックバック (0) l top

マルツの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”と出しているのですが、動画ではわかりにくいかも。。。。。



それでは今回はここまでです。


2012.10.14 Sun l PICマイコン l コメント (0) トラックバック (0) l top

マルツのPIC24Fマイコンボードで基本のio動作を動かしました。



まずは動きからどうぞ。













ハードは下の写真のように8個の小型ledを繋ぎました。



Dscf1436_3 ちょっと分かりにくいですが、



ボード左側のピンヘッダ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が動くのを見るのは



結構楽しみなものです。



とりあえず今回はここまでです。


2012.10.13 Sat l PICマイコン l コメント (0) トラックバック (0) l top
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。