Diferencia entre revisiones de «Constanza Maldonado - Evaluación 1: Arduino Outputs»
De Casiopea
mSin resumen de edición |
|||
Línea 22: | Línea 22: | ||
{{#widget:YouTube|id=-FjUXsgTGevs}} | {{#widget:YouTube|id=-FjUXsgTGevs}} | ||
=Código= | |||
<pre><nowiki> | |||
#define led1 13 | |||
#define led2 12 | |||
#define led3 11 | |||
#define led4 10 | |||
#define led5 6 | |||
#define rgb1 5 | |||
#define rgb2 4 | |||
#define rgb3 3 | |||
#define pi 3.1416 | |||
int state = 3; | |||
void setup() { | |||
pinMode(led1, OUTPUT); | |||
pinMode(led2, OUTPUT); | |||
pinMode(led3, OUTPUT); | |||
pinMode(led4, OUTPUT); | |||
pinMode(led5, OUTPUT); | |||
pinMode(rgb1, OUTPUT); | |||
pinMode(rgb2, OUTPUT); | |||
pinMode(rgb3, OUTPUT); | |||
} | |||
void loop() { | |||
if(state == 1){ | |||
digitalWrite(led1, true); | |||
delay(500); | |||
digitalWrite(led2, true); | |||
delay(500); | |||
digitalWrite(led3, true); | |||
delay(500); | |||
digitalWrite(led4, true); | |||
delay(500); | |||
digitalWrite(led5, true); | |||
delay(2500); | |||
digitalWrite(led1, false); | |||
delay(500); | |||
digitalWrite(led2, false); | |||
delay(500); | |||
digitalWrite(led3, false); | |||
delay(500); | |||
digitalWrite(led4, false); | |||
delay(500); | |||
digitalWrite(led5, false); | |||
delay(2500); | |||
}else if(state == 2){ | |||
for(float i = 0; i <= (2 * pi); i = i + 2 * pi / 360){ | |||
analogWrite(led3, int(abs(sin(i) * 255))); | |||
analogWrite(led4, int(abs(sin(i - 2 * pi / 3) * 255))); | |||
analogWrite(led5, int(abs(sin(i + 2 * pi / 3) * 255))); | |||
delay(10 * 100/36); // el primer valor (10 en este caso) son los segundos que durara en total | |||
} | |||
}else if(state == 3){ | |||
digitalWrite(rgb1, true); | |||
digitalWrite(rgb2, false); | |||
digitalWrite(rgb3, false); | |||
delay(2000); | |||
digitalWrite(rgb1, false); | |||
digitalWrite(rgb2, true); | |||
digitalWrite(rgb3, false); | |||
delay(2000); | |||
digitalWrite(rgb1, false); | |||
digitalWrite(rgb2, false); | |||
digitalWrite(rgb3, true); | |||
delay(2000); | |||
} | |||
delay(1); | |||
} | |||
</nowiki></pre> | |||
=Vista del circuito= | =Vista del circuito= | ||
[[Archivo:Arduino evaluacion 1.png|800px|center]] | [[Archivo:Arduino evaluacion 1.png|800px|center]] |
Revisión del 00:36 12 abr 2019
Título | Arduino Outputs |
---|---|
Período | 2019-2019 |
Asignatura | Interacción y Performatividad |
Del Curso | Interacción y Performatividad 2019 |
Carreras | Diseño, Diseño Industrial"Diseño Industrial" is not in the list (Arquitectura, Diseño, Magíster, Otra) of allowed values for the "Carreras Relacionadas" property., Interacción y Servicios"Interacción y Servicios" is not in the list (Arquitectura, Diseño, Magíster, Otra) of allowed values for the "Carreras Relacionadas" property. |
Alumno(s) | Constanza Maldonado |
Profesor | Renzo Varela |
Requerimientos
1. Encienda 5 leds con un patrón a definir por el alumno.
2. Encienda 3 leds con efecto "degradé" o "fade"
3. Encienda 1 led RGB con el que debe pasar por los 3 colores principales.
Código
#define led1 13 #define led2 12 #define led3 11 #define led4 10 #define led5 6 #define rgb1 5 #define rgb2 4 #define rgb3 3 #define pi 3.1416 int state = 3; void setup() { pinMode(led1, OUTPUT); pinMode(led2, OUTPUT); pinMode(led3, OUTPUT); pinMode(led4, OUTPUT); pinMode(led5, OUTPUT); pinMode(rgb1, OUTPUT); pinMode(rgb2, OUTPUT); pinMode(rgb3, OUTPUT); } void loop() { if(state == 1){ digitalWrite(led1, true); delay(500); digitalWrite(led2, true); delay(500); digitalWrite(led3, true); delay(500); digitalWrite(led4, true); delay(500); digitalWrite(led5, true); delay(2500); digitalWrite(led1, false); delay(500); digitalWrite(led2, false); delay(500); digitalWrite(led3, false); delay(500); digitalWrite(led4, false); delay(500); digitalWrite(led5, false); delay(2500); }else if(state == 2){ for(float i = 0; i <= (2 * pi); i = i + 2 * pi / 360){ analogWrite(led3, int(abs(sin(i) * 255))); analogWrite(led4, int(abs(sin(i - 2 * pi / 3) * 255))); analogWrite(led5, int(abs(sin(i + 2 * pi / 3) * 255))); delay(10 * 100/36); // el primer valor (10 en este caso) son los segundos que durara en total } }else if(state == 3){ digitalWrite(rgb1, true); digitalWrite(rgb2, false); digitalWrite(rgb3, false); delay(2000); digitalWrite(rgb1, false); digitalWrite(rgb2, true); digitalWrite(rgb3, false); delay(2000); digitalWrite(rgb1, false); digitalWrite(rgb2, false); digitalWrite(rgb3, true); delay(2000); } delay(1); }