tag:blogger.com,1999:blog-88536588209001000362024-02-19T23:26:11.225-08:00ARDUINOJoaquín Galdónhttp://www.blogger.com/profile/12917737202433849546noreply@blogger.comBlogger5125tag:blogger.com,1999:blog-8853658820900100036.post-62382584284204105112016-05-03T14:16:00.002-07:002016-05-03T14:37:18.103-07:00SENSOR DE ULTRASONIDOS HC-SR04.<a href="https://www.youtube.com/watch?v=ysR9UsXiGHU" target="_blank"><b>INDICACIÓN DE LA DISTANCIA EN EL MONITOR SERIE CON UN SENSOR HC-SR04.</b></a><br />
<br />
<div style="text-align: center;">
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/ysR9UsXiGHU/0.jpg" frameborder="0" height="266" src="https://www.youtube.com/embed/ysR9UsXiGHU?feature=player_embedded" width="320"></iframe></div>
</div>
int trigger=7;<br />
int echo=6;<br />
long time=0;<br />
long dist=0;<br />
<br />
void setup(){<br />
Serial.begin (9600);<br />
pinMode(trigger, OUTPUT);<br />
pinMode(echo, INPUT);<br />
}<br />
<br />
void loop(){<br />
digitalWrite(trigger, LOW);<br />
delay(5);<br />
digitalWrite(trigger, HIGH);<br />
delay(10);<br />
digitalWrite(trigger, LOW);<br />
time = pulseIn(echo, HIGH);<br />
dist = (time/2) / 29.1;<br />
if ( dist >= 500 || dist <= 0){<br />
Serial.println("No measurement");<br />
}<br />
else{<br />
Serial.print(dist);<br />
Serial.println(" cm");<br />
}<br />
delay(1000);<br />
}<br />
<div>
<br /></div>
<br />
<b><a href="https://www.youtube.com/watch?v=xvEnTMK129A" target="_blank">INDICACIÓN DE LA DISTANCIA MEDIANTE 4 DIODOS LED Y UN SENSOR HC-SR04.</a></b><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/xvEnTMK129A/0.jpg" frameborder="0" height="266" src="https://www.youtube.com/embed/xvEnTMK129A?feature=player_embedded" width="320"></iframe></div>
#define echoPin 6<br />
#define trigPin 7<br />
<br />
float maximumRange = 20;<br />
float minimumRange = 0;<br />
long duration, distance, contador;<br />
float aux;<br />
<br />
void setup() {<br />
Serial.begin (9600);<br />
pinMode(trigPin, OUTPUT);<br />
pinMode(echoPin, INPUT);<br />
pinMode(9, OUTPUT);<br />
pinMode(10, OUTPUT);<br />
pinMode(11, OUTPUT);<br />
pinMode(12, OUTPUT);<br />
}<br />
<br />
void loop() {<br />
digitalWrite(trigPin, LOW);<br />
delayMicroseconds(2);<br />
digitalWrite(trigPin, HIGH);<br />
delayMicroseconds(10);<br />
digitalWrite(trigPin, LOW);<br />
duration = pulseIn(echoPin, HIGH);<br />
distance = duration/58.2;<br />
Serial.println(distance);<br />
if (distance > maximumRange){<br />
Serial.println("OUT_OF_RANGE");<br />
for (int i = 9; i <= 12;i++){<br />
digitalWrite(i,HIGH);<br />
}<br />
delay(150);<br />
for (int i = 9; i <= 12;i++){<br />
digitalWrite(i,LOW);<br />
}<br />
delay(150);<br />
}<br />
else {<br />
aux = (1.0/maximumRange)*4.0*distance;<br />
contador = aux;<br />
contador = contador + 9;<br />
for (int i = 9; i <= contador; i++)<br />
digitalWrite(i,HIGH);<br />
for (int i = 12; i > contador; i--)<br />
digitalWrite(i,LOW);<br />
}<br />
delay(50);<br />
}<br />
<br />
<a href="https://www.youtube.com/watch?v=nzvVAqW_dWY" target="_blank"><b><br /></b></a>
<b><a href="https://www.youtube.com/watch?v=nzvVAqW_dWY" target="_blank">INDICACIÓN DE LA DISTANCIA MEDIANTE UNA AGUJA ACOPLADA A UN SERVOMOTOR Y UN SENSOR HC-SR04.</a></b><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/nzvVAqW_dWY/0.jpg" frameborder="0" height="266" src="https://www.youtube.com/embed/nzvVAqW_dWY?feature=player_embedded" width="320"></iframe></div>
#include <Servo.h><br />
#define echoPin 6<br />
#define trigPin 7<br />
<br />
float maximumRange = 20;<br />
float minimumRange = 0;<br />
long duration, distance;<br />
int dec=0;<br />
Servo servo1;<br />
<br />
void setup() {<br />
Serial.begin (9600);<br />
pinMode(trigPin, OUTPUT);<br />
pinMode(echoPin, INPUT);<br />
servo1.attach(3);<br />
}<br />
<br />
void loop() {<br />
digitalWrite(trigPin, LOW);<br />
delayMicroseconds(2);<br />
digitalWrite(trigPin, HIGH);<br />
delayMicroseconds(10);<br />
digitalWrite(trigPin, LOW);<br />
duration = pulseIn(echoPin, HIGH);<br />
distance = duration/58.2;<br />
Serial.println(distance);<br />
if (distance > maximumRange ){<br />
Serial.println("maxRange");<br />
}<br />
else {<br />
dec= distance*5;<br />
servo1.write(dec);<br />
delay(30);<br />
}<br />
}Joaquín Galdónhttp://www.blogger.com/profile/12917737202433849546noreply@blogger.com0tag:blogger.com,1999:blog-8853658820900100036.post-68222486911797540652016-05-02T11:57:00.002-07:002016-05-03T14:37:36.282-07:00CONTROL DE SERVOMOTORES.<span style="background-color: white; color: #707070; font-family: "arial" , "tahoma" , "helvetica" , "freesans" , sans-serif; font-size: 14.85px; line-height: 20.79px;">Haz clic en los enlaces para visualizar los vídeos.</span><br />
<span style="background-color: white; color: #707070; font-family: "arial" , "tahoma" , "helvetica" , "freesans" , sans-serif; font-size: 14.85px; line-height: 20.79px;"><br /></span>
<b><a href="https://www.youtube.com/watch?v=zhpiyjaDLGw" target="_blank">CONTROL BÁSICO DE UN SERVOMOTOR.</a></b><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/zhpiyjaDLGw/0.jpg" frameborder="0" height="266" src="https://www.youtube.com/embed/zhpiyjaDLGw?feature=player_embedded" width="320"></iframe></div>
#include <Servo.h><br />
Servo myservo; <br />
int pos = 0; <br />
void setup()<br />
{<br />
myservo.attach(9);<br />
}<br />
void loop()<br />
{<br />
for(pos = 0; pos < 180; pos += 1) <br />
{ <br />
myservo.write(pos); <br />
delay(15); <br />
}<br />
for(pos = 180; pos>=1; pos-=1) <br />
{ <br />
myservo.write(pos); <br />
delay(15); <br />
}<br />
}<br />
<b><br /></b>
<b><a href="https://www.youtube.com/watch?v=wZuvWhFrIZk" target="_blank">CONTROL DE UN SERVOMOTOR CON POTENCIÓMETRO.</a></b><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/wZuvWhFrIZk/0.jpg" frameborder="0" height="266" src="https://www.youtube.com/embed/wZuvWhFrIZk?feature=player_embedded" width="320"></iframe></div>
#include <Servo.h><br />
Servo myservo;<br />
int potpin = 0; <br />
int val; <br />
void setup()<br />
{<br />
myservo.attach(9); <br />
}<br />
void loop()<br />
{<br />
val = analogRead(potpin); <br />
val = map(val, 0, 1023, 0, 179); <br />
myservo.write(val); <br />
delay(15); <br />
}Joaquín Galdónhttp://www.blogger.com/profile/12917737202433849546noreply@blogger.com0tag:blogger.com,1999:blog-8853658820900100036.post-59566676987784375192016-04-19T11:11:00.000-07:002016-05-03T14:40:34.078-07:00TRABAJANDO CON RESISTENCIAS VARIABLES.Haz clic en los enlaces para visualizar los vídeos.<br />
<b><br /></b>
<b><a href="https://www.youtube.com/watch?v=vzZHvzixkH4" target="_blank">CONTROL DEL ENCENDIDO DE UN LED POR NIVEL DE LUZ (LDR).</a></b><br />
<br />
int intensity= A0;<br />
int LED = 10;<br />
int sensorvalue = 0;<br />
<br />
void setup(){<br />
Serial.begin(9600);<br />
pinMode (LED, OUTPUT);<br />
}<br />
<br />
void loop(){<br />
sensorvalue=analogRead(intensity);<br />
Serial.print("sensorvalue = " );<br />
Serial.println(sensorvalue);<br />
if (sensorvalue < 200 ){<br />
digitalWrite(LED, HIGH);<br />
}<br />
else { digitalWrite(LED, LOW);<br />
}<br />
delay (50);<br />
}<br />
<br />
<b><a href="https://www.youtube.com/watch?v=LobYhmP4eww" target="_blank"><br /></a>
<a href="https://www.youtube.com/watch?v=LobYhmP4eww" target="_blank">VARIACIÓN DE LA FRECUENCIA DE PARPADEO CON POTENCIÓMETRO.</a></b><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe width="320" height="266" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/s_vi/dHYtQ-sMBqU/default.jpg?sqp=CLC1pLkF&rs=AOn4CLBLsj_DvbOpaSPg56vzfcc3BClyVA" src="https://www.youtube.com/embed/dHYtQ-sMBqU?feature=player_embedded" frameborder="0" allowfullscreen></iframe></div>
int input= A0;<br />
int LED = 13;<br />
int sensorvalue = 0;<br />
<br />
void setup(){<br />
pinMode (LED, OUTPUT);<br />
}<br />
<br />
void loop(){<br />
sensorvalue =analogRead(input);<br />
digitalWrite (LED, HIGH);<br />
delay (sensorvalue);<br />
digitalWrite (LED, LOW);<br />
delay (sensorvalue);<br />
}<br />
<br />
<br />Joaquín Galdónhttp://www.blogger.com/profile/12917737202433849546noreply@blogger.com0tag:blogger.com,1999:blog-8853658820900100036.post-59733998828714262382016-04-19T11:04:00.000-07:002016-05-02T12:21:44.479-07:00TRABAJANDO CON LEDs.Haz "clic" en los enlaces para visualizar el vídeo de su funcionamiento.<br />
<br />
<a href="https://www.youtube.com/watch?v=051yrb_9gB8" target="_blank"><b>INTERMITENCIA LED.</b></a><br />
<br />
void setup(){<br />
pinMode(13, OUTPUT);<br />
}<br />
<br />
void loop(){<br />
digitalWrite(13, HIGH);<br />
delay(200);<br />
digitalWrite(13, LOW);<br />
delay(200);<br />
}<br />
<br />
<b><br /></b>
<a href="https://www.youtube.com/watch?v=bLldcIKVtZc" target="_blank"><b>INTERMITENCIA ALTERNATIVA DE DOS LEDS.</b></a><br />
<br />
int led1=4;<br />
int led2=5;<br />
<br />
void setup(){<br />
pinMode(led1, OUTPUT);<br />
pinMode(led2,OUTPUT);<br />
}<br />
<br />
void loop(){<br />
digitalWrite(led1, HIGH);<br />
digitalWrite(led2, LOW);<br />
delay(200);<br />
digitalWrite(led1, LOW);<br />
digitalWrite(led2, HIHG);<br />
delay(200);<br />
}<br />
<div>
<br /></div>
<div>
<br /></div>
<div>
<a href="https://www.youtube.com/watch?v=isk1o6Oplvw" target="_blank"><b>INTERMITENCIA SIMULTÁNEA LED-ZUMBADOR.</b></a></div>
<div>
<br />
int LED=4;</div>
int beep=5;<br />
<br />
void setup(){<br />
pinMode(LED, OUTPUT);<br />
pinMode(beep,OUTPUT);<br />
}<br />
<br />
void loop(){<br />
digitalWrite(LED, HIGH);<br />
digitalWrite(beep, HIGH);<br />
delay(1000);<br />
digitalWrite(LED, LOW);<br />
digitalWrite(beep, LOW);<br />
delay(1000);<br />
}<br />
<br />
<b><br /></b>
<a href="https://www.youtube.com/watch?v=kYz6xNq3Ibs" target="_blank"><b>CONTROL DE LA INTENSIDAD DE BRILLO DE UN LED.</b></a><br />
<br />
int LED=9;<br />
int brightness=0;<br />
int fadesteps=5;<br />
<br />
void setup(){<br />
pinMode(LED, OUTPUT);<br />
}<br />
<br />
void loop(){<br />
analogWrite(LED, brightness);<br />
brightness = brightness + fadesteps;<br />
delay(25);<br />
if (brightness == 0 || brightness == 255) {<br />
fadesteps = - fadesteps ;<br />
}<br />
}<br />
<br />
<br />
<a href="https://www.youtube.com/watch?v=fXMO-g5TX_o" target="_blank"><b>CONTROL DE UN LED MEDIANTE UN PULSADOR.</b></a><br />
<br />
int LEDblue=6;<br />
int pushbutton=7;<br />
int buttonstate=0;<br />
<br />
void setup(){<br />
pinMode(LEDblue, OUTPUT);<br />
pinMode(pushbutton, INPUT);<br />
}<br />
<br />
void loop(){<br />
buttonstate =digitalRead(pushbutton);<br />
if (pushbutton == HIGH){<br />
digitalWrite(LEDblue, HIGH);<br />
delay (5000);<br />
digitalWrite(LEDblue, LOW);<br />
}<br />
else{<br />
digitalWrite(LEDblue, LOW);<br />
}<br />
}<br />
<br />
<br />
<a href="https://www.youtube.com/watch?v=EPeXvG5VZJ0" target="_blank"><b>CONTROL DE TRES LEDS CON DOS PULSADORES.</b></a><br />
<br />
int pulsadorderecho = 0;<br />
int pulsadorizquierdo = 0;<br />
<br />
void setup(){<br />
pinMode(2,OUTPUT);<br />
pinMode(3,OUTPUT);<br />
pinMode(4,OUTPUT);<br />
pinMode(7,INPUT);<br />
pinMode(8,INPUT);<br />
Serial.begin(9600);<br />
}<br />
<br />
void loop(){<br />
pulsadorderecho = digitalRead(7);<br />
pulsadorizquierdo = digitalRead(8);<br />
if (pulsadorderecho == HIGH) {<br />
digitalWrite(2, HIGH);<br />
}<br />
else {<br />
digitalWrite(2, LOW);<br />
}<br />
if (pulsadorizquierdo == HIGH) {<br />
digitalWrite(4, HIGH);<br />
}<br />
else {<br />
digitalWrite(4, LOW);<br />
}<br />
if (pulsadorderecho == HIGH && pulsadorizquierdo == HIGH) {<br />
digitalWrite(2, HIGH);<br />
digitalWrite(3, HIGH);<br />
digitalWrite(4, HIGH);<br />
delay(250);<br />
digitalWrite(2, LOW);<br />
digitalWrite(3, LOW);<br />
digitalWrite(4, LOW);<br />
delay(250);<br />
}<br />
else { <br />
digitalWrite(3, LOW); <br />
} <br />
}<br />
<br />
<br />
<a href="https://www.youtube.com/watch?v=eoXim6GxmjE" target="_blank"><b>LED PULSANTE CON DESVANECIMIENTO.</b></a><br />
<br />
int ledPin = 3;<br />
<br />
void setup(){<br />
pinMode(ledPin,OUTPUT);<br />
}<br />
<br />
void loop (){<br />
for (int x=0; x<180; x++){<br />
float sinVal = sin(x*3.1412/180);<br />
int ledVal = int(sinVal*255);<br />
analogWrite(ledPin, ledVal);<br />
delay(50);<br />
}<br />
}<br />
<br />
<a href="https://www.youtube.com/watch?v=oL_65tngfrw" target="_blank"><br /></a>
<a href="https://www.youtube.com/watch?v=oL_65tngfrw" target="_blank"><b>SECUENCIA DE UN SEMÁFORO.</b></a><br />
<br />
const int redLedPin = 2; // pin del led<br />
const int orangeLedPin = 3; // pin del led<br />
const int greenLedPin = 4; // pin del led<br />
<br />
void setup() {<br />
<br />
// configuramos los tres pines de salida<br />
pinMode(redLedPin, OUTPUT);<br />
pinMode(orangeLedPin, OUTPUT);<br />
pinMode(greenLedPin, OUTPUT);<br />
}<br />
<br />
void loop() {<br />
<br />
//ciclo en rojo<br />
digitalWrite(orangeLedPin, LOW); //apagamos el naranja<br />
digitalWrite(redLedPin, HIGH); //encendemos el rojo<br />
delay(9000);//está en rojo 9s<br />
<br />
//ciclo en verde<br />
digitalWrite(redLedPin, LOW); //apagamos el rojo<br />
digitalWrite(greenLedPin, HIGH); //encendemos el verde<br />
delay(8000);//está en dverde 8s<br />
<br />
//ciclo en naranja<br />
digitalWrite(greenLedPin, LOW); //apagamos el verde<br />
digitalWrite(orangeLedPin, HIGH); //encendemos el naranja<br />
delay(1000); //está en naranja 1s<br />
}<br />
<br />
<br />
<a href="https://www.youtube.com/watch?v=0Obhf_lpRwM" target="_blank"><b>CONTROL DE SEMÁFORO CON PULSADOR.</b></a><br />
<br />
const int redLedPin = 2; // pin del led<br />
const int orangeLedPin = 3; // pin del led<br />
const int greenLedPin = 4; // pin del led<br />
const int buttonPin = 5; // pin del botón<br />
int lightStatus =0; //led que se debe encender en cada momento<br />
<br />
void setup() {<br />
<br />
// configuramos los tres pines de salida<br />
pinMode(redLedPin, OUTPUT);<br />
pinMode(orangeLedPin, OUTPUT);<br />
pinMode(greenLedPin, OUTPUT);<br />
<br />
//Configuramos el botón de entrada<br />
pinMode(buttonPin, INPUT);<br />
digitalWrite(buttonPin, HIGH); // se activa la resistencia de pull-up<br />
}<br />
<br />
void loop() {<br />
if (!digitalRead(buttonPin)){ // si se pulsa<br />
lightStatus = 1; //se fuerza a verde<br />
}<br />
<br />
//dependiendo de la luz que se debe mostrar tiene distintos parámetros la llamada<br />
switch (lightStatus){<br />
case 0: //red<br />
showLight(redLedPin,3000);<br />
break;<br />
case 1: // green<br />
showLight(greenLedPin,2000);<br />
break;<br />
case 2: // orange<br />
showLight(orangeLedPin,1000);<br />
break;<br />
}<br />
}<br />
<br />
/**<br />
* Enciende el led que se le indique.<br />
* Los parámetros son el led a encender y el tiempo que debe estar encendido<br />
*/<br />
<br />
void showLight(int ledPin, int maxTime){<br />
static int lastPin = 0; //último led encendido<br />
static unsigned long startTime =0; //tiempo desde que se encendió el led<br />
<br />
/* Si el led actualmente encendido no concuerda con el que se debe encender<br />
* entonces apagar el led encendido, encender el nuevo y poner el contador de tiempo a 0 */<br />
<br />
if (ledPin != lastPin){<br />
startTime = millis();<br />
digitalWrite(lastPin, LOW);<br />
lastPin = ledPin;<br />
digitalWrite(ledPin, HIGH);<br />
delay(1);<br />
}<br />
<br />
unsigned long elapsedTime = millis()-startTime; //tiempo pasado desde que se encendió el led<br />
if ((elapsedTime)> maxTime ){ // si es mayor que lo esperado, pasar al siguiente ciclo de led<br />
lightStatus++;<br />
if (lightStatus > 2) lightStatus =0; // sólo hay 3 led, comenzamos de nuevo por el 0<br />
}<br />
}<br />
<br />
<b><br /></b>
<a href="https://www.youtube.com/watch?v=FzbFnfzpe4c" target="_blank"><b>CONTADOR BINARIO DE 4 BITS.</b></a><br />
<br />
const byte ledPin[] = {2,3,4,5}; //Leds a utilizar<br />
int count=0; //contador<br />
unsigned long changeTime; //contador de tiempo<br />
<br />
void setup() {<br />
for (int x=0; x<10; x++) {<br />
pinMode(ledPin[x], OUTPUT); //los preparamos para salida<br />
}<br />
}<br />
<br />
void loop() {<br />
if ((millis() - changeTime) > 1000) { //si ha pasado 1000 milisegundos contar uno mas<br />
count ++;<br />
setNumber(); //ponemos el numero en los leds<br />
changeTime = millis(); //inicia el condador de tiempo a 0<br />
}<br />
}<br />
<br />
void setNumber (){<br />
if (count>15) count = 0; //volver a empezar si es mayor de 4 bits<br />
for (int i = 0; i<4;i++){ //para cada bit mira si tiene que encender el led correspondiente<br />
digitalWrite(ledPin[i], (count >> i) & 1);<br />
}<br />
}<br />
<br />
<b><br /></b>
<a href="https://www.youtube.com/watch?v=RF_4a4dyOnc" target="_blank"><b>SIMULACIÓN LEDS RGB.</b></a><br />
float RGBfrom[3]; //valores iniciales<br />
float RGBto[3]; //valores destino<br />
float increment[3]; // incrementos<br />
<br />
// pines de salida pwm<br />
int redPin = 3;<br />
int greenPin = 5;<br />
int bluePin = 6;<br />
<br />
void setup(){<br />
pinMode(redPin, OUTPUT);<br />
pinMode(redPin, OUTPUT);<br />
pinMode(redPin, OUTPUT);<br />
pinMode(A0, INPUT);<br />
randomSeed(analogRead(A0)); //inicializa el random<br />
<br />
//comienzo en 0<br />
RGBfrom[0] = 0;<br />
RGBfrom[1] = 0;<br />
RGBfrom[2] = 0;<br />
<br />
//valores destino aleatorios<br />
RGBto[0] = random(256);<br />
RGBto[1] = random(256);<br />
RGBto[2] = random(256);<br />
}<br />
<br />
void loop(){<br />
<br />
//cálculo de incrementos a sumar en cada iteracción<br />
for (int x=0; x<3; x++) {<br />
increment[x] = (RGBfrom[x] - RGBto[x]) / 256;<br />
}<br />
<br />
//realizamos las salidas para los cálculos<br />
setOutput();<br />
<br />
//se han alcanzado los valores destino<br />
//generamos nuevos valores destino<br />
for (int x=0; x<3; x++) {<br />
RGBto[x] = random(256);<br />
}<br />
}<br />
<br />
/***<br />
* Escribe en la salida el valor actual de cada led<br />
* y ajusta el nuevo valor según el incremento calculado<br />
***/<br />
<br />
void setOutput(){<br />
//256 iteraciones para llegar al valor destino<br />
for (int x=0; x<256; x++) {<br />
analogWrite (redPin, int(RGBfrom[0]));<br />
analogWrite (greenPin, int(RGBfrom[1]));<br />
analogWrite (bluePin, int(RGBfrom[2]));<br />
delay(10); //ajustable según deseo<br />
<br />
//se ajusta el valor desde según el incremento correspondiente<br />
//a cada valor<br />
for (int x=0; x<3; x++) {<br />
RGBfrom[x] -= increment[x];<br />
}<br />
}<br />
}<br />
<br />
<br />
<a href="https://www.youtube.com/watch?v=w2IjpIO3wls" target="_blank"><b>CONTROL BÁSICO DE UN LED RGB.</b></a><br />
<br />
int pinRojo = 9;<br />
int pinVerde = 10;<br />
int pinAzul = 11;<br />
<br />
void setup()<br />
{<br />
pinMode(pinRojo, OUTPUT);<br />
pinMode(pinVerde, OUTPUT);<br />
pinMode(pinAzul, OUTPUT); <br />
}<br />
<br />
void loop()<br />
{<br />
setColor(0, 255, 255); // rojo<br />
delay(500);<br />
setColor(255, 0, 255); // verde<br />
delay(500);<br />
setColor(255, 255, 0); // azul<br />
delay(500);<br />
setColor(0, 0 , 255); // amarillo<br />
delay(500); <br />
setColor(0, 255, 0); // morado<br />
delay(500);<br />
setColor(255, 0, 150); // aqua<br />
delay(500);<br />
setColor(0, 0, 0); //blanco<br />
delay(500);<br />
}<br />
<br />
void setColor(int red, int green, int blue)<br />
{<br />
analogWrite(pinRojo, red);<br />
analogWrite(pinVerde, green);<br />
analogWrite(pinAzul, blue); <br />
}<br />
<br />
<br />
<a href="https://www.youtube.com/watch?v=ojizWD239hc" target="_blank"><b>CONTROL DE UN LED RGB CON POTENCIÓMETRO.</b></a><br />
<br />
int pinRojo = 9;<br />
int pinVerde = 10;<br />
int pinAzul = 11;<br />
int contador =0;<br />
<br />
void setup(){<br />
pinMode(pinRojo, OUTPUT);<br />
pinMode(pinVerde, OUTPUT);<br />
pinMode(pinAzul, OUTPUT); <br />
}<br />
<br />
void loop(){<br />
int valor=analogRead(A0);<br />
valor=map(valor,0,1023,1,10);<br />
<br />
if(contador==0){<br />
for(int r=255; r>0 ; r--){<br />
setColor(r, 255,255);<br />
delay(valor);<br />
}<br />
contador++;<br />
}<br />
else if(contador==1){<br />
for(int g=255; g>0 ; g--){<br />
setColor(255, g,255);<br />
delay(valor);<br />
}<br />
contador++;<br />
}<br />
else{<br />
for(int b=255; b>0 ; b--){<br />
setColor(255, 255,b);<br />
delay(valor);<br />
}<br />
contador=0;<br />
}<br />
}<br />
<br />
void setColor( int red, int green, int blue){<br />
analogWrite(pinRojo, red);<br />
analogWrite(pinVerde, green);<br />
analogWrite(pinAzul, blue); <br />
}<br />
<br />Joaquín Galdónhttp://www.blogger.com/profile/12917737202433849546noreply@blogger.com0tag:blogger.com,1999:blog-8853658820900100036.post-18196345930776364432015-12-14T15:03:00.001-08:002015-12-15T14:44:15.369-08:00ENLACES PARA TRABAJAR CON ARDUINO.<br />
<ul>
<li><a href="https://www.arduino.cc/" target="_blank">Página Web de Arduino.</a></li>
</ul>
<ul>
<li><a href="http://castilla.verkstad.cc/question/" target="_blank">Proyecto Arduino Castilla-La Mancha.</a></li>
</ul>
<ul>
<li><a href="http://elcajondeardu.blogspot.com.es/" target="_blank">El Cajón de Arduino.</a></li>
</ul>
<ul>
<li><a href="https://123d.circuits.io/home" target="_blank">123D Circuits.</a></li>
</ul>
Joaquín Galdónhttp://www.blogger.com/profile/12917737202433849546noreply@blogger.com0