Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed
Diff: main.cpp
- Revision:
- 0:9669502e17f0
- Child:
- 1:b12e35a43ee1
diff -r 000000000000 -r 9669502e17f0 main.cpp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp Sun Aug 15 14:07:43 2021 +0000
@@ -0,0 +1,91 @@
+#include "mbed.h"
+
+//コマンド取得とモード変換は関数にいれたほうがわかりやすい
+void nichrome_ON();
+void buzzerON();
+void getCommand();
+
+Serial pc(USBTX, USBRX,38400);//ボーレートを落とすと,USB側からのデータが正確に出力されない.//pcと直接通信してないのに定義する必要ある?
+Serial im920(PA_9,PA_10,19200);//TX(IM920_RX), RX(IM920_TX)
+DigitalOut mcu_1(PA_7);
+DigitalOut mcu_2(PA_6);
+DigitalOut cameraPow(PF_0);
+DigitalOut cameraRec(PF_1);
+DigitalOut nichrome(PA_8);
+DigitalOut buzzer(PA_11);
+DigitalIn flightPin(PA_12);
+Timeout t;
+
+int main()
+{
+ //ここに電源投入のプロトコル
+ char temp;
+ char str[100];
+ int i=0;
+
+
+ Timeout t;
+
+ while(1) {
+ if(im920.readable()) { //IM920からのデータがある場合
+ temp = im920.getc();//一文字読み込む
+ if(temp != '\r') { //読み込み文字が改行で無い場合
+ str[i] = temp;
+ i++;
+ } else if(temp == '\r') { //読み込み文字が改行の場合//\nではなく\rを使うのに理由はある?
+ if(str[i-2] == 's') {
+ if(str[i-1] == 't') { //今回はstartの"st"で判定する
+ mcu_1=1;
+ wait(0.1); //電流流すの何秒間にしましょう?
+ mcu_1=0;
+ break;
+ }
+ }
+ }
+ }
+ }
+ cameraPow=1;
+ cameraRec=1;//カメラスタートという指示しかないけど、電源と録画開始は同じ時間でいいのか?
+
+ while(flightPin!=1) {
+ if(im920.readable()) { //IM920からのデータがある場合
+ temp = im920.getc();//一文字読み込む
+ if(temp != '\r') { //読み込み文字が改行で無い場合
+ str[i] = temp;
+ i++;
+ } else if(temp == '\r') { //読み込み文字が改行の場合//\nではなく\rを使うのに理由はある?
+ if(str[i-2] == 'r') {
+ if(str[i-1] == 'e') { //今回はresetの"re"で判定する
+ mcu_1=1;
+ mcu_2=1;
+ wait(0.1); //電流流すの何秒間にしましょう?
+ mcu_1=0;
+ mcu_2=0;
+ }
+ }
+ }
+ }
+ }
+ t.attach(nichrome_ON,3);//ニクロムを作動させるまでの時間
+ //ここからGPSの情報取得して送信
+}
+
+void nichrome_ON(){
+ printf("テグスカット!\n\r");
+ nichrome=1;
+ wait(2.0);//テグスを切るまでにかかる時間
+ nichrome=0;
+ t.detach();
+ t.attach(buzzerON,6);//ブザー作動までの時間
+}
+
+void buzzerON(){
+ printf("ブザー作動\n\r");
+ buzzer=1;
+ //ここからモード変換だけど、わかりにくかったら他の関数に入れてもいいかも
+ mcu_1=1;
+ wait(0.1);//電流何秒流す?
+ mcu_1=0;
+}
+
+void getCommand(){}
\ No newline at end of file