jogo

versão 1


( case 0 ) ID: 0x8CC983A7 | Dados: FF 5F FF FF FF FF FF FF

(case 1) ID: 0x8CC983A7 | Dados: FF 1F FF FF FF FF FF FF

( case 2 ) ID: 0x8CC980A7 | Dados: FF 5F FF FF FF FF FF FF





01 #include <SPI.h>

02 #include <mcp2515.h>

03 struct can_frame canMsg;

04 MCP2515 mcp2515(10);

05

06 byte etapa = 0;

07

08 bool enviar = false;

09 bool lerCAN = true;

10 

11 void setup() {

12 Serial.begin(115200);

13 SPI.begin();

14 

15 mcp2515.reset();

16 mcp2515.setBitrate(CAN_250KBPS , MCP_8MHZ);

17 mcp2515.setNormalMode();

18

19 canMsg.can_id  = 0x8CC991A7;

20 canMsg.can_dlc = 8;

21

22 Serial.println("Comandos:");

23 Serial.println("1 = Enviar ON");

24 Serial.println("0 = Enviar OFF");

25 Serial.println("r = Ler CAN ON");

26 Serial.println("p = Ler CAN OFF");

27 }

28 

29 void loop() {

30 

31 // 🔹 Controle via Serial

32 if (Serial.available()) {

33 char comando = Serial.read();

34 

35 if (comando == '1') {

36 enviar = true;

37 Serial.println("Envio ATIVADO");

38 }

40

41 if (comando == '0') {

42 enviar = false;

43 Serial.println("Envio PARADO");

44 }

45 

46 if (comando == 'r') {

47 lerCAN = true;

48 Serial.println("Leitura CAN ATIVADA");

49 }

50

51 if (comando == 'p') {

52 lerCAN = false;

53 Serial.println("Leitura CAN PARADA");

54 }

55 }

56 

57 // 🔹 ENVIO CAN

58 if (enviar) {

59

60 switch (etapa) {

61

62 case 0:

67 canMsg.data[0] = 0xFF;

68 canMsg.data[1] = 0x5F;

69 canMsg.data[2] = 0xFF;

70 canMsg.data[3] = 0xFF;

71 canMsg.data[4] = 0xFE;

72 canMsg.data[5] = 0xFF;

73 canMsg.data[6] = 0xFF;

74 canMsg.data[7] = 0xFF;

75 break;

76 

77 case 1:

78 canMsg.data[0] = 0xFF;

79 canMsg.data[1] = 0x1F;

80 canMsg.data[2] = 0xFF;

81 canMsg.data[3] = 0xFF;

82 canMsg.data[4] = 0xFF;

83 canMsg.data[5] = 0xFF;

84 canMsg.data[6] = 0xFF;

85 canMsg.data[7] = 0xFF;

86 break;

87 

88 case 2:

89 canMsg.data[0] = 0xFF;

90 canMsg.data[1] = 0x5F;

91 canMsg.data[2] = 0xFF;

92 canMsg.data[3] = 0xFF;

93 canMsg.data[4] = 0xFF;

94 canMsg.data[5] = 0xFF;

95 canMsg.data[6] = 0xFF;

96 canMsg.data[7] = 0xFF;

97 break;

98 

99 case 3:

100 canMsg.data[0] = 0xFF;

101 canMsg.data[1] = 0xFF;

102 canMsg.data[2] = 0xFF;

103 canMsg.data[3] = 0xFF;

104 canMsg.data[4] = 0xFF;

105 canMsg.data[5] = 0xFF;

106 canMsg.data[6] = 0xFF;

107 canMsg.data[7] = 0xFF;

108 break;

109

110 case 4:

111 canMsg.data[0] = 0xFF;

112 canMsg.data[1] = 0xFF;

113 canMsg.data[2] = 0xFF;

114 canMsg.data[3] = 0xFF;

115 canMsg.data[4] = 0xFF;

116 canMsg.data[5] = 0xFF;

117 canMsg.data[6] = 0xFF;

118 canMsg.data[7] = 0xFF;

119 break;

120

121 case 5:

122 canMsg.data[0] = 0xFF;

123 canMsg.data[1] = 0xFF;

124 canMsg.data[2] = 0xFF;

125 canMsg.data[3] = 0xFF;

126 canMsg.data[4] = 0xFF;

127 canMsg.data[5] = 0xFF;

128 canMsg.data[6] = 0xFF;

129 canMsg.data[7] = 0xFF;

130 break;

131 }

132 

133 mcp2515.sendMessage(&canMsg);

134 

135 etapa++;

136 if (etapa > 5) etapa = 0;

137 

138 delay(60);

139 }

140

141 // 🔹 LEITURA CAN

142 if (lerCAN) {

143

144 if (mcp2515.readMessage(&canMsg) == MCP2515::ERROR_OK) {

145

146 Serial.print("ID: 0x");

147 Serial.print(canMsg.can_id, HEX);

148 Serial.print("| Dados: ");

149

150 for (int i = 0; i < canMsg.can_dlc; i++) {

151 if (canMsg.data[i] < 0x10) Serial.print("0");

152 Serial.print(canMsg.data[i], HEX);

153 Serial.print(" ");

154 }

155

156 Serial.println();

157 }

158 }

159 }


