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