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.
main.cpp
- Committer:
- shina
- Date:
- 2019-12-25
- Revision:
- 0:52c9292660e4
File content as of revision 0:52c9292660e4:
//交ロボ nucleo プログラム 茨城D
//設定
#include "mbed.h"
#include "PS3.h"
I2C i2c(D14,D15);
Serial pc(USBTX,USBRX);
PS3 ps3(D8,D2);
DigitalOut stop(D9);
DigitalOut green(D7);
DigitalOut yellow(D6);
DigitalOut red(D5);
void initialization();
void emergency();
void get_data();
void change_data();
void send_data(char address,char data);
char data_right=0x00;
char data_left=0x00;
int Ry=0;
int left1=0;
int right1=0;
int start=0;
int old_start=0;
bool flag=1;
int main(){
green=1;
stop=0;
initialization();
while(true){
get_data();
emergency();
change_data();
send_data(0x12,data_right);
send_data(0x14,data_left);
}
}
void initialization(){
red=0;
data_right=0x00;
data_left=0x00;
send_data(0x12,data_right);
send_data(0x14,data_left);
}
void emergency(){
if(old_start!=start){
old_start=start;
if(start==1){
if(flag==1){
stop=1;
flag=0;
red=1;
}else if(flag==0){
stop=0;
flag=1;
red=0;
}
}
}
}
void get_data(){
Ry=ps3.getLeftJoystickYaxis();
left1=ps3.getButtonState(L1);
right1=ps3.getButtonState(R1);
start=ps3.getSTARTState();
}
void change_data(){
if(Ry>32&&right1==0&&left1==0){
red=1;
data_right=0xff;
data_left=0xaf;
}else if(Ry<-32&&right1==0&&left1==0){
red=1;
data_right=0xaf;
data_left=0xff;
}else if(-32<=Ry<=32&&right1==1&&left1==0){
red=1;
data_right=0xff;
data_left=0xff;
}else if(-32<=Ry<=32&&right1==0&&left1==1){
red=1;
data_right=0xaf;
data_left=0xaf;
}else{
red=0;
data_right=0x00;
data_left=0x00;
}
}
void send_data(char address,char data){
i2c.start();
yellow=i2c.write(address);
i2c.write(data);
i2c.stop();
wait(0.003);
}