Você está na página 1de 10

Codigos arduino

Módulo Rele

//Programa : Teste Módulo Rele Arduino - Botoes

//Autor : Juraci

//Porta ligada ao pino IN1 do modulo

int porta_rele1 = 7;

//Porta ligada ao pino IN2 do modulo

int porta_rele2 = 8;

//Porta ligada ao botao 1

int porta_botao1 = 2;

//Porta ligada ao botao 2

int porta_botao2 = 3;

//Armazena o estado do rele - 0 (LOW) ou 1 (HIGH)

int estadorele1 = 1;

int estadorele2 = 1;

//Armazena o valor lido dos botoes

int leitura1 = 0;

int leitura2 = 0;

void setup()

//Define pinos para o rele como saida

pinMode(porta_rele1, OUTPUT);

pinMode(porta_rele2, OUTPUT);

//Define pinos dos botoes como entrada

pinMode(porta_botao1, INPUT);

pinMode(porta_botao2, INPUT);

//Estado inicial dos reles - desligados


digitalWrite(porta_rele1, HIGH);

digitalWrite(porta_rele2, HIGH);

void loop()

//Verifica o acionamento do botao 1

leitura1 = digitalRead(porta_botao1);

if (leitura1 != 0)

while(digitalRead(porta_botao1) != 0)

delay(100);

//Inverte o estado da porta

estadorele1 = !estadorele1;

//Comandos para o rele 1

digitalWrite(porta_rele1, estadorele1);

//Verifica o acionamento do botao 2

leitura2 = digitalRead(porta_botao2);

if (leitura2 != 0)

while(digitalRead(porta_botao2) != 0)

delay(100);

//Inverte o estado da porta

estadorele2 = !estadorele2;
//Comandos para o rele 2

digitalWrite(porta_rele2, estadorele2);

Sensor porta

/***************************************\

** juraci ENTERPRISE **

* *

** DOOR LOCK **

\***************************************/

#include <IRremote.h>

#include <LiquidCrystal.h>

int RELE_PIN = 8;

const int PinoSensor = 0;

const int RELE_PIN2 = 9;

int ValorSensor = 0;

LiquidCrystal lcd(13, 11, 7, 5, 4, 2);

int RECV_PIN = 3;

int D0=10; //Porta que comando o sentido horario

int D1=6; //Porta que comanda o sentido anti-horario

int ELED=12;

IRrecv irrecv(RECV_PIN);

decode_results results;

long VALOR_BOTAO = 909576;

long VALOR_BOTAO1 = 385288;

long VALOR_BOTAO2 = 123144;


long VALOR_BOTAO3 = 254216;

long VALOR_BOTAO4 = 647432;

long VALOR_BOTAO5 = 819464;

int seg=0,

min=23,

hor=14;

void setup()

pinMode(RELE_PIN, OUTPUT);

digitalWrite(RELE_PIN, HIGH);

pinMode(RELE_PIN2, OUTPUT);

digitalWrite(RELE_PIN2, HIGH);

pinMode(1, INPUT);

pinMode(D0,OUTPUT);

pinMode(D1,OUTPUT);

pinMode(ELED,OUTPUT);

lcd.begin(16, 2);

lcd.setCursor(0,0);

lcd.print("juraci");

lcd.setCursor(6,1);

lcd.print("ENTERPRISE");

Serial.begin(9600);

irrecv.enableIRIn();

void loop(){

int pIn = digitalRead(1); //faz a leitura da porta 2 e armazena na variável

if(pIn == LOW){ //caso possua uma tensão com nível lógico baixo:

lcd.clear();
lcd.setCursor(0,0);

lcd.print(" ACESSO ");

lcd.setCursor(5,1);

lcd.print("NEGADO");

digitalWrite(D0, HIGH); //acende o LED na porta 12

delay(960);

else{

digitalWrite(D0, LOW);

if (irrecv.decode(&results)) {

if((results.value) == VALOR_BOTAO){ //Se o botao for pressionado

lcd.clear();

lcd.setCursor(0,0);

lcd.print(" ACESSO ");

lcd.setCursor(5,1);

lcd.print("NEGADO");

digitalWrite(D0,HIGH);

delay(950);

else{

digitalWrite(D0,LOW);

if (irrecv.decode(&results)) {

if((results.value) == VALOR_BOTAO1){ //Se o botao for pressionado

lcd.clear();

lcd.setCursor(0,0);

lcd.print(" ACESSO ");

lcd.setCursor(5,1);
lcd.print("AUTORIZADO");

digitalWrite(D1,HIGH);

delay(950);

else{

digitalWrite(D1,LOW);

if((results.value) == VALOR_BOTAO2){ //Se o botao for pressionado

digitalWrite(ELED, HIGH);

if((results.value) == VALOR_BOTAO4){

digitalWrite(ELED, LOW);

ValorSensor = analogRead(PinoSensor);

lcd.setCursor(0,1);

lcd.println(ValorSensor);

if (ValorSensor > 660){

else{

if((results.value) == VALOR_BOTAO4){

digitalWrite(RELE_PIN, HIGH);

if((results.value) == VALOR_BOTAO3){

digitalWrite(RELE_PIN, LOW);

if((results.value) == VALOR_BOTAO4){
digitalWrite(RELE_PIN2, HIGH);

if((results.value) == VALOR_BOTAO5){

digitalWrite(RELE_PIN2, LOW);

static unsigned long ult_tempo = 0;

int tempo = millis();

if(tempo - ult_tempo >= 1000) {

ult_tempo = tempo;

seg++;

if(seg>=60) {

seg = 0;

min++;

if(min>=60) {

min = 0;

hor++;

if(hor>=24) {

hor=0;

min=0;

lcd.setCursor(8,0);

lcd.print(hor);

lcd.setCursor(10,0);

lcd.print(":");

lcd.setCursor(11,0);
lcd.print(min);

lcd.setCursor(13,0);

lcd.print(":");

lcd.println(seg);

delay(1000);

irrecv.resume(); // Receive the next value

Código Fonte do Arduinoalarme incendio

1 #define LED_G 2
2 #define LED_R 3
3 #define BUZZER 4
4 #define LM35 0
5 #define LIMITE 40
6
7 int valorLido = 0;
8 float temperatura = 0;
9
10 void setup()
11 {
12 // Configuracao de pinos de saida
13 pinMode(LED_G, OUTPUT);
14 pinMode(LED_R, OUTPUT);
15 pinMode(BUZZER, OUTPUT);
16 // Inicializando valores dos leds
17 digitalWrite(LED_G, HIGH);
18 digitalWrite(LED_R, LOW);
19 }
20 void loop()
21 {
22 // Realiza a leitura da porta analogica
23 int valorLido = analogRead(LM35);
24 // 5V / 1023 = 0.00488 (precisão do A/D)
25 temperatura = (valorLido * 0.00488);
26 // Converte milivolts para graus celcius
27 temperatura = temperatura * 100;
28 // Realizacao de testes de temperatura
29 if (temperatura >= LIMITE)
30 {
31 // Ligar led vermelho e buzzer | desligar led verde
32 digitalWrite(LED_G, LOW);
33 digitalWrite(LED_R, HIGH);
34 digitalWrite(BUZZER, HIGH);
35 }
36 else
37 {
38 // Ligar led verde | desligar led vermelho e buzzer
39 digitalWrite(LED_G, HIGH);
40 digitalWrite(LED_R, LOW);
41 digitalWrite(BUZZER, LOW);
42 }
43 // Tempo de amostragem
44 delay(500);
45 }

Codigo sensor pir detecção ovimentos

int pirPin = 2 ; // digital de 2

vazio de configuração ( ) {

Serial . começar ( 9600 ) ;

pinMode ( pirPin , ENTRADA ) ;

vazio laço ( ) {

int pirVal = digitalRead ( pirPin ) ;

se ( pirVal == LOW ) { // foi detectado movimento

de série . println ( "Motion detectado" ) ;

delay ( 2000 ) ;

Você também pode gostar