Esses são os comandos que reseta o modo

( case 0 ) ID: 0x8CC983A7 | Dados: FF 5F FF FF FF FF FF FF

(case 1) ID: 0x8CC983A7 | Dados: FF 1F FF FF FF FF FF FF

( case 2 ) ID: 0x8CC980A7 | Dados: FF 5F FF FF FF FF FF FF



Esses são as leituras que tivemos tomando programado e quando ele ficou virgem

1| ID: 0x8CC5FF83 | Dados: 00 7D FF FF FF FF FF FF = vezes 5

2| ID: 0x8CC5FF83 | Dados: 00 7D FF FF FF FF FF FF = vezes 5

3| ID: 0x8CC4FF83 | Dados: 58 10 01 05 FF FF FF FF = vezes 2

4| ID: 0x8CC980A7 | Dados: FF 0F FF FF FF FF FF FF = vezes 8

5| ID: 0x8CC983A7 | Dados: FF 0F FF FF FF FF FF FF = vezes 8

6| ID: 0x8CC9A783 | Dados: FF FF FF F0 FF FF FF FF = vezes 2

7| ID: 0x8DC9A783 | Dados: FF FF FF FF FF 3F FF FF = vezes 2

8| ID: 0x8CC5FF83 | Dados: 00 7D FF FF FF FF FF FF = vezes 5

9| ID: 0x8CC5FF83 | Dados: 00 7D FF FF FF FF FF FF = vezes 5

10| ID: 0x8CC980A7 | Dados: FF 0F FF FF FF FF FF FF = vezes 8

11| ID: 0x8CC983A7 | Dados: FF 0F FF FF FF FF FF FF = vezes 8

12| ID: 0x8CC9A783 | Dados: FF FF FF F0 FF FF FF FF = vezes 2

13| ID: 0x8DC9A783 | Dados: FF FF FF FF FF 3F FF FF = vezes 2

14| ID: 0x8CC5FF83 | Dados: 00 7D FF FF FF FF FF FF = vezes 5

15| ID: 0x8CC4FF83 | Dados: 58 10 01 05 FF FF FF FF = vezes 2

16| ID: 0x8CC983A7 | Dados: FF 5F FF FF FF FF FF FF = vezes 1

17| ID: 0x8CC983A7 | Dados: FF 1F FF FF FF FF FF FF = vezes 1

18| ID: 0x8CC980A7 | Dados: FF 5F FF FF FF FF FF FF = vezes 1

19| ID: 0x8CC9A780 | Dados: FF FF FF F0 FF FF FF FF = vezes 18

20| ID: 0x8DC9A780 | Dados: FF FF FF FF FF 3F FF FF = vezes 18

21| ID: 0x8CC9A780 | Dados: FF FF FF F0 FF FF FF FF = vezes 18

22| ID: 0x8DC9A780 | Dados: FF FF FF FF FF 3F FF FF = vezes 18

23| ID: 0x8CC980A7 | Dados: FF 0F FF FF FF FF FF FF = vezes 8

24| ID: 0x8CC9A780 | Dados: FF FF FF F0 FF FF FF FF = vezes 18

25| ID: 0x8CC983A7 | Dados: FF 0F FF FF FF FF FF FF = vezes 8

26| ID: 0x8DC9A780 | Dados: FF FF FF FF FF 3F FF FF = vezes 18

27| ID: 0x8CC9A780 | Dados: FF FF FF F0 FF FF FF FF = vezes 18

