![](/media/cache/group/default_image.jpg.50x50_q85.jpg)
2017年3月,伊豆大島共同打上実験 CORE_缶ロケチーム電装
Dependencies: MPU6050 MS5607 mbed SDFileSystem
Diff: main.cpp
- Revision:
- 5:bcf55d8fe7a7
- Parent:
- 4:cc266df87f3e
- Child:
- 6:15204813ef87
--- a/main.cpp Sun Feb 19 10:42:33 2017 +0000 +++ b/main.cpp Mon Feb 20 12:25:06 2017 +0000 @@ -1,3 +1,36 @@ +/* +2017年3月 伊豆大島共同打上実験 +団体名:CORE +チーム名:ヌペリオル +該当電装:ロケット搭載用 + +使用部品 +・LPC1768(マイコン) +・MPU6050(加速度・ジャイロセンサ) +・MS5607(気圧・気温センサ) +・MicroSDスロット +・MG995(サーボモータ)×4 + +ピン配置 +LPC1768 MPU6050 MS5607 MicroSD MG995_1 MG995_2 MG995_3 MG995_4 +VIN--------------------------------------------------------------------4.5~9.0V +-----------------------------------VIN------VIN------VIN------VIN------5V +Vout-----VCC------VIN-----VDD------------------------------------------3.3V + -ADO -PS +GND------GND------GND-----VSS------GND------GND------GND------GND------0V + -CS +p9-------SDA------SDA---------------------------------------------------- +p10------SCL------SCL---------------------------------------------------- +p11-----------------------CLK-------------------------------------------- +p12-----------------------DAT0------------------------------------------- +p13-----------------------CMD-------------------------------------------- +p14-----------------------CD/DAT0---------------------------------------- +p23--------------------------------CTRL---------------------------------- +p24-----------------------------------------CTRL------------------------- +p25--------------------------------------------------CTRL---------------- +p26-----------------------------------------------------------CTRL------- +*/ + #include "mbed.h" #include "MS5607I2C.h" #include "MPU6050.h" @@ -23,17 +56,26 @@ Serial pc(USBTX, USBRX); SDFileSystem sd(p11, p12, p13, p14, "sd"); +PwmOut Door_1_1(p23); +PwmOut Door_1_2(p24); +PwmOut Door_2_1(p25); +PwmOut Door_2_2(p26); + Timer timer; Ticker loop_log; Ticker loop_open; +/*ログカウンタ*/ +bool row = 0; int8_t col = 0; -int8_t Phase = STANDBY; -bool row = 0; +/*ログ格納用*/ float pressure[2][RATE_LOG],temperature[2][RATE_LOG]; float acc[2][RATE_LOG][3],gyro[2][RATE_LOG][3]; float t[2][RATE_LOG]; float t_top,alt,alt_max,alt_launch; +/*フェイズ変数*/ +int8_t Phase = STANDBY; +/*降下判定用*/ int8_t cnt_drop = 0; FILE *fp; @@ -43,6 +85,10 @@ int main() { timer.start(); + Door_1_1.period_ms(20); + Door_1_2.period_ms(20); + Door_2_1.period_ms(20); + Door_2_2.period_ms(20); fp = fopen("/sd/log.txt", "w"); fprintf(fp, "pressure,temperature,ax,ay,az,gx,gy,gz\r\n"); loop_log.attach(&_Log,1.0/RATE_LOG); @@ -57,7 +103,7 @@ Phase = LAUNCH; break; case LAUNCH://フライトモード(発射判定可) - alt_launch = ms5607.getAltitude(); + alt_launch = ms5607.getAltitude(); if(sw==0)Phase = FLIGHT; break; case FLIGHT://飛翔中(頂点判定可)