Topic outline
-
-
Forum
-
-
-
BLINK PARPADEO DE UN LED
MATERIALES
1 LED
1 RESISTENCIA 1 KΩ
1 ARDUINO UNO R3
JUMPERS
CÓDIGO
void setup()
{
pinMode(13, OUTPUT);
}void loop()
{
digitalWrite(13, HIGH);
delay(1000);
digitalWrite(13, LOW);
delay(1000);
}BLINK PARPADEO DE DOS LED
MATERIALES
2 LED
2 RESISTENCIA 1 KΩ
1 ARDUINO UNO R3
JUMPERS
CÓDIGO
void setup()
{
pinMode(13, OUTPUT);pinMode(12, OUTPUT);
}void loop()
{
digitalWrite(13, HIGH);digitalWrite(12, LOW);
delay(1000);
digitalWrite(13, LOW);digitalWrite(12, HIGH);
delay(1000);
} -
BLINK PARPADEO DE TRES LEDS SEMAFORO
CÓDIGO
void setup()
{
pinMode(13, OUTPUT);
pinMode(12, OUTPUT);
pinMode(11, OUTPUT);
}void loop()
{
digitalWrite(13, HIGH);
digitalWrite(12, LOW);
digitalWrite(11, LOW);
delay(3000);
digitalWrite(13, LOW);
digitalWrite(12, HIGH);
digitalWrite(11, LOW);
delay(3000);
digitalWrite(13, LOW);
digitalWrite(12, LOW);
digitalWrite(11, HIGH);
delay(3000);
}
-
-
-
REGULACIÓN GRADUAL DE LA INTENSIDAD LUMINOSA DE UN LED
MATERIALES
- 1 LED de cualquier color
- 1 resistencia de 470 Ω
- Protoboard
- Cables para realizar las conexiones
- Placa Arduino
AUMENTO GRADUAL DE LA INTENSIDAD LUMINOSA DE UN LED (PULSOS PWM)
CÓDIGO
int LED = 3;
void setup(){
pinMode(LED, OUTPUT);
}
void loop(){
analogWrite(LED, 50);
delay(2000);
analogWrite(LED, 100);
delay(2000);
analogWrite(LED, 150);
delay(2000);
analogWrite(LED, 200);
delay(2000);
analogWrite(LED, 250);
delay(2000);
}AUMENTO Y DISMINUICIÓN GRADUAL DE LA INTENSIDAD LUMINOSA DE UN LED (PULSOS PWM)
CÓDIGO
int LED=3;
void setup(){
pinMode(LED, OUTPUT);
}void loop()
{
analogWrite(LED, 50);
delay(1000);
analogWrite(LED, 100);
delay(1000);
analogWrite(LED, 150);
delay(1000);
analogWrite(LED, 200);
delay(1000);
analogWrite(LED, 250);
delay(1000);analogWrite(LED, 200);
delay(1000);
analogWrite(LED, 150);
delay(1000);
analogWrite(LED, 100);
delay(1000);
analogWrite(LED, 50);
delay(1000);
analogWrite(LED, 0);
delay(1000);
}AUMENTO GRADUAL DE LA INTENSIDAD LUMINOSA DE UN LED (bucle for)
CÓDIGO
int LED=3;
void setup(){
pinMode(LED, OUTPUT);
}
void loop(){
for(int i=1;i<255;i++){analogWrite(LED,i);
delay(25);
}
}REGULACIÓN DE INTENSIDAD DE LED CON POTENCIOMETRO (FORMA 1)
MATERIALES
- 1 LED de cualquier color
- 1 Potenciometro
- 1 resistencia de 470 Ω
- Protoboard
- Cables para realizar las conexiones
- Placa Arduino
CÓDIGO
const int pot = 0;
const int Led = 13;
int brillo;void setup()
{
pinMode(Led, OUTPUT);
}
void loop()
{
brillo = analogRead (pot)/ 4;
analogWrite (Led, brillo);
}REGULACIÓN DE INTENSIDAD DE LED CON POTENCIOMETRO (FORMA 2)
CÓDIGO
int led=3;
int valorpot=0;
int intensidad=0;
void setup()
{
pinMode(led,OUTPUT);
}void loop()
{
valorpot=analogRead(A0);
intensidad=map(valorpot,0,1023,0,255);
analogWrite(led,intensidad);
}
-
-
-
LED CONTROLADO POR BOTÓN
MATERIALES
1 LED
2 RESISTENCIAS 1KΩ
1 PUSHBUTTON
1 ARDUINO UNO R3
1 PLACA DE PRUEBA
JUMPERS
CÓDIGO
int boton;
void setup()
{
pinMode(13, OUTPUT);
pinMode(2, INPUT);
}void loop()
{
boton=digitalRead(2);
if(boton==HIGH){digitalWrite(13, HIGH);}
else{digitalWrite(13, LOW);}
}
-
-
-
MEDIDOR DE DISTANCIA CON LECTURA EN MONITOR
IMPORTANTE: EL FRENTE DEL MEDIDOR DE DISTANCIA, DEBE QUEDAR DESPEJADO (LOS CABLES POR ATRÁS)
MATERIALES
1 Arduino R3
1 Ultrasonic Distance Sensor
CÓDIGO
void setup()
{
Serial.begin(9600);
pinMode(6,OUTPUT);
pinMode(5,INPUT);}
void loop()
{
int distancia, tiempo;
digitalWrite(6,HIGH);
delayMicroseconds(500);
digitalWrite(6,LOW);
tiempo=pulseIn(5, HIGH);
distancia= int(tiempo/58);
Serial.println(distancia);}
MEDIDOR DE DISTANCIA CON LECTURA EN PANTALLA LCD CON ADAPTADOR I2C (4 PINES)
IMPORTANTE: EL FRENTE DEL MEDIDOR DE DISTANCIA, DEBE QUEDAR DESPEJADO (LOS CABLES POR ATRÁS)
MATERIALES
1 Arduino R3
1 Ultrasonic Distance Sensor
1 Pantalla LCD con adaptador I2C
Cables
CÓDIGO
#include <Wire.h>#include <LiquidCrystal_I2C.h>const int trigPin = 9;const int echoPin = 10;long duracion;int distancia;int ultimaDistancia = 0;LiquidCrystal_I2C lcd(0x27,16,2);void setup(){pinMode(trigPin, OUTPUT);pinMode(echoPin, INPUT);Serial.begin(9600);lcd.init();lcd.backlight();}void loop(){digitalWrite(trigPin, LOW);delayMicroseconds(2);digitalWrite(trigPin, HIGH);delayMicroseconds(10);digitalWrite(trigPin, LOW);duracion = pulseIn(echoPin, HIGH);distancia = (duracion * 0.034) / 2;Serial.println(distancia);if(distancia != ultimaDistancia){lcd.clear();lcd.setCursor(0, 0);lcd.print("Distancia: "); // Prints string "Distance" on the LCDlcd.print(distancia);lcd.print(" cm");ultimaDistancia = distancia;}delay(500);} -
-
BUZZER O PIEZO, 400 HZ
MATERIALES
Placa Arduino uno
Un buzzer ( piezo)
Una protoboard
CÓDIGO
void setup()
{
pinMode(9, OUTPUT);}
void loop()
{
tone(9, 400);
} -
BUZZER O PIEZO
Melodía TAPION de Dragon Ball Z
MATERIALES
Placa Arduino uno
Un buzzer ( piezo)
Una protoboard
CÓDIGO
int speakerPin = 9; //Declaramos el PIN digital D9 para el Piezo Speaker
int longitud = 33; //Numero de notas que contiene la melodía mas uno
char notas[ ] = "ccfagfg deffgfe ccfagfg deffedcd "; //Notas musicales. Los espacios son notas vacías
int golpes[ ] = { 1, 1, 4, 1, 1, 1, 4, 2, 1, 1, 4, 2, 1, 1, 4, 2, 1, 1, 4, 1, 1, 1, 4, 2, 1, 1, 4, 2, 1, 1, 1, 4, 2}; //Duración de cada una de las notas musicales
int tiempo = 250; //Tiempo de duración para el toque de notas
void setup() {
pinMode(speakerPin, OUTPUT); //Configuramos el puerto digital 9 como salida
}void loop() {
for(int i=0;i<longitud;i++){
if(notas[i]==' '){
delay(golpes[i]*tiempo); //Retardo de acuerdo a los golpes
}
else{
Tocar_Nota(notas[i],golpes[i]*tiempo); //Reproduce notas con su duracion
}
delay(tiempo/2); //Pausa entre notas
}
}void Tocar_Tono(int tone, int duracion){ //Una funcion para la reproduccion de tonos
for(long i =0;i<duracion*1000L;i += tone*2){
digitalWrite(speakerPin,HIGH); //Presenta el tono en alto
delayMicroseconds(tone); //Duracion del tono
digitalWrite(speakerPin,LOW); //Presenta el tono en bajo
delayMicroseconds(tone); //Duracion del tono
}
}void Tocar_Nota(char nota, int duracion){ //Una funcion para la reproduccion de notas
char nombres[] = { 'c', 'd', 'e', 'f', 'g', 'a', 'b', 'c'};
//Variable local para el nombre de notas musicales existentes
int tonos[] = {1915, 1700, 1519, 1432, 1275, 1136, 1014, 956};
//Variable local para el ancho de pulso (us) de las notasfor(int i=0;i<8;i++){//Reproduciomos los tonos correspondientes al nombre de las notas
if(nombres[i] == nota){
Tocar_Tono(tonos[i], duracion); //Llamamos a la funcion para la reproduccion de tonos, segun el tono y duracion
}
}
}
-
-
-
SERVO MOTOR CONTINUO
MATERIALES
1 MICRO SERVO MOTOR
1 ARDUINO UNO R3
JUMPERS
CÓDIGO
#include <Servo.h>
Servo servo;void setup(){
servo.attach(11);
}void loop(){
servo.write(0);
delay(1000);
servo.write(120);
delay(1000);
}SERVO MOTOR CONTROLADO POR BOTÓN
MATERIALES
1 MICRO SERVO MOTOR
1 PUSHBUTTON
1 RESISTENCIA 1 KΩ
1 ARDUINO UNO R3
1 PLACA DE PRUEBA
JUMPERS
CÓDIGO
#include <Servo.h>
Servo servo;
int angulo=0;
void setup()
{
servo.attach(11);
pinMode(4, INPUT);
}void loop(){
int boton=digitalRead(4);
if(boton==HIGH){
servo.write(angulo);
angulo=angulo+1;
delay(5);}
else{angulo=0;
servo.write(angulo);}
}
-
-
-
-
SENSOR DE TEMPERATURA TMP36
MATERIALES
- Temperature Sensor [TMP36]
- Arduino Uno R3
CÓDIGO ESCALA CELSIUS:
void setup()
{
Serial.begin(9000);
pinMode(A0,INPUT );
}void loop()
{
int temp=analogRead(A0);
temp = (5.0 * temp *100)/1024.0 -50;
Serial.println(temp);
}CÓDIGO ESCALA CELSIUS Y FAHRENHEIT:
void setup()
{
Serial.begin(9000);
pinMode(A0,INPUT );
}void loop()
{
float temp=analogRead(A0);
temp = (5.0 * temp *100)/1024.0 -50;float temp1=1.8*temp+32;
Serial.println(temp);
}CÓDIGO ESCALA CELSIUS Y KELVIN:
void setup()
{
Serial.begin(9000);
pinMode(A0,INPUT );
}void loop()
{
float temp=analogRead(A0);
temp = (5.0 * temp *100)/1024.0 -50;float temp1=1.0*temp+273;
Serial.println(temp);
}
-
-
-
SENSOR DE TEMPERATURA CON UN LED
MATERIALES
1 Arduino Uno R3
1 Sensor de Temperatura TMP 36
1 Led
CÓDIGO
void setup()
{
Serial.begin(9000);
pinMode(A0,INPUT );
pinMode(13,OUTPUT);
}void loop()
{
float temp=analogRead(A0);
temp = (5.0 * temp *100)/1024.0 -50;
if(temp>=38){digitalWrite(13,HIGH);}
else{digitalWrite(13,LOW);}
Serial.println(temp);
delay(3000);
}SENSOR DE TEMPERATURA CON TRES LEDS
MATERIALES
1 Arduino Uno R3
1 Sensor de Temperatura TMP 36
1 Led
CÓDIGO
int led1= 10;
int led2= 11;
int led3= 12;
void setup()
{
pinMode(10, OUTPUT);
pinMode(11, OUTPUT);
pinMode(12, OUTPUT);
Serial.begin(9600);
pinMode(A1, INPUT);
}void loop()
{
float temp=((analogRead(A1)*(5.0/1024))-0.5)/0.01;
Serial.println(temp);
delay(200);
if (temp<20){
digitalWrite(12,LOW);
digitalWrite(11,LOW);
digitalWrite(10,HIGH);
} else if (temp > 20 && temp < 45){
digitalWrite(12,LOW);
digitalWrite(11,HIGH);
digitalWrite(10,LOW);
} else{
digitalWrite(12,HIGH);
digitalWrite(11,LOW);
digitalWrite(10,LOW);
}
}
-
-
CIRCUITO
MATERIALES
- 1 Arduino Uno R3
- 1 Temperature Sensor [TMP36]
- 1 Sensor Piezo (buzzer)
CÓDIGO
void setup()
{
Serial.begin(9000);
pinMode(A0,INPUT );}
void loop()
{
float temp=analogRead(A0);
temp = (5.0 * temp *100)/1024.0 -50;
if(temp>=38){tone(9,4000);}
else{noTone(9);}Serial.println(temp);
delay(1000);
}
-
CIRCUITO
MATERIALES
1 Sensor de Temperatura TMP 36
1 LCD 16 x 2
1 Arduino Uno R3
1 Potentiometer, 1 kΩ
CÓDIGO
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);void setup()
{
lcd.begin(16,2);
lcd.home();
lcd.print("Temperatura");}
void loop()
{
float temp=analogRead(A0);
temp=temp*500.00/1024-50;
float temp1=1.8*temp+32;
delay(1000);
lcd.setCursor (0,1);
lcd.print("C=");
lcd.print(temp);
lcd.print(" F=");
lcd.print(temp1);}
-
PROYECTO N° 1:
Armar un circuito Arduino con 3 ampolletas Led, con su correspondiente resistencia. Con las siguientes características:
- Los colores de los Led tienen que ser los de la bandera de Chile.
- La ampolleta del centro debe ser la roja, a su izquierda se coloca la azul, y a la derecha de las ampolletas led debe ir la blanca.
- El modo de las ampolletas debe ser blink, parpadeo. La luz roja debe estar encendida 5 segundos, la blanca 2 segundos y la azul 3 segundos.
PROYECTO N° 2:
Hacer funcionar un motor servo con Arduino, con las siguientes características:
- Ángulo inicial (servo.write): 30
- Ángulo final (servo.write): 150
- Tiempo en posición inicial (delay): 3 segundos
- Tiempo en posición final (delay): 5 segundos
-
-
Alarma con el módulo KY-008, un buzzer y un LDR
Material necesario:
- Placa Arduino o similar
- Protoboard
- Puntero láser, módulo KY-008
- Buzzer activo módulo KY-012.
- Sensor fotorresistencia (LDR)
- Una resistencia de 10 KΩ
- Cables
CIRCUITO
CÓDIGO
int buzzerPin = 9;
int laserPin = 8;
int sensor = A0;
int lectura; void setup() { pinMode(buzzerPin, OUTPUT);
pinMode(laserPin, OUTPUT);
Serial.begin(9600);
digitalWrite(laserPin, HIGH);
analogWrite(buzzerPin,0);
} void loop() { lectura = analogRead(sensor);
Serial.println(lectura);
if(lectura < 100){ Serial.println("Alarma");
analogWrite(buzzerPin,255);
}else{ analogWrite(buzzerPin,0);
}
}
-
ENCENDIDO DE LEDS SEGÚN DISTANCIA
CÓDIGO
# define led 13int trigger = 10;int echo = 9;float tiempo_de_espera,distancia;void setup() {Serial.begin (9600);pinMode (trigger, OUTPUT);pinMode (echo, INPUT);pinMode(2,OUTPUT);pinMode(3,OUTPUT);pinMode(4,OUTPUT);pinMode(5,OUTPUT);pinMode(6,OUTPUT);pinMode(7,OUTPUT);pinMode(8,OUTPUT);}void loop() {digitalWrite (trigger,LOW);delayMicroseconds(2);digitalWrite (trigger, HIGH);delayMicroseconds (10);digitalWrite (trigger, LOW);tiempo_de_espera = pulseIn (echo,HIGH);distancia =(tiempo_de_espera/2)/29.15;Serial.print (distancia);Serial.println ("cm");delay (1000);if (distancia>=30 && distancia <=400){digitalWrite (2,0);digitalWrite (3,0);digitalWrite (4,0);digitalWrite (5,0);digitalWrite (6,0);digitalWrite (7,0);digitalWrite (8,0);}if (distancia>=26 && distancia <=30){digitalWrite (2,1);digitalWrite (3,0);digitalWrite (4,0);digitalWrite (5,0);digitalWrite (6,0);digitalWrite (7,0);digitalWrite (8,0);}if (distancia>=23 && distancia <=26){digitalWrite (2,0);digitalWrite (3,1);digitalWrite (4,0);digitalWrite(5,0);digitalWrite (6,0);digitalWrite (7,0);digitalWrite (8,0);}if (distancia>=20 && distancia <=23){digitalWrite (2,0);digitalWrite (3,0);digitalWrite(4,1);digitalWrite (5,0);digitalWrite (6,0);digitalWrite (7,0);digitalWrite (8,0);}if (distancia>=17 && distancia <=20){digitalWrite (2,0);digitalWrite (3,0);digitalWrite (4,0);digitalWrite (5,1);digitalWrite (6,0);digitalWrite (7,0);digitalWrite (8,0);}if (distancia>=14 && distancia <=17){digitalWrite (2,0);digitalWrite (3,0);digitalWrite (4,0);digitalWrite (5,0);digitalWrite (6,1);digitalWrite(7,0);digitalWrite (8,0);}if (distancia>=11 && distancia <=14){digitalWrite(2,0);digitalWrite (3,0);digitalWrite (4,0);digitalWrite (5,0);digitalWrite (6,0);digitalWrite (7,1);digitalWrite (8,0);}if (distancia>=8 && distancia <=11){digitalWrite (2,0);digitalWrite (3,0);digitalWrite (4,0);digitalWrite (5,0);digitalWrite (6,0);digitalWrite (7,0);digitalWrite (8,1);}}
-
-
-