viernes, 5 de mayo de 2017

Arduino proyecto 5: Indicador de estado de ánimo.

Este fue mi primer proyecto usando algún tipo de motor, en este caso un servomotor. En este circuito se usa un servomotor para hacer un calibrador mecánico para indicar de qué humor estás ese día.
Se necesitan los siguientes componentes: potenciometros, servomotor, brazo motor y dos condensadores
La interfaz no fue muy difícil de montar ya que no llevaba gran número de componentes ni de cables.
Este código fue muy fácil de crear ya que era muy corto y no era difícil de comprender.
En este proyecto no tuve ningún problema, solo que aun no comprendí para que servia bien.




Código

#include <Servo.h>
Servo myServo;
int const potPin = A0;
int potVal;
int angle;
void setup() {

    myServo.attach(9);

    Serial.begin(9600);
}
void loop() {

    potVal = analogRead(potPin);
    Serial.print("potVal: ");
    Serial.print(potVal);
angle = map(potVal, 0, 1023, 0, 179);
Serial.print(", angle: ");
Serial.println(angle);
    myServo.write(angle);
    delay(15);
}

Arduino proyecto 4: Lámpara de varios colores.

En este proyecto lo que tuvimos que hacer fue crear un circuito con led multicolor(1), resistencias (6) y sensores de luz (3). Consistía que al poner la mano sobre la célula para que no le diese la luz, el led multicolores cambia de colores.
Fue muy entretenido de hacer, en este proyecto ya se empiezan a usar mas cables y más componentes.
El código fue bastante fácil de hacer ya que era corto y no había mucho que entender.




Código

const int greenLEDPin = 9;
const int redLEDPin = 11;
const int blueLEDPin = 10;

const int redSensorPin = A0;
const int greenSensorPin = A1;
const int blueSensorPin = A2;
int redValue = 0;
int greenValue = 0;
int blueValue = 0;

int redSensorValue = 0;
int greenSensorValue = 0;
int blueSensorValue = 0;
void setup() {
    Serial.begin(9600);

    pinMode(greenLEDPin, OUTPUT);
    pinMode(redLEDPin, OUTPUT);
    pinMode(blueLEDPin, OUTPUT);
} //Fin de la funcion setup.
void loop() {
    redSensorValue = analogRead(redSensorPin);
    delay(5);
    greenSensorValue = analogRead(greenSensorPin);
    delay(5);
    blueSensorValue = analogRead(blueSensorPin);
    Serial.print("Raw Sensor Values \t Red: ");
    Serial.print(redSensorValue);
    Serial.print("\t Green: ");
    Serial.print(greenSensorValue);
    Serial.print("\t Blue: ");
    Serial.println(blueSensorValue);

    redValue = redSensorValue/4;
    greenValue = greenSensorValue/4;
    blueValue = blueSensorValue/4;
    Serial.print("Mapped Sensor Values \t Red: ");
    Serial.print(redValue);
    Serial.print("\t Green: ");
    Serial.print(greenValue);
    Serial.print("\t Blue: ");
    Serial.println(blueValue);

    analogWrite(redLEDPin, redValue);
    analogWrite(greenLEDPin, greenValue);
    analogWrite(blueLEDPin, blueValue);
} //Fin de la funcion loop.

Arduino: proyecto 3 Love-o-meter

Este proyecto trataba de construir un circuito con leds(3), resistencias(3) y un sensor de temperatura(1) (TMP36) que al variar la temperatura las luces se encendían o se apagaban.
No fue muy complicado de hacer, ya que no llevaba el circuito demasiados componentes. Respecto al código, no es un código muy complicado de entender aunque si era un poco extenso.
El único problema que tuve era que al calentar el sensor de temperatura de la placa ni se encendía si se apagaban los leds, la solución fue cambiar los valores introducidos anteriormente en el código.



Interfaz 



Código 
const int sensorPin = A0;
 const float baselineTemp = 20.0;


void setup(){
  Serial.begin(9600); // open a serial port.

  for(int pinNumber = 2; pinNumber<5; pinNumber++){
        pinMode(pinNumber, OUTPUT);
        digitalWrite(pinNumber, LOW);
  }
}

void loop(){

    int sensorVal = analogRead(sensorPin);

Serial.print("Sensor Value: ");
Serial.print(sensorVal);

// convert the ADC reading to voltage.
float voltage = (sensorVal/1024.0) * 5.0;

Serial.print(" , Volts: ");
Serial.print(voltage);

Serial.print(" , degrees C: ");
// convert the voltage to temperature in degrees.
float temperature = (voltage - .5) * 100;
Serial.println(temperature);

if(temperature < baselineTemp){
     digitalWrite(2, LOW);
     digitalWrite(3, LOW);
     digitalWrite(4, LOW);

}else if(temperature >= baselineTemp+2 &&
    temperature < baselineTemp+4){
    digitalWrite(2, HIGH);
    digitalWrite(3, LOW);
    digitalWrite(4, LOW);

}else if(temperature >= baselineTemp+4 &&
    temperature < baselineTemp+6){
    digitalWrite(2, HIGH);
    digitalWrite(3, HIGH);
    digitalWrite(4, LOW);
}else if(temperature >= baselineTemp+6){
     digitalWrite(2, HIGH);
     digitalWrite(3, HIGH);
     digitalWrite(4, HIGH);

    }

    delay(1);

}


sábado, 18 de febrero de 2017

Appinvento: Voluntaria (Localizador)

Esta practica era voluntaria, consistía en hacer una aplicación que te dijera las coordenadas exactas de tu ubicación actual.
No tube ningún problema al hacerla.
La interfaz era sencilla, constaba de dos botones y dos etiquetas en disposición horizontal y un sensor de ubicación.
Los bloques también resultaron sencillos, ya que no era muchos.
Mi app : https://drive.google.com/open?id=0BwcXVS1jYC_0Z2VBeWVXb0VESjQ

Arduino: circuito con código

Este circuito sin duda fue el más complejo, no solo por que se utilizaba más componentes y cables, sino que se le añadía un código que había que entender.
Para meter en código en la placa base se necesitaba descargar una aplicación de la pagina web de arduino, una vez escrito el código solo tenías que verificarlo y subirlo a la placa.
El problema que tengo con el código es que al verificarlo me dice que está correcto, pero al subirlo me da error par algún tema del almacenamiento que desconozco.
Aqui os dejo unas fotos con la placa con sus competentes conectada al ordenador para recibir el código.

Mensaje de error


Arduino : Circuito en paralelo

En este circuito la dificultad aumento un poco, se trataba de un circuito con un led, dos interruptores y una resistencia, lo que le diferencia del circuito anterior es que con pulsar un interruptor el led se encendía.
En este circuito no tuve ningún tipo de problema, me gusto mucho hacerlo. 
Video: https://drive.google.com/open?id=0BwcXVS1jYC_0RHo0bjMxRUU4dVk

Arduino : Circuito en serie

En este circuito había dos interruptores, una resistencia y un led.
Lo que tiene de especial este circuito es que si no pulsabas los dos interruptores en led no lucia.
Fue una actividad bastante entretenida y fácil.
No tuve ningún tipo de problema
Video : https://drive.google.com/open?id=0BwcXVS1jYC_0SUpjTk9KbVlfXzg