ビーンバック回収、テープLED、美少女ボイス担当マイコンのプログラム
Dependencies: mbed SBDBT arrc_mbed play_mp3
main.cpp
- Committer:
- sopuranoaruto
- Date:
- 2022-03-08
- Revision:
- 3:4d2a0e4bb4d9
- Parent:
- 2:9adbf7e03f35
- Child:
- 4:925391180349
File content as of revision 3:4d2a0e4bb4d9:
#include "mbed.h" #include "neopixel.h" #include "scrp_slave.hpp" Serial pc(USBTX,USBRX); ScrpSlave slave(PC_12,PD_2,PH_1,SERIAL_TX,SERIAL_RX,5); NeoPixelOut npx(PB_0,10); bool colormode = 0; bool stop = 0; int i = 0; //モード変更 50 bool get_changemode(int rx_data,int &tx_data) { if(rx_data == 1) { if(colormode == 0){ colormode = 1; } } else { if(colormode == 1){ colormode = 0; } } return true; } //非常停止 51 bool get_stop(int rx_data,int &tx_data) { if(rx_data == 0) { stop = 0; } else { stop = 1; for(i=0; i<npx.numPixels(); i++) { npx.setPixelColor(i,0x000000); } } return true; } int main() { //モード変更 slave.addCMD(50,get_changemode); //非常停止 slave.addCMD(51,get_stop); //光の強さ npx.global_scale = 0.05f; //信号来ていないときは光らない npx.normalize = false; while(1) { //非常停止解除 if(stop == 0) { if(colormode == 0) { //手動モード 赤 for(i = 0; i < npx.numPixels(); i++) { npx.setPixelColor(i,0xFF0000); npx.show(); pc.printf("control\n"); wait(0.05); if(i == npx.numPixels()) { i = 0; } } //自動モード 青 } else if(colormode == 1) { for(i = 0; i < npx.numPixels(); i++) { npx.setPixelColor(i,0x0000FF); npx.show(); pc.printf("auto\n"); wait(0.05); if(i == npx.numPixels()) { i = 0; } } } //非常停止 } else if(stop == 1) { for(i = 0; i < npx.numPixels(); i++) { pc.printf("stopping\n"); npx.setPixelColor(i,0x000000); npx.show(); wait(0.05); if(i == npx.numPixels()) { i = 0; } } } } }