Your SlideShare is downloading. ×
0
Arduino: Pràctiques amb llum     http://blocs.xtec.cat/mecanica                          Francesc Pérez García            ...
http://blocs.xtec.cat/mecanica
Pràctiques amb llum:   LDR i LED-RGB en un ArduinoMaterials:-4 resistències de 220 Ω-1 sensor LDR-1 Led RGB-1 potenciòmetr...
CODI FONT: Aquest programa canvia el color del LED RGB en funció de la llum ambientalint valorLDR = 1;int ledRojo = 9;int ...
void loop(){valorLDR = analogRead(pinLDR);if(valorLDR >= 1023){digitalWrite(ledRojo, 128);digitalWrite(ledVerde, 0);digita...
else if((valorLDR >= 895) & (valorLDR < 959))   else if((valorLDR >= 639) & (valorLDR < 703))   else if((valorLDR >= 383) ...
else if((valorLDR >= 127) & (valorLDR <     else  191))                                            {{                     ...
Programes cub de LEDS: Exemple dexplosióint Columnas[] = {1, 2, 3, 4, 5, 6, 7, 8, 9};int Filas[] = {12, 11, 10};int t=400;...
for(int i=0;i<t;i++){  if(i%2==0){                              digitalWrite(Filas[0], HIGH);                             ...
Arduino pràctiques amb llum
Arduino pràctiques amb llum
Arduino pràctiques amb llum
Arduino pràctiques amb llum
Arduino pràctiques amb llum
Arduino pràctiques amb llum
Arduino pràctiques amb llum
Upcoming SlideShare
Loading in...5
×

Arduino pràctiques amb llum

287

Published on

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
287
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
23
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Arduino pràctiques amb llum"

  1. 1. Arduino: Pràctiques amb llum http://blocs.xtec.cat/mecanica Francesc Pérez García Institut Pompeu Fabra (Martorell)
  2. 2. http://blocs.xtec.cat/mecanica
  3. 3. Pràctiques amb llum: LDR i LED-RGB en un ArduinoMaterials:-4 resistències de 220 Ω-1 sensor LDR-1 Led RGB-1 potenciòmetre-1 placa arduino Uno- Cables
  4. 4. CODI FONT: Aquest programa canvia el color del LED RGB en funció de la llum ambientalint valorLDR = 1;int ledRojo = 9;int ledVerde=10;int ledAzul=11;int pinLDR = 1;//Necessitem 3 sortides diferents que donaran un senyal dintensitat diferent als 3 colors del RGB: blau, vermell i verd.void setup(){pinMode(ledRojo, OUTPUT);pinMode(ledVerde, OUTPUT);pinMode(ledAzul, OUTPUT);analogReference(EXTERNAL);}
  5. 5. void loop(){valorLDR = analogRead(pinLDR);if(valorLDR >= 1023){digitalWrite(ledRojo, 128);digitalWrite(ledVerde, 0);digitalWrite(ledAzul, 0);// Amb la instrucció digitalWrite i amb el valor numèric aconseguim molts colors diferents}else if((valorLDR >= 959) & (valorLDR < 1023)){digitalWrite(ledRojo, 255);digitalWrite(ledVerde, 0);digitalWrite(ledAzul, 0);}
  6. 6. else if((valorLDR >= 895) & (valorLDR < 959)) else if((valorLDR >= 639) & (valorLDR < 703)) else if((valorLDR >= 383) & (valorLDR < 447)){ { {digitalWrite(ledRojo, 255); digitalWrite(ledRojo, 128); digitalWrite(ledRojo, 0);digitalWrite(ledVerde, 128); digitalWrite(ledVerde, 128); digitalWrite(ledVerde, 128);digitalWrite(ledAzul, 0); digitalWrite(ledAzul, 255); digitalWrite(ledAzul, 0);} } }else if((valorLDR >= 831) & (valorLDR < 895)) else if((valorLDR >= 575) & (valorLDR < 639)) else if((valorLDR >= 319) & (valorLDR < 383)){ { {digitalWrite(ledRojo, 255); digitalWrite(ledRojo, 0); digitalWrite(ledRojo, 0); digitalWrite(ledVerde, 128); digitalWrite(ledVerde, 255);digitalWrite(ledVerde, 255); digitalWrite(ledAzul, 255); digitalWrite(ledAzul, 0);digitalWrite(ledAzul, 0); } }} else if((valorLDR >= 511) & (valorLDR < 575)) else if((valorLDR >= 255) & (valorLDR < 319))else if((valorLDR >= 767) & (valorLDR < 831)) { {{ digitalWrite(ledRojo, 0); digitalWrite(ledRojo, 128);digitalWrite(ledRojo, 255); digitalWrite(ledVerde, 0); digitalWrite(ledVerde, 255);digitalWrite(ledVerde, 255); digitalWrite(ledAzul, 255); digitalWrite(ledAzul, 0);digitalWrite(ledAzul, 128); } }} else if((valorLDR >= 447) & (valorLDR < 511)) else if((valorLDR >= 191) & (valorLDR < 255))else if((valorLDR >= 703) & (valorLDR < 767)) { {{ digitalWrite(ledRojo, 0); digitalWrite(ledRojo, 0);digitalWrite(ledRojo, 128); digitalWrite(ledVerde, 0); digitalWrite(ledVerde, 255);digitalWrite(ledVerde, 255); digitalWrite(ledAzul, 128); digitalWrite(ledAzul, 128);digitalWrite(ledAzul, 255); } }}
  7. 7. else if((valorLDR >= 127) & (valorLDR < else 191)) {{ digitalWrite(ledRojo, 0);digitalWrite(ledRojo, 128); digitalWrite(ledVerde, 0);digitalWrite(ledVerde, 255); digitalWrite(ledAzul, 0);digitalWrite(ledAzul, 128); }} }else if((valorLDR >= 63) & (valorLDR < 127)) void color(int rojo, int verde, int azul){ {digitalWrite(ledRojo, 128); analogWrite(ledRojo, 255-rojo);digitalWrite(ledVerde, 128); analogWrite(ledVerde, 255-verde);digitalWrite(ledAzul, 128); analogWrite(ledAzul, 255-azul);} //Aquí al final posem la escritura del PWM de cada color, per a que eselse if((valorLDR >=0) & (valorLDR < 63)) pugin completar les ordres i{ colors que donem al Arduino.digitalWrite(ledRojo, 55);digitalWrite(ledVerde, 55);digitalWrite(ledAzul, 55); }
  8. 8. Programes cub de LEDS: Exemple dexplosióint Columnas[] = {1, 2, 3, 4, 5, 6, 7, 8, 9};int Filas[] = {12, 11, 10};int t=400;void setup(){int contador;for (int contador = 0; contador < 10; contador++){pinMode(Columnas[contador], OUTPUT); }for (int contador = 0; contador < 4; contador++){pinMode(Filas[contador], OUTPUT); }}void loop(){digitalWrite(Filas[1], HIGH);digitalWrite(Columnas[4], HIGH);delay(t);
  9. 9. for(int i=0;i<t;i++){ if(i%2==0){ digitalWrite(Filas[0], HIGH); digitalWrite(Filas[2], HIGH); digitalWrite(Filas[0], LOW); digitalWrite(Columnas[1], HIGH); digitalWrite(Filas[2], LOW); digitalWrite(Columnas[3], HIGH); digitalWrite(Columnas[1], HIGH); digitalWrite(Columnas[5], HIGH); digitalWrite(Columnas[3], HIGH); digitalWrite(Columnas[7], HIGH); digitalWrite(Columnas[5], HIGH); } digitalWrite(Columnas[7], HIGH); else { } digitalWrite(Filas[0], LOW); else { digitalWrite(Filas[2], LOW); digitalWrite(Columnas[1], LOW); digitalWrite(Columnas[0], HIGH); digitalWrite(Columnas[3], LOW); digitalWrite(Columnas[2], HIGH); digitalWrite(Columnas[5], LOW); digitalWrite(Columnas[8], HIGH); digitalWrite(Columnas[7], LOW); digitalWrite(Columnas[6], HIGH); digitalWrite(Filas[0], HIGH); } digitalWrite(Filas[2], HIGH); delay(1); } } digitalWrite(Filas[0], HIGH); delay(1); digitalWrite(Filas[2], HIGH);} delay(t); for(int j=0; j<t; j++){ for (int contador = 0; contador < 10; contador++){ if(j%2==0){ digitalWrite(Columnas[contador], LOW); } digitalWrite(Columnas[0], LOW); for (int contador = 0; contador < 4; contador++){ digitalWrite(Columnas[2], LOW); digitalWrite(Filas[contador], LOW); } digitalWrite(Columnas[8], LOW); } digitalWrite(Columnas[6], LOW);
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×