らずらいと姫の挑戦日記(第18回)~ORIZURUを飛ばす!!!~
2016-08-10

ORIZURUに必要なコントローラとモーター両方学びました。今回はついにORIZURUを飛ばしたいと思います!!!
拡大写真です♪
コントローラーのプログラム
前回までに学んだコントローラのプログラムを全てつなげつなげてみました。↓↓↓
[c]
#define LED 26 // pin number of Blue LED
#define ORANGE_LED 25 // pin number of ORANGGE LED
#define SUBGHZ_CH 36 // channel number (frequency)
#define PANID 0xABCD // panid
#define HOST_ADDRESS 0x10 // distination address
short data_packet[4];
void setup(void)
{
int i;
SUBGHZ_PARAM param;
for(i=3;i<=8;i++)
{
pinMode(i,INPUT_PULLUP);
}
SubGHz.init(); // initializing Sub-GHz
SubGHz.getSendMode(¶m);
param.addrType = 4;
SubGHz.setSendMode(¶m);
pinMode(LED,OUTPUT); // setting of LED
pinMode(ORANGE_LED,OUTPUT); // setting of LED
digitalWrite(LED,HIGH); // setting of LED
Serial.begin(115200);
}
void loop(void)
{
short rx;
short ry;
short rz;
unsigned char sw;
int i;
SUBGHZ_MSG msg;
data_packet[0]=analogRead(A0) – 512;
data_packet[1]=analogRead(A1) – 512;
data_packet[2]=analogRead(A2);
sw=0;
for(i=3;i<=8;i++)
{
sw = (sw << 1) + ((digitalRead(i) == LOW) ? 1 : 0);
}
data_packet[3]=(short)sw;
SubGHz.begin(SUBGHZ_CH, PANID, SUBGHZ_100KBPS, SUBGHZ_PWR_20MW); // start Sub-GHz
// preparing data
digitalWrite(LED,LOW); // LED ON
while(1)
{
msg = SubGHz.send(PANID, HOST_ADDRESS, (unsigned char*)&data_packet, sizeof(data_packet),NULL); // send data
if(msg == SUBGHZ_TX_CCA_FAIL)
{
digitalWrite(ORANGE_LED,LOW);
}
else
{
digitalWrite(ORANGE_LED,HIGH);
break;
}
}
digitalWrite(LED,HIGH); // LED off
Serial.print_long((long)data_packet[0],DEC);
Serial.print(",");
Serial.print_long((long)data_packet[1],DEC);
Serial.print(",");
Serial.print_long((long)data_packet[2],DEC);
Serial.print(",");
Serial.print_long((long)data_packet[3],DEC);
Serial.println("");
// close
SubGHz.close(); // Sub-GHz module sets into power down mode.
delay(50);
}
[/c]
ORIZURU飛びます☆
飛び立つ時に、両翼の動きを確認しています。DCモーターがまわり、勢いよく羽が羽ばたいていますね!そして、飛び立ちます!!
ORIZURUが頑張って飛んでくれています♡♥♡飛行成功です
サーボモーターでORIZURUの方向と、上昇下降を調節して壁にぶつからないよう、墜落しなしように制御しています。
プログラムも電子工作も全くの初心者のわたしですが、夢であったORIZURUを飛ばす事が出来ました~。感動の時間でした☆☆☆
次回は、触ったら反応する「静電タッチ」のシステムを考えていきたいと思います!