Mostrando entradas con la etiqueta Arduino. Mostrar todas las entradas
Mostrando entradas con la etiqueta Arduino. Mostrar todas las entradas

jueves, 29 de septiembre de 2016

SPLIT PARA AUDIO CON PANEO ANALÓGICO Y CONTROL DIGITAL



Origen del proyecto

El concepto del proyecto radica en la necesidad personal (y posiblemente la de alguien más), como aficionado a la guitarra, de poder usar dos amplificadores de guitarra al mismo tiempo (o un amplificador con dos canales con sonidos distintos en paralelo), pero pudiendo controlar en directo (mientras toco) y de manera continua el balance que hay entre los dos sonidos diferentes que proporcionan dichos amplificadores.

Puesto que no he encontrado ningún dispositivo que me ofrezca la solución a mis requerimientos, he optado por intentar diseñar uno propio.



Descripción



El dispositivo consta del módulo principal (que describiremos a continuación), y un pedal de expresión con el que se controla el funcionamiento del primer módulo.

miércoles, 31 de agosto de 2016

Próximamente ... Jugamos con DRONES!!!

Durante los próximos meses vamos a introducirnos seriamente en el mundo de los drones tipo QUADCOPTER.

Partimos de la experiencia previa iniciada hace un par de años, y con ese punto de partida vamos a profundizar todo lo que podamos.

viernes, 8 de julio de 2016

TRIAC Y RELÉ--JEISON


PLACA RELÉ Y TRIAC


Este proyecto es una unión entre dos placas, una ya elaborada anteriormente la cual constaba de un relé el cual conmutaba una bombilla por medio de Arduino y Processing. La otra era con un triac y tres moc3021.


PLANIFICACIÓN DEL PROYECTO:

el diagrama de Gantt es una útil herramienta gráfica cuyo objetivo es exponer el tiempo de dedicación previsto para diferentes tareas o actividades a lo largo de un tiempo total determinado.
A pesar de esto, el diagrama de Gantt no indica las relaciones existentes entre actividades.
Para hacernos una idea de saber que días se tienen disponibles para entregar el proyecto lo que hacemos es un diagrama de Gantt, el cual nos divide la tarea principal en tareas y sub-tareas para llevar un control especifico de lo que se tiene que hacer y cuando terminarlo.


DIAGRAMA DE GANTT:


miércoles, 4 de mayo de 2016

Proyecto T.A.T.

T.A.T.

TANQUE AUTÓNOMO TELEDIRIGIDO




Este proyecto básicamente es un prototipo temprano que trae consigo una serie de configuraciones y opciones, las cuales le combinan de autonomía y control total, ya sea en modo automático o manual.

En modo automático

Es capaz mediante un sensor de ultrasonidos y un atmega328P de evadir obstáculos que se encuentren en su trayectoria a una distancia no inferior a 30 centímetros, durante la marcha se ayuda de una batería LyPo de 11.1v y 2600mA, mediante la cual alimenta todos los módulos que intervienen en su desplazamiento, la batería se aloja en el interior del tanque, en una zona donde este protegida y otorgue estabilidad.



Con un consumo inferior a 1,5A es capaz de mantenerse en movimiento durante mas de una hora, llegando a cubrir una distancia considerable.
Cuenta ademas con una resistencia LDR la cual activa los múltiples leds frontales, cuando capta una bajada drástica de iluminación, haciendo posible la identificación y ubicación del vehículo mientras se desplaza.



En modo manual

Mediante un juego de conmutadores, se deshabilita el modo automático y se habilita la configuración en modo manual, la cual da control sobre los motores a un PIC-16F877A el cual mediante un modulo bluetooth y receptores de radiofrecuencia, mantiene al tanque a la espera de los distintos comandos necesarios para su desplazamiento y para la activación de los diferentes módulos que lo componen, como un reproductor de sonido, un modulo láser que servirá como guía en su desplazamiento ademas de contar con varios leds frontales y traseros, que ayudaran a identificar su posición con poca visibilidad.

Debido al espacio reducido del vehículo, este integrado se apoya en un demultiplexor ubicado en otra placa, el cual aumenta el numero de opciones y configuraciones.

En definitiva,este prototipo cuenta con estas dos configuraciones, siendo la base para seguir diseñando y fabricando un prototipo posterior que contara con estas y muchas mas mejoras.






martes, 26 de abril de 2016

