dissabte, 5 de desembre de 2015

POTENCIOMETRE AMB BARRA DE LEDS


Aquesta programació consisteix en encendre una barra de leds progressivament mitjançant el potenciometre.

El montatge es fa tal i com s'indica a la foto.

A continuació s'estableixen totes les variables que calen per fer el programa i fem el "void setup" el qual fem una cosa nova que es per monotoritzar els valors del potenciometre.

Després fem el "void loop" amb els elements annexat en la progranmació de baix.

PROGRAMACIÓ:

/*BARRA DE LEDS Y POTENCIOMETRO*/
int sensor = A0;
int const x = 1023/11;
int i; // variable comptador per a for
int leds[] = {4,5,6,7,8,9,10,11,12,13};
int temps = 1000;
int o;

 void setup()
 {
   for (i=0;i<10;i++)
  {pinMode (leds[i],OUTPUT);}
  Serial.begin(9600);
 }
  
 void loop()
 {
  int lectura = analogRead(sensor);
  Serial.println(lectura);
  
  if (lectura < x)
  {
    for (i=0; 1<10; i++)
    {digitalWrite (leds[i], LOW);}
  }
else if (lectura < 2*x)
{
   for (i=1; 1<10; i++)
  {digitalWrite (leds[i], LOW);}
  for (o=0; o<1; o++)
  {digitalWrite (leds[o], HIGH);}
}
else if (lectura < 3*x)
{
   for (i=2; 1<10; i++)
  {digitalWrite (leds[i], LOW);}
  for (o=0; o<2; o++)
  {digitalWrite (leds[o], HIGH);}
}
else if (lectura < 4*x)
{
  for (i=3; 1<10; i++)
  {digitalWrite (leds[i], LOW);}
  for (o=0; o<3; o++)
  {digitalWrite (leds[o], HIGH);}
}
else if (lectura < 5*x)
{
   for (i=4; 1<10; i++)
  {digitalWrite (leds[i], LOW);}
  for (o=0; o<4; o++)
  {digitalWrite (leds[o], HIGH);}
}
else if (lectura < 6*x)
{
   for (i=5; 1<10; i++)
  {digitalWrite (leds[i], LOW);}
  for (o=0; o<5; o++)
  {digitalWrite (leds[o], HIGH);}
}
else if (lectura < 7*x)
{
   for (i=6; 1<10; i++)
  {digitalWrite (leds[i], LOW);}
  for (o=0; o<6; o++)
  {digitalWrite (leds[o], HIGH);}
}
else if (lectura < 8*x)
{
  for (i=7; 1<10; i++)
  {digitalWrite (leds[i], LOW);}
  for (o=0; o<7; o++)
  {digitalWrite (leds[o], HIGH);}
}
else if (lectura < 9*x)
{
   for (i=8; 1<10; i++)
  {digitalWrite (leds[i], LOW);}
  for (o=0; o<8; o++)
  {digitalWrite (leds[o], HIGH);}
}
else if (lectura < 10*x)
{
  for (i=9; 1<10; i++)
  {digitalWrite (leds[i], LOW);}
  for (o=0; o<9; o++)
  {digitalWrite (leds[o], HIGH);}
}
else
{
  for (o=0; o<10; o++)
  {digitalWrite (leds[o], HIGH);}
}
 }

ESPELMA DIGITAL

Aquesta pràctica consisteix en la simulació d'una espelma digital mitjançant un LED RGB i un sensor Tilt.

El primer que s'hauria  de fer és el montatge, tal i com es veu en el video.

En la programació primer s'ha de fer és el "void setup" que consisteix en establir si són de sortida o d'entrada, en aquest cas tenim de tots dos (INPUT/OUTPUT).

En el "void loop"  donem l'ordre de encendre a l'atzar (RANDOM) qualsevol dels tres color del LED RGB i el temps també a l'atzar (RANDOM), depenent de si el Tilt esta inclinat (HIGH) o no (LOW)


PROGRAMACIÓ:

/*ESPELMA DIGITAL*/
void setup()
{
  pinMode(13, OUTPUT);
  pinMode(12,OUTPUT); 
  pinMode(11, OUTPUT);
  pinMode(10, INPUT);
}

void loop()
{
  apaga();
  if(digitalRead(10) ==HIGH)
  {digitalWrite((random(10,14)),HIGH);}
  else
  {apaga();}
  delay(random(10,40));
}
 //..................................................
 void apaga()
 {
  digitalWrite(11, LOW);
  digitalWrite(12, LOW);
  digitalWrite(13, LOW);

 }

dimecres, 2 de desembre de 2015

LED AMB TEMPORITZADOR



Aquest programa seria una simulació d'una llum d'escala. El primer seria establir la variable del led, del polsador i del temps.

En el "void setup" establim si és un port de sortida o d'entrada (INPUT/OUTPUT)

En el "void loop" donem les ordres de el temps que volem que estigui encès el led quan li donem al polsador.

El muntatge és fa com s'indica a la fotografía.

PROGRAMACIÓ

/*Encesa d'un LED amb pulsador*/
int LedPin = 13;
int BotoPin = 12;
int temps = 3000;
void setup()
{
  pinMode(LedPin, OUTPUT);
  pinMode(BotoPin,INPUT);
}

void loop()
{
  if(digitalRead(BotoPin) ==HIGH) //
  {digitalWrite(LedPin,HIGH); 
   delay (temps);}
  else
  {digitalWrite(LedPin,LOW);}
}

SIRENA DE POLICIA



Com podeu veure aquest és un programa de simulació d'una sirena de policia. A la fotografia que veieu s'indica el montatge.

El primer que s'ha de fer en el programa es establir les variables dels leds i el temps que han d'estar encès cada led, el següent seria fer la funció del "void setup" i definir si es led és de sortida o d'entrada (INPUT/OUTPUT). Desprès fer la funció del "void loop", en aquesta funció és repeteixen les ordres que tu dones, es posa el temps que està encès i apagat i si s'encèn o no.