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);}

}