Domocasa

   Necesitaremos hacer las siguientes cosas:

  • Instalar Raspbian (linux) en Raspberry pi
  • Crear servidor (apache2 en este caso)  y pagina web alojada en el mismo.
  • Crear base de datos mysql e instalar dependencias php5.
  • Crear shell scrip y python para interactuar con los GPIO e interuptores de la web.
  • Software arduino, para importar los datos de sensores a la base de datos previamente creada.
  • Realizar una placa para los led y sensores, son sus transistores y divisores de tensión.

   Para realizar este proyecto, necesitamos los siguientes materiales:

  •    2 Arduino uno
  •    1 Shield arduino-ethernet   
  •    1 Lcd 128x64
  •    2 Relay
  •    1 Placa de control
  •    1 Raspberry pi
  •    1 Servo
  •    3 Sensores de temperatura
  •    1 Ldr
  •    1 Sensor dth11
  •  15 Led
  •    3 Thermistores 100K
  •    8 Transistores PN222 
  •    4 Bombillas 220 - 40W
  •    Resistencias smd
        

      Una vez Instalamos Raspbian, procederemos a instalar el servidor apache2. En este caso la conexion con la Raspberry pi es mediante conexion ssh por terminal dentro del mismo wifi.
 
          Empezamos:
  1.            sudo rpi-update                         (actualizamos el firmware y kernel)
  2.            sudo reboot                               (reiniciamos)
  3.            sudo apt-get update                  (comprobamos las actualizaciones de software)
  4.            sudo apt-get update                  (actualizamos)
  5.            sudo reboot                               (volvemos a reiniciar)
  6.            sudo apt-get install apache2     (instalamos servidor apache2)          
  7.            sudo apt-get install php5           (instalamos php 5
 Asi sucesivamente vamos instalando todas las dependencias que vallamos a utilizar.
       Varios tutoriales para completarlo y bastante informacion sobre php.
        -GeekyTheory 
        - Diymakers 
         -Zona php 
        Una vez terminemos con la configuración del servidor apache2, la base de datos mysql, de haberle dado permisos de ejecución a la dirección del servidor (/var/www..), creado y guardado nuestra web. Procederemos a preparar el arduino con el shield de ethernet.
      
      El funcionamiento del mismo será, guardar las temperaturas de los sensores y humedades en variables, las envía a un archivo.php alojado en la carpeta /var/www/ y dicho php se encarga de reenviar los valores a la base de datos.

 Diseñamos la plac
de control para conectar 
todo el cableado de
 la maqueta



  
     
      

 
 
  


   


     


   






  Empezamos con la maqueta

jueves, 21 de abril de 2016

Patinete Eléctrico

                                 







Mi proyecto consiste en hacer mi propia electrónica de un patinete eléctrico que se controla con un sensor de efecto hall que está en el puño derecho y controla las luces y temperaturas.

     Componentes del patinete :
  • Un  sensor  de efecto hall esta puesto en el puño derecho.
  • Una conmutada para los intermitentes .
  • Un interruptor del faro
  • Intermitentes izquido y derecho delanteros y traseros.
  • El faro delantero y trasero.
  • Motor de 10A Y 240 W.
  • Bateria de 20Ah.
  • 3 sensores de temperatura NTC.
  • Lcd nokia 5110.

Componentes de placa :

  • atmega 328.
  • 4 Mosfet irf 1404.
  • 4 Transistores 2N2222.
  • Crysta de 16Mhz.
  • 2 condensadores 22 pf.
  • 2 condensadores de 100nf.
  • 1 consador de 330nf y 1 de 200 uf.
  • 8 resistencias de 10k y 3 de 1k.
  • resistencias smd 4 de 30 y 1 de 330. 
  • 1 regukador de 7805.
  • regulador conmutado lm2596.
  • led smd.
Gant :

Diseño de placa :

 ARES

Fabricacion de placa :

El proceso que hemos seguido para hacer la placa mediante el proceso photografico y vamos a hacer una placa de doble cara con smd .



Negativos de la placa 


Las placas con serigrafia

Placa  final

 Funcionamiento :
  1. Control del Motor :
Mediante un sensor de efecto hall que esta en el puño derecho del patinete que esta conectado con una placa del pic que lee el sensor y manda el valor por el puerto serie al atmega328 para controlar la salida 3 que esta conectada con un transistor 2n2222 y el transistor que funciona en modo amplificacion y varia la potencia que pasa por los mosfet depende de la tension de las puertas del mosfet .

      2.Iluminación          :
Mediante una conmutada controlamos los intermitentes derecho y izquirdo y delanteros y traseros 
y el faro se controla mediante un interruptor.

     3.Temperatura         :
Mediante tres sensores de temperatura ntc uno para temperatura externa , interna y del motor y la temperatura se sale un  lcd de nokia 5110.


Programación :
  • En el pic :
#include <programa de pic.h>


void main()
{
      int  valor;      
      setup_adc_ports(ALL_ANALOG);
      setup_adc(ADC_CLOCK_INTERNAL);
      setup_counters(RTCC_INTERNAL,RTCC_DIV_1);
      set_adc_channel(0);
      
      output_low(LED);
      delay_ms(DELAY);
      output_high(LED);
      delay_ms(DELAY);
    
while(true){
        
     valor=read_adc();
     putc(valor);
     delay_ms(10);
      
      

}}

  • En el arduino :

//      CLK  - Pin 8

//      DIN - Pin 9

//      DC   - Pin 10

//      RST  - Pin 11

//      CE   - Pin 12

//

#include <stdio.h>

#include <math.h>

#include <LCD5110_Basic.h>


LCD5110 myGLCD(8,9,10,11,12);
extern unsigned char SmallFont[];
extern unsigned char MediumNumbers[];
            //
int estado,estado1,estado2;   
int ledState = LOW,ledState1=LOW;   
long previousMillis = 0;   
long interval = 200; 
           //
float Vin=5.0;     // [V]        Supply voltage in the Voltage-Divider
float Raux=10000;  // [ohm]      Secondary resistor in the Voltage-Divider
float R0=10000;    // [ohm]      NTC nominal value at 25ºC
float T0=298.15;   // [K] (25ºC)
  float Vout=0.0;    // [V]        Voltage given by the Voltage-Divider
  float Rout=0.0;    // [ohm]      Current NTC resistance
float beta=4100;    // [K]        Beta parameter
float Rinf=0.0;    // [ohm]      Rinf parameter
float TempK=0.0;   // [K]        Temperature output in Kelvin
float TempC=0.0;   // [ºC]       Temperature output in Celsius
  float TempK1=0.0;   // [K]        Temperature output in Kelvin
  float TempC1=0.0;   // [ºC]       Temperature output in Celsius
  float TempK2=0.0;   // [K]        Temperature output in Kelvin
  float TempC2=0.0;   // [ºC]       Temperature output in Celsius

void setup()
{
  myGLCD.InitLCD();
  myGLCD.setFont(SmallFont);
  pinMode(5,OUTPUT);
  pinMode(13,OUTPUT);
  pinMode(6,OUTPUT); 
  pinMode(3,OUTPUT);
  pinMode(7, OUTPUT);
  Rinf=R0*exp(-beta/T0);
  Serial.begin(9600);
  
}




void loop()
{
                 //TEMPERATURA Y COMUNICACION
int  valor=0,valor1=0;
    if(Serial.available()>0){
    valor=Serial.read();
    Serial.println(valor);
    valor1=255-valor;
    if(valor1<=100)valor1=0;
    analogWrite(3,valor1);
    }
   digitalWrite(13,HIGH);
   Vout=Vin*((float)(analogRead(A0))/1024.0);
   Rout=(Raux*Vout/(Vin-Vout));
   TempK=(beta/log(Rout/Rinf));
   TempC=TempK-273.15;
   
   Vout=Vin*((float)(analogRead(A1))/1024.0);
   Rout=(Raux*Vout/(Vin-Vout));
   TempK1=(beta/log(Rout/Rinf));
   TempC1=TempK-273.15;
   
   Vout=Vin*((float)(analogRead(A2))/1024.0);
   Rout=(Raux*Vout/(Vin-Vout));
   TempK2=(beta/log(Rout/Rinf));
   TempC2=TempK-273.15;
   
                   //INTERMITENTES Y FARO    
               
estado=digitalRead(A3);//DERECHA
estado1=digitalRead(A5);//LUZ
estado2=digitalRead(A4);//IZQUIRDA 
     //LA LUZ
digitalWrite(5,estado1);
     //IZQUIRDA 
unsigned long currentMillis = millis(); 
if (currentMillis - previousMillis > interval){ 
previousMillis = currentMillis;
if (ledState1 == HIGH && estado2==LOW)
ledState1 = LOW;
else
ledState1 = HIGH;
 digitalWrite(6, !ledState1);
    //DERECHA
if (ledState == HIGH && estado==LOW)
ledState = LOW;
else
ledState = HIGH;
 digitalWrite(7, !ledState);
}

                  // LCD NOKIA
                  
     myGLCD.clrScr();
     myGLCD.setFont(MediumNumbers);
     myGLCD.printNumI(TempC,LEFT, 0);
     myGLCD.printNumI(TempC1,LEFT, 16);
     myGLCD.printNumI(TempC2,LEFT, 32);
     myGLCD.setFont(SmallFont);
     myGLCD.print("INTER  C",RIGHT, 4);
     myGLCD.print("EXTER  C",RIGHT, 20);
     myGLCD.print("MOTOR  C",RIGHT, 36);
     delay(30);
    
}

pruebas  :

placa del pic 


lcd nokia 5110+comunicacion 




pruebas sobre el motor del patinete

presupuesto :

Nombre de componente
cantidad
Precio de una unidad
precio
Mosfet Irf1404
4
0.5
2
Transistor 2N2222
4
0.2
0.8
Cristal 16Mhz
2
0.5
1
Condensador 22pf
4
0.1
0.4
condensadores 100nf
3
0.1
0.3
Condesador 330nf
1
0.2
0.2
Condensador de 200uf
2
0.2
0.4
Resistencias 10k
8
0.1
0.8
Resistencia 1k
3
0.1
0.3
Resistencisas smd 30
4
0.5
2
Resistencia smd 330
1
0.5
0.5
Regulador 7805
1
0.6
0.6
Regulador conmutadolm2596
1
1.50
1.5

Total sin IVA
10.8
Total con IVA
13.06