Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <Servo.h>
- #include <LiquidCrystal.h>
- #include <IRremote.h>
- // variaveeis dos codigos enviados pelo controle remoto
- #define Liga 0x815628D7 // tecla ligar menor
- #define LigaM 0x815648B7 // tecla ligar maior
- #define fundo 0x815658A7 // ??
- #define VOLmais 0x8156B847 // tecla que abre capacete
- #define VOLmenos 0x81569867 // tecla que fecha o capacete
- //Pinos
- LiquidCrystal lcd(7, 6, 5, 4, 3, 2); // pinos do lcd
- // >>> Pra pino #define ao inves de int
- #define led 8 // LED
- #define RECV_PIN 9 // Pino para recebe o sinal do RC
- #define Luz_Fundo 10 // Luz de fundo do LCD
- Servo servo; // cria um objeto servo
- /*******************************************************
- * os pinos dos componentes sao os seguintes: /
- * lcd= 7 6 5 4 3 2 /
- * luz de fundo do lcd = 10 /
- * servo = 12 /
- * leds=8 /
- * recetor IR= 9 /
- *******************************************************/
- IRrecv irrecv(RECV_PIN); //sistema infravermelho
- IRsend irsend; // ??
- decode_results results; // ??
- //---------------------------------------------------------------
- void setup()
- {
- servo.attach(12); // Coloca servo no pino 12
- Serial.begin(9600); // Inicia conexao serial
- irrecv.enableIRIn(); // Inicia receptor IR
- pinMode(led,OUTPUT); // Indica qua o led é uma saida
- digitalWrite(led, HIGH); // Liga o LED (HIGH = nivel lógico alto)
- delay(500); // Espera um segundo
- digitalWrite(led, LOW); // Desliga o LED (LOW = nivel lógico baixo)
- delay(500);
- digitalWrite(led, HIGH); // Liga o LED (HIGH = nivel lógico alto)
- delay(500); // Espera um segundo
- digitalWrite(led, LOW); // Desliga o LED (LOW = nivel lógico baixo)
- pinMode(Luz_Fundo,OUTPUT); // Define o pino como saída
- digitalWrite(Luz_Fundo,HIGH); // Liga luz de fundo LCD
- lcd.setCursor(0, 0); // Cursor pos 0 lin 0
- lcd.print("Mark 1.0 ");
- lcd.setCursor(0, 1); // Cursor pos 0 lin 1
- lcd.print("Loading . . . "); // Txt to LCD
- lcd.clear();
- delay(2000); // Delay 2 Seg
- lcd.setCursor(0, 0); // Cursor pos 0 lin 0
- lcd.print("J.A.R.V.I.S "); // Txt to LCD
- lcd.setCursor(0, 1); // Cursor pos 0 lin 1
- lcd.print("Ready . . . ");
- delay(2000); // Delay 2 Seg
- lcd.clear();
- lcd.setCursor(0,0); // Cursor pos 0 lin 0
- lcd.print("J.A.R.V.I.S 1.0"); // Txt to LCD
- lcd.setCursor(0, 1); // Cursor pos 0 lin 1
- lcd.print("What you need? Sr."); // Txt to LCD
- }
- //---------------------------------------------------------------
- void loop()
- {
- if (irrecv.decode(&results)) // Se receber coodes pelo IR
- {
- Serial.println(results.value, HEX); // Imprime o code em HEX na printer
- irrecv.resume(); // Recebe proximo valor
- }
- if (results.value == Liga) // Neste bloco iremos ligar os olhos
- {
- digitalWrite(led, HIGH); // Apaga LED
- delay(200); // Delay 0,2 Seg
- digitalWrite(led,LOW); // Acende LED
- delay(200); // Delay 0,2 Seg
- digitalWrite(led, HIGH); // Apaga LED
- lcd.clear(); // Limpa LCD
- lcd.setCursor(0, 0); // Cursor pos 0 lin 0
- lcd.print("Eyes on "); // Txt to LCD
- delay(1000); // Delay 1 Seg
- lcd.setCursor(0, 1); // Cursor pos 0 lin 1
- lcd.print("Anything else Sr.?"); // Txt to LCD
- }
- if (results.value == LigaM) // Neste bloco iremos desligar os olhos
- {
- digitalWrite(led,LOW); // Acende LED
- lcd.clear(); // Limpa LCD
- lcd.print("Eyes off "); // Txt to LCD
- delay(1000); // Delay 1 Seg
- lcd.setCursor(0, 1); // Cursor pos 0 lin 1
- lcd.print("Anything else Sr.?"); // Txt to LCD
- }
- if (results.value == fundo) // Neste bloco iremos altera o fundo no lcd
- {
- lcd.clear(); // Limpa LCD
- lcd.setCursor(0, 0); // Cursor pos 0 lin 0
- lcd.print("Fundo atualizado"); // Txt to LCD
- lcd.setCursor(0, 1); // Cursor pos 0 lin 1
- lcd.print("Anything else Sr.?"); // Txt to LCD
- }
- if (results.value == VOLmais) // Neste bloco iremos abrir os capacete
- {
- servo.write(360); // Move o Servo,
- delay(2000); // por 2 Seg
- lcd.clear(); // Limpa LCD
- lcd.setCursor(0, 0); // Cursor pos 0 lin 0
- lcd.print("Helmet Opened"); // Txt to LCD
- delay(1000); // Delay 1 Seg
- lcd.setCursor(0, 1); // Cursor pos 0 lin 1
- lcd.print("Anything else Sr.?"); // Txt to LCD
- }
- if (results.value == VOLmenos) // Neste bloco iremos fechar o capacete
- {
- servo.write(0); // Move o Servo,
- delay(2000); // por 2 Seg
- lcd.clear(); // Limpa LCD
- lcd.setCursor(0, 0); // Cursor pos 0 lin 0
- lcd.print("Helmet closed"); // Txt to LCD
- delay(1000); // Delay 1 Seg
- lcd.setCursor(0, 1); // Cursor pos 0 lin 1
- lcd.print("Anything else Sr.?"); // Txt to LCD
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement