Oficina de Arduino

Blink ****************************************************************

void setup() {

 pinMode(LED_BUILTIN, OUTPUT);//define porta 13 como saída

}

void loop() {

 digitalWrite(LED_BUILTIN, HIGH); //liga o LED na porta 13   

 delay(1000); //espera 1 segundo                       

 digitalWrite(LED_BUILTIN, LOW); //apaga o LED na porta 13    

 delay(1000); //espera 1 segundo                       

}


Blink com dois LEDs  **************************************************

void setup() {

 pinMode(12, OUTPUT); //define porta 12 como saída

 pinMode(11, OUTPUT); //define porta 11 como saída

}

void loop() {

 digitalWrite(11, HIGH); //liga o LED na porta 11

 digitalWrite(12, LOW); //apaga o LED na porta 12     

 delay(1000); //espera 1 segundo                       

 digitalWrite(11, LOW); //apaga o LED na porta 11  

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

 delay(1000); //espera 1 segundo                      

}



.

Semáforo  ************************************************************

void setup() {

 // initialize digital pin LED_BUILTIN as an output.

 pinMode(1, OUTPUT);

 pinMode(2, OUTPUT);

 pinMode(3, OUTPUT);

}


// the loop function runs over and over again forever

void loop() {

 digitalWrite(1, 1);

 digitalWrite(2, 0);

 digitalWrite(3, 0);   

 delay(3000);                      

 digitalWrite(1, 0);

 digitalWrite(2, 1);

 digitalWrite(3, 0);    

 delay(1000);                       

 digitalWrite(1, 0);

 digitalWrite(2, 0);

 digitalWrite(3, 1);    

 delay(3000);

 }




.

LDR e as portas analógicas  *********************************************


int led = 7; //Led na porta 7

int ldr = 0; //LDR no porta analígica 8

int ldrValor = 0; //Valor lido do LDR

void setup() {

pinMode(led,OUTPUT); //define a porta 7 como saída

Serial.begin(9600); //Inicia a comunicação serial

}

void loop() {

ldrValor = analogRead(ldr); //O valor lido será entre 0 e 1023

if (ldrValor>= 800) //se o valor lido for maior que 800

digitalWrite(led,HIGH); // Liga o led

else digitalWrite(led,LOW);  // senão, apaga o led

Serial.print("Valor do LDR: ");

Serial.println(ldrValor); //imprime o valor lido do LDR no monitor serial

delay(100);

}




.

Potenciômetro  ********************************************************

#define potPin 0   // Define o pino analógico em que o potenciômetro vai ser conectado

#define ledPin 9   // Define o pino que terá um LED e um resistência ligada ao terra


int valPot = 0; //Variável que armazena o valor da leitura do potenciômetro


void setup() {


pinMode(ledPin,OUTPUT); // Configura o pino do LED como saída


}


void loop() {    


valPot =  analogRead(potPin); //Faz a leitura analógica do pino em que o potenciômetro esta ligado

valPot = map(valPot,0,1023,0,255); //Utilizando a função map() para transformar uma escala de 0-1023 em uma escala 0 a 255

analogWrite(ledPin,valPot ); // Aciona o LED proporcionalmente ao valor da leitura analógica


}



Segunda proposta *****************************************************


int potenciometro = 0; // selecione o pino de entrada ao potenciômetro

int led = 9; // selecione o pino ao LED

int val = 0; // variável a guardar o valor proveniente do sensor


void setup() {

 pinMode(led, OUTPUT);  // declarar o pino ledPin como saída

 Serial.begin(9600);    

}


void loop() {

 val = analogRead(potenciometro); // a variável val guarda o valor do potenciometro

 Serial.print("Valor atual do potenciometro: ");

 Serial.println(val);

 digitalWrite(led, HIGH);  

 delay(val); // o Led acende e fica ligado pelo tempo determinado do potenciometro                  

 digitalWrite(led, LOW);

 delay(val);                 

}


.

