domingo, 1 de diciembre de 2019

Unidad 6

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:
}
PROGRAMA 16 


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

PROGRAMA 30 


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:
}




ENTREGABLES:

ENTREGABLE 1

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)



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

No hay comentarios:

Publicar un comentario