UNIDAD VI
PROGRAMA 1
void setup() {
Serial.begin(9600);
Serial.print("HOLA");
}
void loop() {
}
PROGRAMA 2
void setup() {
Serial.begin(9600);
}
void loop() {
Serial.println("HOLA");
//El ln imprime lineas, funciona como un salto de linea
}
PROGRAMA 3
void setup() {
Serial.begin(9600);
int a=42;
//Declaracion de variable entera
char c='m';
//Declaracion de una variable de tipo caracter con valor m
float
root2=sqrt(2.0); //Raiz cuadrada
Serial.println(a);
Serial.println(c);
Serial.println(root2);
}
void loop() {
// put your main code here, to run
repeatedly:
}
PROGRAMA 4
//globales
int a;
char c;
float root2;
void setup() {
Serial.begin(9600);
a=42;
c='m';
root2=sqrt(2.0);
}
void loop() {
Serial.println(a);
Serial.println(c);
Serial.println(root2);
}
PROGRAMA 5
//globales
int a,b,c;
void setup() {
Serial.begin(9600);
a=89;
b=42;
c=a+b;
Serial.print("a+b= ");
Serial.println(c);
c=a*b;
Serial.print("a*b= ");
Serial.println(c);
c=a-b;
Serial.print("a-b= ");
Serial.println(c);
}
void loop() {
// put your main code here, to run
repeatedly:
}
PROGRAMA 6
void setup() {
Serial.begin(9600);
float r=0.75;
float c=2.0*PI*r;
Serial.print("Circunferencia= ");
Serial.println(c);
}
void loop() {
// put your main code here, to run
repeatedly:
}
PROGRAMA 7
void setup() {
Serial.begin(9600);
float r=0.75;
float a=PI*r*r;
Serial.print("Area= ");
Serial.println(a);
}
void loop() {
// put your main code here, to run
repeatedly:
}
PROGRAMA 8
const int valinicial=1; //valor de inicio o limite inferior
const int valfinal=10; //valor final o limite superior
const int
valorbau=9600;
void setup() {
Serial.begin(valorbau);
for(int i=valinicial; i<=valfinal; i++){
Serial.println(i);
delay(1000);
}
}
void loop() {
// put your main code here, to run
repeatedly:
}
PROGRAMA 9
void setup() {
Serial.begin(9600);
int a=100;
int b=89;
if(a>b){
Serial.print("A es mayor que B");
}
else{
Serial.print("A es menor que B");
}
}
void loop() {
// put your main code here, to run
repeatedly:
}
PROGRAMA 10
void setup() {
pinMode(13,OUTPUT);
}
void loop() {
digitalWrite(13,HIGH);
delay(500);
digitalWrite(13,LOW);
delay(500);
PROGRAMA 11
void setup() {
pinMode(13,OUTPUT);
pinMode(12,OUTPUT);
}
void loop() {
digitalWrite(13,HIGH);
digitalWrite(12,HIGH);
delay(500);
digitalWrite(13,LOW);
digitalWrite(12,LOW);
delay(500);
PROGRAMA 12
void setup() {
pinMode(13,OUTPUT);
}
void loop() {
digitalWrite(13,HIGH);
delay(170);
digitalWrite(13,LOW);
delay(1830);
PROGRAMA 13
void setup() {
pinMode(13,OUTPUT);
}
void loop() {
digitalWrite(13,HIGH);
delay(17);
digitalWrite(13,LOW);
delay(183);
PROGRAMA 14 (SEMAFORO)
void setup() {
// put your setup code here, to run once:
pinMode(13,OUTPUT);
pinMode(12,OUTPUT);
pinMode(11,OUTPUT);
}
void loop() {
digitalWrite(13,HIGH);
delay(3000);
digitalWrite(13,LOW);
digitalWrite(12,HIGH);
delay(1000);
digitalWrite(12,LOW);
delay(500);
digitalWrite(12,HIGH);
delay(500);
digitalWrite(12,LOW);
delay(500);
digitalWrite(12,HIGH);
delay(500);
digitalWrite(12,LOW);
delay(500);
digitalWrite(11,HIGH);
delay(3000);
digitalWrite(11,LOW);
PROGRAMA 15
#define RED 10
#define GREEN 9
#define BLUE 11
void setup() {
pinMode(RED,OUTPUT);
pinMode(GREEN,OUTPUT);
pinMode(BLUE,OUTPUT);
digitalWrite(RED,LOW);
digitalWrite(GREEN,HIGH);
digitalWrite(BLUE,HIGH);
}
void loop() {
// put your main code here, to run
repeatedly:
}
#define RED 10
#define GREEN 9
#define BLUE 11
void setup() {
pinMode(RED,OUTPUT);
pinMode(GREEN,OUTPUT);
pinMode(BLUE,OUTPUT);
}
int redValue;
int greenValue;
int blueValue;
void loop() {
#define delayTime 5
redValue = 0;
greenValue = 255;
blueValue = 255;
for(int i=0; i<=255; i++){
redValue+=1;
greenValue-=1;
analogWrite(RED, redValue);
analogWrite(GREEN,greenValue);
delay(delayTime);
}
redValue = 255;
greenValue = 0;
blueValue = 255;
for(int i=0; i<=255;i++){
greenValue+=1;
blueValue-=1;
analogWrite(GREEN,greenValue);
analogWrite(BLUE,blueValue);
delay(delayTime);
}
redValue = 255;
greenValue = 255;
blueValue = 0;
for(int i=0; i<=255;i++){
blueValue+=1;
redValue-=1;
analogWrite(BLUE,blueValue);
analogWrite(RED,redValue);
delay(delayTime);
PROGRAMA 17
const int redPin=10;
const int greenPin=9;
const int bluePin=11;
void setup() {
pinMode(redPin,OUTPUT);
pinMode(greenPin,OUTPUT);
pinMode(bluePin,OUTPUT);
Serial.begin(9600);
Serial.println("Dame colores en RGB (ej.
000 255 200)");
}
void loop() {
if(Serial.available()){
//Pregunta si está disponible la cominicacion serial
int
red=Serial.parseInt(); //Funciona como un scanf
int green=Serial.parseInt();
int blue=Serial.parseInt();
analogWrite(redPin,red);
analogWrite(greenPin,green);
analogWrite(bluePin,blue);
delay(5000);
}
PROGRAMA 18
void setup() {
Serial.begin(9600);
int a=89;
int b=42;
if(a>b){
Serial.print("A es mayor que
B");
}
else if(a<b){
Serial.print("A no es
mayor que B");
}
else{
Serial.print("A
es igual que B");
}
}
void loop() {
// put your main code here, to run
repeatedly:
}
PROGRAMA 19
void setup() {
Serial.begin(9600);
int a=89;
int b=42;
if((a>50)&&(b<50)){
Serial.print("Valor en rango
normal");
}
}
void loop() {
// put your main code here, to run
repeatedly:
}
PROGRAMA 20
void setup() {
Serial.begin(9600);
int a=89;
int b=42;
if((a>100)&&(b<0)){
Serial.print("WOW puede
ser peligroso");
}
}
void loop() {
// put your main code here, to run
repeatedly:
}
PROGRAMA 21
void setup() {
Serial.begin(9600);
int a=189;
int b=-42;
if((a>100)&&(b<0)){
Serial.print("WOW puede ser peligroso");
}
if(a==b){
Serial.print("A y B son iguales");
}
}
void loop() {
// put your main code here, to run
repeatedly:
}
PROGRAMA 22
byte x=50;
void setup() {
Serial.begin(9600);
if(x>=10 || x<=20){
Serial.print("Fase 1");
}
if(x<=10 || x>=20){
Serial.print("Fase 2");
}
if(x>=10 && !(x<=20)){
Serial.print("Fase 3");
}
}
void loop() {
// put your main code here, to run
repeatedly:
}
PROGRAMA 23
String
cad1="hola";
String
cad2="hola";
void setup() {
Serial.begin(9600);
}
void loop() {
if(cad1 == cad2){
Serial.println("Las
cadenas son iguales");
}
else{
Serial.println("Las cadenas son diferentes");
}
}
PROGRAMA 24
int numero;
void setup() {
Serial.begin(9600);
}
void loop() {
if(Serial.available()>0){ //El no. introducido ha de estar en el
rango del tipo "int"
numero=Serial.parseInt();
if(numero == 23){
Serial.println("Numero es igual a 23");
}
else if(numero
< 23){
Serial.println("Numero es menor que 23");
}
else{
Serial.println("Numero es mayor que
23");
}
}
}
PROGRAMA 25
#define echoPin 7
#define triggerPin 8
#define ledPin 13
int esperamili = 500;
int maxCm = 200;
int minCm = 0;
float duracion,
distanciaCm;
void setup() {
Serial.begin(9600);
pinMode(triggerPin,OUTPUT);
pinMode(echoPin,INPUT);
pinMode(ledPin,OUTPUT);
initTrigger();
duracion= pulseIn(echoPin,HIGH);
distanciaCm=
microsegCm(duracion);
if(distanciaCm
>= maxCm || distanciaCm <= minCm){
Serial.println("Fuera
de rango");
digitalWrite(ledPin,HIGH);
}
else{
digitalWrite(ledPin,LOW);
Serial.print("Distancia
es cm: ");
Serial.println(distanciaCm);
delay(esperamili);
}
}
long microsegCm(long
microseg){
return microseg/58;
}
void initTrigger(){
digitalWrite(triggerPin,LOW);
delayMicroseconds(2);
digitalWrite(triggerPin,HIGH);
delayMicroseconds(10);
digitalWrite(triggerPin,LOW);
}
void loop() {
PROGRAMA 26
#define echoPin 7
#define triggerPin 8
#define ledPin 13
int esperamili = 500;
int maxCm = 200;
int minCm = 0;
float duracion,
distanciaCm;
void setup() {
Serial.begin(9600);
pinMode(triggerPin,OUTPUT);
pinMode(echoPin,INPUT);
pinMode(ledPin,OUTPUT);
}
long microsegCm(long
microseg){
return microseg/58;
}
void initTrigger(){
digitalWrite(triggerPin,LOW);
delayMicroseconds(2);
digitalWrite(triggerPin,HIGH);
delayMicroseconds(10);
digitalWrite(triggerPin,LOW);
}
void loop() {
initTrigger();
duracion= pulseIn(echoPin,HIGH);
distanciaCm=
microsegCm(duracion);
if(distanciaCm
>= maxCm || distanciaCm <= minCm){
Serial.println("Fuera de rango");
digitalWrite(ledPin,HIGH);
}
else{
digitalWrite(ledPin,LOW);
Serial.print("Distancia
es cm: ");
Serial.println(distanciaCm);
delay(esperamili);
}
PROGRAMA 27 (PROYECTO APROXIMACION)
#define echoPin 7
#define triggerPin 8
int esperamili=500;
int maxCm=200;
int minCm=0;
long duracion,
distanciaCm;
void setup() {
Serial.begin(9600);
pinMode(triggerPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(13,OUTPUT);
pinMode(12,OUTPUT);
pinMode(11,OUTPUT);
}
long microsegCm(long
microseg){
return microseg/58;
}
void initTrigger(){
digitalWrite(triggerPin,LOW);
delayMicroseconds(2);
digitalWrite(triggerPin,HIGH);
delayMicroseconds(10);
digitalWrite(triggerPin,LOW);
}
void loop() {
// put your main code here, to run
repeatedly:
initTrigger();
duracion=pulseIn(echoPin, HIGH);
distanciaCm=microsegCm(duracion);
Serial.println("Distancia
en cm: ");
Serial.println(distanciaCm);
if(distanciaCm>15){
digitalWrite(13,LOW);
digitalWrite(12,LOW);
digitalWrite(11,LOW);
}
if(distanciaCm<=15 &&
distanciaCm>=10){
digitalWrite(13,HIGH);
digitalWrite(12,LOW);
digitalWrite(11,LOW);
}
if(distanciaCm<=10 &&
distanciaCm>=5){
digitalWrite(13,HIGH);
digitalWrite(12,HIGH);
digitalWrite(11,LOW);
}
if((distanciaCm<=5 &&
distanciaCm>=0) ){
digitalWrite(13,HIGH);
digitalWrite(12,HIGH);
digitalWrite(11,HIGH);
}
PROGRAMA 28
#include <SimpleDHT.h>
// for DHT11,
// VCC: 5V or 3V
// GND: GND
// DATA: 2
int pinDHT11 = 2;
SimpleDHT11 dht11;
void setup() {
Serial.begin(9600);
}
void loop() {
// inicia trabajo.
Serial.println("Ejemplo con
DHT11...");
// Lectura de
datos.
byte temperatura =
0;
byte humedad = 0;
byte data[40] = {0};
if (dht11.read(pinDHT11, &temperatura,
&humedad, data)) {
Serial.print("Lectura de
DHT11 fallida");
return;
}
Serial.print("Lectura simple en Bits:
");
for (int i = 0; i < 40; i++) {
Serial.print((int)data[i]);
if (i > 0 && ((i + 1) % 4) == 0)
{
Serial.print(' ');
}
}
Serial.println("");
Serial.print("Muestra correcta: ");
Serial.print((int)temperatura); Serial.print("
*C, ");
Serial.print((int)humedad);
Serial.println(" %");
// DHT11 retardo de 5 seg .
delay(5000);
PROGRAMA 29 (PROYECTO HUMEDAD-RGB)
#include
<SimpleDHT.h>
const int redPin=11;
const int greenPin=9;
const int bluePin=10;
// for DHT11,
// VCC: 5V or 3V
// GND: GND
// DATA: 2
int pinDHT11 = 2;
SimpleDHT11 dht11;
void setup() {
pinMode(redPin, OUTPUT);
pinMode(greenPin, OUTPUT);
pinMode(bluePin, OUTPUT);
Serial.begin(9600);
}
void loop() {
// inicia trabajo.
// Lectura de
datos.
byte temperatura =
0;
byte humedad = 0;
byte data[40] = {0};
if (dht11.read(pinDHT11, &temperatura,
&humedad, data)) {
return;
}
Serial.print("Lectura simple en Bits:
");
for (int i = 0; i < 40; i++) {
Serial.print((int)data[i]);
if (i > 0 && ((i + 1) % 4) == 0)
{
Serial.print(' ');
}
}
Serial.println("");
Serial.print("Muestra correcta: ");
Serial.print((int)temperatura); Serial.print("
*C, ");
Serial.print((int)humedad);
Serial.println(" %");
delay(500);
// DHT11 retardo de
5 seg .
int redValue;
int greenValue;
int blueValue;
if(temperatura>=5 &&
temperatura<=15){
analogWrite(redPin, redValue=255);
analogWrite(greenPin, greenValue=255);
analogWrite(bluePin, blueValue=255);
if(humedad>=90 &&
humedad<101){
analogWrite(redPin, redValue=0);
analogWrite(greenPin, greenValue=0);
analogWrite(bluePin, blueValue=252);
}
}
if(temperatura>=15.5 &&
temperatura<24){
analogWrite(redPin, redValue=255);
analogWrite(greenPin, greenValue=255);
analogWrite(bluePin, blueValue=255);
if(humedad>=90 &&
humedad<101){
analogWrite(redPin, redValue=0);
analogWrite(greenPin, greenValue=0);
analogWrite(bluePin, blueValue=252);
}
}
if(temperatura>=24 &&
temperatura<26){
analogWrite(redPin,
redValue=0);
analogWrite(greenPin, greenValue=252);
analogWrite(bluePin, blueValue=0);
if(humedad>=90 &&
humedad<101){
analogWrite(redPin, redValue=0);
analogWrite(greenPin, greenValue=0);
analogWrite(bluePin, blueValue=252);
}
}
if(temperatura>=26 &&
temperatura<=40){
analogWrite(redPin, redValue=255);
analogWrite(greenPin, greenValue=0);
analogWrite(bluePin, blueValue=0);
if(humedad>=90 && humedad<101){
analogWrite(redPin, redValue=0);
analogWrite(greenPin, greenValue=0);
analogWrite(bluePin,
blueValue=252);
}
}
}
const int redPin=11;
const int greenPin=9;
const int bluePin=10;
void setup() {
pinMode(redPin,
OUTPUT);
pinMode(greenPin,
OUTPUT);
pinMode(bluePin,
OUTPUT);
Serial.begin(9600);
Serial.println("DAME COLORES EN RGB");
}
void loop() {
int red;
int green;
int blue;
int valor;
while(Serial.available())
int numero=Serial.parseInt();
Serial.println(numero);
if(numero>0
&& numero<=10)
valor=1;
if(numero>=11
&& numero<=20)
valor=2;
if(numero>=21
&& numero<=30)
valor=3;
if(numero>=31
&& numero<=40)
valor=4;
if(numero>=41)
valor=5;
switch(valor){
case 1:
analogWrite(redPin,red=0);
analogWrite(greenPin,green=0);
analogWrite(bluePin,blue=255);
break;
case 2:
analogWrite(redPin,red=0);
analogWrite(greenPin,green=255);
analogWrite(bluePin,blue=0);
break;
case 3:
analogWrite(redPin,red=17);
analogWrite(greenPin,green=0);
analogWrite(bluePin,blue=7);
break;
case 4:
analogWrite(redPin,red=230);
analogWrite(greenPin,green=48);
analogWrite(bluePin,blue=0);
break;
case 5:
analogWrite(redPin,red=255);
analogWrite(greenPin,green=0);
analogWrite(bluePin,blue=0);
break;
}
}
// put your main code here, to run
repeatedly:
ENTREGABLE 1
Diagrama de teoría
Diagrama de teoría
ENTREGABLE 2
1.- Elabore un programa que encienda el color de luz dependiendo de los rangos numericos que de el usuario
(1-10 azul ) (11-20 verde) (21-30 rosa) (31-40 amarillo) (41 en adelante rojo)
1.- Elabore un programa que encienda el color de luz dependiendo de los rangos numericos que de el usuario
(1-10 azul ) (11-20 verde) (21-30 rosa) (31-40 amarillo) (41 en adelante rojo)
const int redPin=11;
const int greenPin=9;
const int bluePin=10;
void setup() {
pinMode(redPin,
OUTPUT);
pinMode(greenPin,
OUTPUT);
pinMode(bluePin,
OUTPUT);
Serial.begin(9600);
Serial.println("DAME COLORES EN RGB");
}
void loop() {
int red;
int green;
int blue;
int valor;
while(Serial.available())
int numero=Serial.parseInt();
Serial.println(numero);
if(numero>0
&& numero<=10)
valor=1;
if(numero>=11
&& numero<=20)
valor=2;
if(numero>=21
&& numero<=30)
valor=3;
if(numero>=31
&& numero<=40)
valor=4;
if(numero>=41)
valor=5;
switch(valor){
case 1:
analogWrite(redPin,red=0);
analogWrite(greenPin,green=0);
analogWrite(bluePin,blue=255);
break;
case 2:
analogWrite(redPin,red=0);
analogWrite(greenPin,green=255);
analogWrite(bluePin,blue=0);
break;
case 3:
analogWrite(redPin,red=17);
analogWrite(greenPin,green=0);
analogWrite(bluePin,blue=7);
break;
case 4:
analogWrite(redPin,red=230);
analogWrite(greenPin,green=48);
analogWrite(bluePin,blue=0);
break;
case 5:
analogWrite(redPin,red=255);
analogWrite(greenPin,green=0);
analogWrite(bluePin,blue=0);
break;
}
}
}