Sensor Ultrassônico com LED *******************************************

int pino_trigger = 4; // TRIG do sensor utrassonico em porta 4

int pino_echo = 5; // ECHO do sensor utrassonico em porta 5

int Led = 2; // porta 2 um led

float tempo;

float distancia_cm;


void setup() {

 Serial.begin(9600);

 Serial.println("Lendo dados do sensor...");

 pinMode(pino_trigger, OUTPUT); //define porta 4 como saída

 pinMode(Led, OUTPUT); //define porta 2 como saída

 digitalWrite(pino_trigger, LOW); //Pino trigger em baixa

 delayMicroseconds(10);

 pinMode(pino_echo, INPUT); //define porta 5 como entrada

}


void loop() {

{

 digitalWrite(pino_trigger, HIGH);

 delayMicroseconds(10);

 digitalWrite(pino_trigger, LOW);

 tempo = pulseIn(pino_echo, HIGH);

 distancia_cm = tempo / 29.4 / 2; //converte o tempo de ida e volta do pulso em cm

 Serial.print("Distancia em cm: "); //imprime o que esta descrito na porta serial

 Serial.print(distancia_cm); //imprime o valro da distancia

 Serial.println(); // pula uma linha;

 

 if (distancia_cm <= 10){

 digitalWrite(Led, HIGH);//se a distância for menor que 10cm, liga o LED

 delay(200);

 digitalWrite(Led, LOW);}//apaga o LED

}

delay(200);

}



.

Sensor Ultrassônico com Buzzer  ****************************************

int pino_trigger = 4; // TRIG do sensor ultrassonico em porta 4

int pino_echo = 5; // ECHO do sensor ultrassonico em porta 5

int buzzer = 3; // Recebe o + (VCC) do Buzzer na entrada 3 a outra ponta vai em GND

float tempo;

float distancia_cm;


void setup()

{

 Serial.begin(9600);

 Serial.println("Lendo dados do sensor...");

 pinMode(pino_trigger, OUTPUT);

 digitalWrite(pino_trigger, LOW);

 delayMicroseconds(10);

 pinMode(pino_echo, INPUT);

 pinMode(buzzer, OUTPUT);

}

void loop()

{

 digitalWrite(pino_trigger, HIGH);

 delayMicroseconds(10);

 digitalWrite(pino_trigger, LOW);


 tempo = pulseIn(pino_echo, HIGH);

 distancia_cm = tempo / 29.4 / 2; //converte o tempo de ida e volta do pulso em cm


 Serial.print("Distancia em cm: "); //imprime o que esta descrito

 Serial.print(distancia_cm); //imprime a distancia

 Serial.println(); // pula uma linha;


 if (distancia_cm <= 5){

 tone(buzzer, 1915);

 delay(200);}//Nota Do

 

 if (distancia_cm > 5 && distancia_cm<= 10){   

 tone(buzzer, 1700);

 delay(200);}//Nota Re


 if (distancia_cm > 10 && distancia_cm<= 15){

 tone(buzzer, 1519);

 delay(200);}//Nota Mi

 

 if (distancia_cm > 15 && distancia_cm<= 20){

 tone(buzzer, 1432);

 delay(200);}//Nota Fa

 

 if (distancia_cm > 20 && distancia_cm<= 25){

 tone(buzzer, 1275);

 delay(200);}//Nota Sol

 

 if (distancia_cm > 25 && distancia_cm<= 30){

 tone(buzzer, 1136);

 delay(200);}//Nota La

 

 if (distancia_cm > 30 && distancia_cm<= 35){

 tone(buzzer, 1014);

 delay(200);}//Nota Si

 

 if (distancia_cm > 35 && distancia_cm<= 40){

 tone(buzzer, 956);

 delay(200);}//Nota Do

 

 if (distancia_cm > 40){

 noTone(buzzer);

 delay(10);}

}



Ċ
Flávio Gomes,
20 de mai de 2018 21:33
Comments