Buscar

Projeto Carrinho v a0 4

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

#include <SoftwareSerial.h>
// Liga o módulo bluetooth para saídas TX e RX como 3 e 2;
SoftwareSerial bluetooth(3,2);
/*
Define as saídas e seus nomes:
 Saída	 Função
 12	 Polo A do motor esquerdo;
 11 Polo B do motor esquerdo;
 10	 Polo A do motor direito;
 9		 Polo B do motor direito;
 8		 Acionamento dos Leds dianteiros;
 7		 Acionamento dos Leds traseiros (Luz vermelha);
 6 Acionamento dos Leds tradeiros (Luz branca);
*/
	const int Mot1A = 12;
 	const int Mot1B = 11;
 	const int Mot2A = 10;
 	const int Mot2B = 9;
	const int LedD = 8;
 	const int LedT1 = 7;
 	const int LedT2 = 6;
 int incomingByte;
	bool power;
	bool sentidoX;
	bool giro;
void setup()
{
 //Setando as saídas do Arduino como Output
	pinMode(Mot1A, OUTPUT);
 	pinMode(Mot1B, OUTPUT);
 	pinMode(Mot2A, OUTPUT);
 	pinMode(Mot2B, OUTPUT);
 	pinMode(LedD, OUTPUT);
 	pinMode(LedT1, OUTPUT);
 	pinMode(LedT2, OUTPUT);
	Serial.begin(9600);
 	bluetooth.begin(9600);
}
void loop()
{
/* Abaixo basta trocar bluetooth.read() para Serial.read() 
 para se comunicar com o arduino através do computador.*/
char incomingByte = Serial.read();
 
 // Adiciona a tecla F como liga e desliga de todo o sistema;
 if (incomingByte == 'F')
 {
 (power = true);
 delay (1000);
 }
 
 while (power == true)
 
 	 {
	char incomingByte = Serial.read();
 switch(incomingByte){
 
/* Os controles do carrinho são os seguintes:
W = Acelerar;
S = Ré;
A = Virar para a esquerda;
D = Virar para a direita;
E = Rotacionar o carrinho;
F = Liga/Desliga; */
 
 // Adiciona a tecla W como aceleração;
 		case 'W':
 
 		
 		digitalWrite (Mot1A, HIGH);
 		digitalWrite (Mot1B, LOW);
 		digitalWrite (Mot2A, HIGH);
 		digitalWrite (Mot2B, LOW);
 digitalWrite (LedD, HIGH);
 	 		digitalWrite (LedT1, LOW);
 		digitalWrite (LedT2, LOW);
 	sentidoX = true;
 	delay (80);
 	break;
 
 	
 // Adiciona a tecla S como ré;
 		case 'S':
 
 		
 		digitalWrite (Mot1A, LOW);
 		 	digitalWrite (Mot1B, HIGH);
 	 		digitalWrite (Mot2A, LOW);
 		digitalWrite (Mot2B, HIGH);
 	digitalWrite (LedD, LOW);
 	 		digitalWrite (LedT1, LOW);
 		digitalWrite (LedT2, HIGH);
 	sentidoX = false;
 	delay (80);
 	break;
 	 
 
 // Adiciona a tecla A como virar para a esquerda;
 	case 'A':
 
 		
 giro = true;
 if (sentidoX == true) {
 		digitalWrite (Mot1A, LOW);
 		 	digitalWrite (Mot1B, LOW);
 	 		digitalWrite (Mot2A, HIGH);
 		digitalWrite (Mot2B, LOW);
 	digitalWrite (LedD, HIGH);
 	 		digitalWrite (LedT1, LOW);
 		digitalWrite (LedT2, LOW);
 	delay (80);
 break; }
 else {
 digitalWrite (Mot1A, LOW);
 		 	digitalWrite (Mot1B, HIGH);
 	 		digitalWrite (Mot2A, LOW);
 		digitalWrite (Mot2B, LOW);
 	digitalWrite (LedD, HIGH);
 	 		digitalWrite (LedT1, LOW);
 		digitalWrite (LedT2, LOW);
 	delay (80);
 break; }
 	 
 
 // Adciona a tecla D como virar para a direita;
 case 'D':
 
 		
 giro = false;
 if (sentidoX == true) {
 		digitalWrite (Mot1A, HIGH);
 		 	digitalWrite (Mot1B, LOW);
 	 		digitalWrite (Mot2A, LOW);
 		digitalWrite (Mot2B, LOW);
 	digitalWrite (LedD, HIGH);
 	 		digitalWrite (LedT1, LOW);
 		digitalWrite (LedT2, LOW);
 	delay (80);
 break; }
 else {
 digitalWrite (Mot1A, LOW);
 		 	digitalWrite (Mot1B, LOW);
 	 		digitalWrite (Mot2A, LOW);
 		digitalWrite (Mot2B, HIGH);
 	digitalWrite (LedD, HIGH);
 	 		digitalWrite (LedT1, LOW);
 		digitalWrite (LedT2, LOW);
 	delay (80);
 break; }
 	 
 
/* Adciona a tecla E como rotacionar o veiculo em seu eixo;
Nota: A direção do eixo depende do último comando de virar
dado ao carrinho (Comandos A ou D) */
 case 'E':
 
 		
 if (giro == false) {
 		digitalWrite (Mot1A, HIGH);
 		 	digitalWrite (Mot1B, LOW);
 	 		digitalWrite (Mot2A, LOW);
 		digitalWrite (Mot2B, HIGH);
 	digitalWrite (LedD, HIGH);
 	 		digitalWrite (LedT1, LOW);
 		digitalWrite (LedT2, LOW);
 	delay (80);
 break; }
 else {
 digitalWrite (Mot1A, LOW);
 		 	digitalWrite (Mot1B, HIGH);
 	 		digitalWrite (Mot2A, HIGH);
 		digitalWrite (Mot2B, LOW);
 	digitalWrite (LedD, HIGH);
 	 		digitalWrite (LedT1, LOW);
 		digitalWrite (LedT2, LOW);
 	delay (80);
 break; }
 	 
 
 // Adiciona a tecla F para desligar o sistema;
 	case 'F':
 
 
 	power = false;
 	digitalWrite (Mot1A, LOW);
 		 	digitalWrite (Mot1B, LOW);
 	 		digitalWrite (Mot2A, LOW);
 		digitalWrite (Mot2B, LOW);
 	digitalWrite (LedD, LOW);
 	 		digitalWrite (LedT1, LOW);
 		digitalWrite (LedT2, LOW);
 	delay(1000);
 
 
 /* Caso nenhuma tecla seja pressionada, o sistema ativará
 apenas as luzes dianteiras e traseiras e permanecerá parado*/
 default:
 
 
 digitalWrite (Mot1A, LOW);
 		 	digitalWrite (Mot1B, LOW);
 	 		digitalWrite (Mot2A, LOW);
 		digitalWrite (Mot2B, LOW);
 digitalWrite (LedD, HIGH);
 	 		digitalWrite (LedT1, HIGH);
 		digitalWrite (LedT2, LOW);
 delay (50);
 	break;
 
 	
 	 }
 }
}

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Continue navegando