28| ID: 0x8DC9A780 | Dados: FF FF FF FF FF 3F FF FF = vezes 18

29| ID: 0x8CC9A780 | Dados: FF FF FF F0 FF FF FF FF = vezes 18

30| ID: 0x8DC9A780 | Dados: FF FF FF FF FF 3F FF FF = vezes 18

31| ID: 0x8CC980A7 | Dados: FF 0F FF FF FF FF FF FF = vezes 8

32| ID: 0x8CC9A780 | Dados: FF FF FF F0 FF FF FF FF = vezes 18

33| ID: 0x8DC9A780 | Dados: FF FF FF FF FF 3F FF FF = vezes 18

34| ID: 0x8CC983A7 | Dados: FF 0F FF FF FF FF FF FF = vezes 8

35| ID: 0x8CC9A780 | Dados: FF FF FF F0 FF FF FF FF = vezes 18

36| ID: 0x8DC9A780 | Dados: FF FF FF FF FF 3F FF FF = vezes 18

37| ID: 0x8CC9A780 | Dados: FF FF FF F0 FF FF FF FF = vezes 18

38| ID: 0x8DC9A780 | Dados: FF FF FF FF FF 3F FF FF = vezes 18

39| ID: 0x8CC980A7 | Dados: FF 0F FF FF FF FF FF FF = vezes 8

40| ID: 0x8CC9A780 | Dados: FF FF FF F0 FF FF FF FF = vezes 18

41| ID: 0x8DC9A780 | Dados: FF FF FF FF FF 3F FF FF = vezes 18

42| ID: 0x8CC983A7 | Dados: FF 0F FF FF FF FF FF FF = vezes 8

43| ID: 0x8CC9A780 | Dados: FF FF FF F0 FF FF FF FF = vezes 18

44| ID: 0x8DC9A780 | Dados: FF FF FF FF FF 3F FF FF = vezes 18

45| ID: 0x8CC9A780 | Dados: FF FF FF F0 FF FF FF FF = vezes 18

46| ID: 0x8DC9A780 | Dados: FF FF FF FF FF 3F FF FF = vezes 18

47| ID: 0x8CC980A7 | Dados: FF 0F FF FF FF FF FF FF = vezes 8

48| ID: 0x8CC9A780 | Dados: FF FF FF F0 FF FF FF FF = vezes 18

49| ID: 0x8DC9A780 | Dados: FF FF FF FF FF 3F FF FF = vezes 18

50| ID: 0x8CC983A7 | Dados: FF 0F FF FF FF FF FF FF = vezes 8

51| ID: 0x8CC9A780 | Dados: FF FF FF F0 FF FF FF FF = vezes 18

52| ID: 0x8DC9A780 | Dados: FF FF FF FF FF 3F FF FF = vezes 18

53| ID: 0x8CC9A780 | Dados: FF FF FF F0 FF FF FF FF = vezes 18

54| ID: 0x8DC9A780 | Dados: FF FF FF FF FF 3F FF FF = vezes 18

55| ID: 0x8CC980A7 | Dados: FF 0F FF FF FF FF FF FF = vezes 8

56| ID: 0x8CC9A780 | Dados: FF FF FF F0 FF FF FF FF = vezes 18

57| ID: 0x8DC9A780 | Dados: FF FF FF FF FF 3F FF FF = vezes 18

58| ID: 0x8CC983A7 | Dados: FF 0F FF FF FF FF FF FF = vezes 8

59| ID: 0x8CC9A780 | Dados: FF FF FF F0 FF FF FF FF = vezes 18

60| ID: 0x8DC9A780 | Dados: FF FF FF FF FF 3F FF FF = vezes 18

61| ID: 0x8CC9A780 | Dados: FF FF FF F0 FF FF FF FF = vezes 18

62| ID: 0x8DC9A780 | Dados: FF FF FF FF FF 3F FF FF = vezes 18

63| ID: 0x8CC980A7 | Dados: FF 0F FF FF FF FF FF FF = vezes 8

64| ID: 0x8CC9A780 | Dados: FF FF FF F0 FF FF FF FF = vezes 18

65| ID: 0x8DC9A780 | Dados: FF FF FF FF FF 3F FF FF = vezes 18

66| ID: 0x8CC983A7 | Dados: FF 0F FF FF FF FF FF FF = vezes 8