Escolar Documentos
Profissional Documentos
Cultura Documentos
2020***********************************************************************************************
****************************************
// AUTORES:
// JOSÉ HÉLIO
// JUAN ALBURQUERQUE
// ÍTALO SIBALDO
// MARIA PAULA
// BIBLIOTECAS
#include <Adafruit_MLX90614.h> // SENSOR INFRARED
#include <Wire.h> // I2C
#include <SPI.h> // SPI
#include "mcp_can.h" // CAN
//DEFINIÇÃO DE MACROS
#define s_indutivo1 3 // SAÍDA DO SENSOR INDUTIVO 1
#define s_indutivo2 4 // SAÍDA DO SENSOR INDUTIVO 2
// VARIÁVEIS GLOBAIS
const int CANid0 = 0x7FA; // IDENTIFICADOR PARA ROTAÇÃO DO PNEU TRASEIRO DIREITO
const int CANid1 = 0x7FB; // IDENTIFICADOR PARA ROTAÇÃO DO PNEU TRASEIRO ESQUERDO
const int CANid2 = 0x7FC; // IDENTIFICADOR PARA TEMPERATURA DO DISCO DE FREIO TRASEIRO ESQUERDO
const int CANid3 = 0x7FD; // IDENTIFICADOR PARA ROTAÇÃO DO PNEU DIANTEIRO DIREITO
const int CANid4 = 0x7FE; // IDENTIFICADOR PARA ROTAÇÃO DO PNEU DIANTEIRO ESQUERDO
const int CANid5 = 0x7FF; // IDENTIFICADOR TEMPERATURA DO DISCO DE FREIO DIANTEIRO DIREITO
// FUNÇÃO "tempo"
void tempo()
{
t_codigo = micros();
t_giro = t_codigo - t;
t = t_codigo;
}
// FUNÇÃO "setup"
void setup()
{
while (CAN_OK != CAN.begin(CAN_500KBPS)) // INICIALIZANDO CAN COM 500KBPS DE BAUD RATE
{
//Serial.println("CAN BUS Shield init fail");
//Serial.println(" Init CAN BUS Shield again");
//delay(100);
}
pinMode(s_indutivo1, INPUT);
pinMode(s_indutivo2, INPUT);
pinMode(BS0, INPUT);
pinMode(BS1, INPUT);
// FUNÇÃO "loop"
void loop()
{
char dataCAN0[8]; // DADO REDE CAN - ROTAÇÃO DO PNEU TRASEIRO DIREITO
char dataCAN1[8]; // DADO REDE CAN - ROTAÇÃO DO PNEU TRASEIRO ESQUERDO
char dataCAN2[8]; // DADO REDE CAN - TEMPERATURA DO DISCO DE FREIO TRASEIRO ESQUERDO
char dataCAN3[8]; // DADO REDE CAN - ROTAÇÃO DO PNEU DIANTEIRO DIREITO
char dataCAN4[8]; // DADO REDE CAN - ROTAÇÃO DO PNEU DIANTEIRO ESQUERDO
char dataCAN5[8]; // DADO REDE CAN - TEMPERATURA DO DISCO DE FREIO DIANTEIRO DIREITO
switch(BS)
{
case ('A'): // PLACA FRONTAL
----------------------------- INDUTIVO DIANTEIRO DIREITO---------------------------
if(digitalRead(s_indutivo1== HIGH) int b=1;
if(digitalRead(s_indutivo1== LOW & b==1){
int c++;
b=0;
}
if(c==13){
tempo();
RPDD=60/(t_giro/1000000);
c=1;
}
----------------------------- INDUTIVO DIANTEIRO ESQUERDO---------------------------
if(digitalRead(s_indutivo2== HIGH) b=1;
if(digitalRead(s_indutivo2== LOW & b==1){
c++;
b=0;
}
if(c==13){
tempo();
RPED=60/(t_giro/1000000);
c=1;
}
----------------------------- INFRAREDS---------------------------------------------
TDDD= mlx_FD.readObjectTempC(0x7A);
TDDD= mlx_FE.readObjectTempC(0x5C);
break;