You are on page 1of 17

FOR FINAL

int pinArray []={2,3,4,5,6,7,8,9,10,11};

int count=2;

int tiempo=100;

void setup ()

for (count=0; count<10; count++)

pinMode (pinArray [count],OUTPUT);

void loop ()

for (count=0; count<10; count++)

digitalWrite (pinArray [count],HIGH);

digitalWrite (pinArray [count+1],HIGH);

delay (tiempo);

digitalWrite (pinArray [count], LOW);

delay (tiempo);

for (count=10; count>=0; count--)

digitalWrite (pinArray [count], HIGH);

digitalWrite (pinArray [count-1], HIGH);

delay (tiempo);

digitalWrite (pinArray [count], LOW);

delay (tiempo);
}

POTENCIOMETRO 1

int leds[]={3,4,5,6,7,8,9,10};

int Vsensor=0;

int count=0;

int n=0;

void setup() {

// put your setup code here, to run once:

pinMode (A0, INPUT);

for (count=0; count<=7; count++)

pinMode(leds[count], OUTPUT);

Serial.begin (9600);

void loop() {

// put your main code here, to run repeatedly:

Vsensor=analogRead(A0);

delay(10);

Serial.println("el valor de Vsensor es=");

Serial.println(Vsensor);

if(Vsensor>0 && Vsensor<=128)


{

digitalWrite(3,HIGH);

digitalWrite(4,LOW);

digitalWrite(5,LOW);

digitalWrite(6,LOW);

digitalWrite(7,LOW);

digitalWrite(8,LOW);

digitalWrite(9,LOW);

digitalWrite(10,LOW);

else if(Vsensor>128 && Vsensor<=256)

digitalWrite(3,HIGH);

digitalWrite(4,HIGH);

digitalWrite(5,LOW);

digitalWrite(6,LOW);

digitalWrite(7,LOW);

digitalWrite(8,LOW);

digitalWrite(9,LOW);

digitalWrite(10,LOW);

else if(Vsensor>256 && Vsensor<=384)

digitalWrite(3,HIGH);

digitalWrite(4,HIGH);

digitalWrite(5,HIGH);

digitalWrite(6,LOW);

digitalWrite(7,LOW);
digitalWrite(8,LOW);

digitalWrite(9,LOW);

digitalWrite(10,LOW);

else if(Vsensor>384 && Vsensor<=512)

digitalWrite(3,HIGH);

digitalWrite(4,HIGH);

digitalWrite(5,HIGH);

digitalWrite(6,HIGH);

digitalWrite(7,LOW);

digitalWrite(8,LOW);

digitalWrite(9,LOW);

digitalWrite(10,LOW);

else if(Vsensor>512 && Vsensor<=640)

digitalWrite(3,HIGH);

digitalWrite(4,HIGH);

digitalWrite(5,HIGH);

digitalWrite(6,HIGH);

digitalWrite(7,HIGH);

digitalWrite(8,LOW);

digitalWrite(9,LOW);

digitalWrite(10,LOW);

else if(Vsensor>640 && Vsensor<=768)

{
digitalWrite(3,HIGH);

digitalWrite(4,HIGH);

digitalWrite(5,HIGH);

digitalWrite(6,HIGH);

digitalWrite(7,HIGH);

digitalWrite(8,HIGH);

digitalWrite(9,LOW);

digitalWrite(10,LOW);

else if(Vsensor>768 && Vsensor<=896)

digitalWrite(3,HIGH);

digitalWrite(4,HIGH);

digitalWrite(5,HIGH);

digitalWrite(6,HIGH);

digitalWrite(7,HIGH);

digitalWrite(8,HIGH);

digitalWrite(9,HIGH);

digitalWrite(10,LOW);

else if(Vsensor>896 && Vsensor<=1024)

digitalWrite(3,HIGH);

digitalWrite(4,HIGH);

digitalWrite(5,HIGH);

digitalWrite(6,HIGH);

digitalWrite(7,HIGH);
digitalWrite(8,HIGH);

digitalWrite(9,HIGH);

digitalWrite(10,HIGH);

else if(Vsensor>768 && Vsensor<=896)

digitalWrite(3,HIGH);

digitalWrite(4,HIGH);

digitalWrite(5,HIGH);

digitalWrite(6,HIGH);

digitalWrite(7,HIGH);

digitalWrite(8,HIGH);

digitalWrite(9,HIGH);

digitalWrite(10,LOW);

else if(Vsensor>640 && Vsensor<=768)

digitalWrite(3,HIGH);

digitalWrite(4,HIGH);

digitalWrite(5,HIGH);

digitalWrite(6,HIGH);

digitalWrite(7,HIGH);

digitalWrite(8,HIGH);

digitalWrite(9,LOW);

digitalWrite(10,LOW);

else if(Vsensor>512 && Vsensor<=640)

{
digitalWrite(3,HIGH);

digitalWrite(4,HIGH);

digitalWrite(5,HIGH);

digitalWrite(6,HIGH);

digitalWrite(7,HIGH);

digitalWrite(8,LOW);

digitalWrite(9,LOW);

digitalWrite(10,LOW);

else if(Vsensor>384 && Vsensor<=512)

digitalWrite(3,HIGH);

digitalWrite(4,HIGH);

digitalWrite(5,HIGH);

digitalWrite(6,HIGH);

digitalWrite(7,LOW);

digitalWrite(8,LOW);

digitalWrite(9,LOW);

digitalWrite(10,LOW);

else if(Vsensor>256 && Vsensor<=384)

digitalWrite(3,HIGH);

digitalWrite(4,HIGH);

digitalWrite(5,HIGH);

digitalWrite(6,LOW);

digitalWrite(7,LOW);
digitalWrite(8,LOW);

digitalWrite(9,LOW);

digitalWrite(10,LOW);

else if(Vsensor>128 && Vsensor<=256)

digitalWrite(3,HIGH);

digitalWrite(4,HIGH);

digitalWrite(5,LOW);

digitalWrite(6,LOW);

digitalWrite(7,LOW);

digitalWrite(8,LOW);

digitalWrite(9,LOW);

digitalWrite(10,LOW);

else if(Vsensor>0 && Vsensor<=128)

digitalWrite(3,HIGH);

digitalWrite(4,LOW);

digitalWrite(5,LOW);

digitalWrite(6,LOW);

digitalWrite(7,LOW);

digitalWrite(8,LOW);

digitalWrite(9,LOW);

digitalWrite(10,LOW);

if (Vsensor==0)
{

digitalWrite(3,LOW);

digitalWrite(4,LOW);

digitalWrite(5,LOW);

digitalWrite(6,LOW);

digitalWrite(7,LOW);

digitalWrite(8,LOW);

digitalWrite(9,LOW);

digitalWrite(10,LOW);

POTENCIOMETRO 2

int leds[]={2,3,4,5,6,7,8,9,10};

int potenciometro;

int i=0;

void setup() {

for (i=0; i<10; i++)

pinMode( leds[i],OUTPUT);

Serial.begin(9600);

void loop() {

potenciometro = analogRead (0);

if ( potenciometro==0);

else if(potenciometro > 10 && potenciometro <= 40){


digitalWrite(leds[0],HIGH);

else if(potenciometro >= 90 && potenciometro <= 130){

digitalWrite(leds[1],HIGH);

else if(potenciometro >= 180 && potenciometro <= 220){

digitalWrite(leds[2],HIGH);

else if(potenciometro >= 260 && potenciometro <= 300){

digitalWrite(leds[3],HIGH);

else if(potenciometro >= 350 && potenciometro <= 390){

digitalWrite(leds[4],HIGH);

else if(potenciometro >= 430 && potenciometro <= 460){

digitalWrite(leds[5],HIGH);

else if(potenciometro >= 500 && potenciometro <= 530){

digitalWrite(leds[6],HIGH);

else if(potenciometro >= 570 && potenciometro <= 600){

digitalWrite(leds[7],HIGH);

else if(potenciometro >= 640 && potenciometro <= 690){

digitalWrite(leds[8],HIGH);

else if(potenciometro <= 635 && potenciometro >= 605){

digitalWrite(leds[8],LOW);

}
else if(potenciometro <= 565 && potenciometro >= 535){

digitalWrite(leds[7],LOW);

else if(potenciometro <= 495 && potenciometro >= 465){

digitalWrite(leds[6],LOW);

else if(potenciometro <= 425 && potenciometro >= 395){

digitalWrite(leds[5],LOW);

else if(potenciometro <= 345 && potenciometro >= 305){

digitalWrite(leds[4],LOW);

else if(potenciometro <= 255 && potenciometro >= 225){

digitalWrite(leds[3],LOW);

else if(potenciometro <= 195 && potenciometro >= 135){

digitalWrite(leds[2],LOW);

else if(potenciometro <= 85 && potenciometro >= 45){

digitalWrite(leds[1],LOW);

else if(potenciometro <= 35 && potenciometro >= 0){

digitalWrite(leds[0],LOW);

MOTOR FINAL

int p1;

int p2;
int p3;

int pulso=0;

int contador=0;

void setup()

pinMode(2,INPUT);

pinMode(8,INPUT);

pinMode(9,INPUT);

pinMode(10,INPUT);

pinMode(3,OUTPUT);

pinMode(4,OUTPUT);

Serial.begin(9600);

void loop()

p1=digitalRead(8);

p2=digitalRead(9);

p3=digitalRead(10);

if (p1==LOW && p2==LOW && p3==LOW)

digitalWrite(3,LOW);

digitalWrite(4,LOW);

else if (p1==HIGH && p2==LOW && p3==LOW)

digitalWrite(3,LOW);

digitalWrite(4,LOW);
}

else if (p1==HIGH && p2==LOW && p3==HIGH)

digitalWrite(3,HIGH);

digitalWrite(4,LOW);

else if (p1==HIGH && p2==HIGH && p3==LOW)

digitalWrite(3,LOW);

digitalWrite(4,HIGH);

else if (p1==HIGH && p2==HIGH && p3==HIGH)

digitalWrite(3,LOW);

digitalWrite(4,LOW);

pulso=digitalRead(2);

if(pulso==HIGH)

contador++;

Serial.println("El contador es");

Serial.println (contador);

delay (30);

PWM

/*
www.diymakers.es

by A.García

Control velocidad y sentido motor DC

Tutorial en: http://diymakers.es/control-velocidad-y-sentido-de-motor-dc/

*/

int pin2=9; //Entrada 2 del L293D

int pin7=10; //Entrada 7 del L293D

int pote=A0; //Potenciómetro

int valorpote; //Variable que recoge el valor del potenciómetro

int pwm1; //Variable del PWM 1

int pwm2; //Variable del PWM 2

void setup()

//Inicializamos los pins de salida

pinMode(pin2,OUTPUT);

pinMode(pin7, OUTPUT);

void loop()

//Almacenamos el valor del potenciómetro en la variable

valorpote=analogRead(pote);

//Como la entrada analógica del Arduino es de 10 bits, el rango va de 0 a 1023.

//En cambio, la salidas del Arduio son de 8 bits, quiere decir, rango entre 0 a 255.
//Por esta razón tenemos que mapear el número de un rango a otro usando este código.

pwm1 = map(valorpote, 0, 1023, 0, 255);

pwm2 = map(valorpote, 0, 1023, 255, 0); //El PWM 2 esta invertido respecto al PWM 1

//Sacamos el PWM de las dos salidas usando analogWrite(pin,valor)

analogWrite(pin2,pwm1);

analogWrite(pin7,pwm2);

SERVOMOTOR

int Vref=0;

int Vsensor=0;

int Verror=0;

int Pulso=0;

void setup() {

// put your setup code here, to run once:

Serial.begin(9600);

pinMode(2,INPUT);

pinMode(3,OUTPUT);

pinMode(4,OUTPUT);

void loop() {

// put your main code here, to run repeatedly:

if (Serial.available()>0)

{
Serial.println("Ingrese el valor de pulsos");

Vref=Serial.readString().toInt();

Vsensor=0;

Pulso=digitalRead(2);

delay(30);

if (Pulso==LOW)

Vsensor++;

Serial.println(Vsensor);

Verror=Vref-Vsensor;

if (Verror>0)

digitalWrite(3,HIGH);

digitalWrite(4, LOW);

if (Verror==0)

digitalWrite(3,LOW);

digitalWrite(4, LOW);

if (Verror<0)

digitalWrite(3,LOW);

digitalWrite(4, HIGH);
delay(100);

Vsensor--;

You might also like