2019NHK_teamA / Mbed 2 deprecated PS3_to_servo1

Dependencies:   mbed PS3

Committer:
adaemon
Date:
Mon Jun 17 08:25:54 2019 +0000
Revision:
1:8535eef790f1
Parent:
0:738a25907be7
control servo

Who changed what in which revision?

UserRevisionLine numberNew contents of line
adaemon 0:738a25907be7 1 #include "mbed.h"
adaemon 0:738a25907be7 2 #include "PS3.h"
adaemon 0:738a25907be7 3
adaemon 0:738a25907be7 4 I2C i2c(PB_9,PB_8);
adaemon 0:738a25907be7 5 PS3 ps3(D8,D2);
adaemon 0:738a25907be7 6 DigitalOut led(LED1);
adaemon 0:738a25907be7 7 Serial pc(USBTX,USBRX);
adaemon 0:738a25907be7 8
adaemon 0:738a25907be7 9 void send(char address,char data);
adaemon 0:738a25907be7 10
adaemon 0:738a25907be7 11 int main(void){
adaemon 0:738a25907be7 12 i2c.frequency(100000);
adaemon 0:738a25907be7 13 int circle;
adaemon 1:8535eef790f1 14 int old_circle;
adaemon 1:8535eef790f1 15 //int cross;
adaemon 1:8535eef790f1 16 int memo = 0;
adaemon 0:738a25907be7 17
adaemon 1:8535eef790f1 18 char ninty = 0x01;
adaemon 1:8535eef790f1 19 char zero = 0x02;
adaemon 1:8535eef790f1 20 char nosignal = 0xff;
adaemon 1:8535eef790f1 21 char add = 0x18;
adaemon 1:8535eef790f1 22
adaemon 0:738a25907be7 23 while(1){
adaemon 0:738a25907be7 24 circle = ps3.getButtonState(maru);
adaemon 0:738a25907be7 25
adaemon 1:8535eef790f1 26 if(circle != old_circle){
adaemon 1:8535eef790f1 27 old_circle = circle;
adaemon 1:8535eef790f1 28 if(circle == 1 && memo == 1){
adaemon 1:8535eef790f1 29 send(add,ninty);
adaemon 1:8535eef790f1 30 memo = 0;
adaemon 1:8535eef790f1 31 }else if(circle == 1 && memo == 0){
adaemon 1:8535eef790f1 32 send(add,zero);
adaemon 1:8535eef790f1 33 memo = 1;
adaemon 1:8535eef790f1 34 }else{
adaemon 1:8535eef790f1 35 send(add,nosignal);
adaemon 1:8535eef790f1 36 }
adaemon 1:8535eef790f1 37 }/*else{
adaemon 1:8535eef790f1 38 send(add,nosignal);
adaemon 1:8535eef790f1 39 }*/
adaemon 1:8535eef790f1 40
adaemon 1:8535eef790f1 41
adaemon 1:8535eef790f1 42 //cross = ps3.getButtonState(batu);
adaemon 1:8535eef790f1 43
adaemon 1:8535eef790f1 44 /*pc.printf("%4d:%4d\n",circle,memo_servo);
adaemon 1:8535eef790f1 45
adaemon 1:8535eef790f1 46 if(circle == 1 && memo_servo == 1){
adaemon 0:738a25907be7 47 send(add,ninty);
adaemon 1:8535eef790f1 48 memo_servo = 0;
adaemon 1:8535eef790f1 49 wait(3);
adaemon 1:8535eef790f1 50
adaemon 1:8535eef790f1 51 }else if(circle == 1 && memo_servo == 0){
adaemon 0:738a25907be7 52 send(add,zero);
adaemon 1:8535eef790f1 53 memo_servo = 1;
adaemon 1:8535eef790f1 54 wait(3);
adaemon 0:738a25907be7 55 }else{
adaemon 0:738a25907be7 56 send(add,nosignal);
adaemon 1:8535eef790f1 57 }*/
adaemon 1:8535eef790f1 58 }
adaemon 0:738a25907be7 59 }
adaemon 0:738a25907be7 60
adaemon 0:738a25907be7 61 void send(char address,char data){
adaemon 0:738a25907be7 62 i2c.start();
adaemon 0:738a25907be7 63 i2c.write(address);
adaemon 0:738a25907be7 64 i2c.write(data);
adaemon 0:738a25907be7 65 i2c.stop();
adaemon 0:738a25907be7 66 }