Coin Farm ( Busco afiliados para jugar)

martes, 19 de julio de 2016

ProyectosOlafVGB: Timbre automatico

ProyectosOlafVGB: Timbre automatico: Para los interesados en el timbre automático que estoy haciendo les dejo el código para la placa Arduino Uno (lo probe con la Mega y la Nan...

Les comento que el timbre ya hace dos mese que esta funcionando si inconvenientes si quieren aplicarlo no tengo inconvenientes de darle una mano si no se entiende algo. pónganse en en contacto olaf

ProyectosOlafVGB: Controlador Pap

ProyectosOlafVGB: Controlador Pap: Para un proyecto para controlar un motor paso a paso  Este controlador esta siendo diseñado para poder trabajar con motores paso a paso ha... (primera parte)

Se muestra el codigo que le aplico al arduino uno

lunes, 18 de julio de 2016

Controlador Pap

Para un proyecto para controlar un motor paso a paso 
Este controlador esta siendo diseñado para poder trabajar con motores paso a paso hasta 3 amp y una tensión de 35 volt (siendo recomendados unos 24v. Tiene un LCD para ver el Menú del Programa y todo esta manejado con un arduino uno, keyLcd shield y un TB6560 de toshiba un driver pap que lo utilizo en todos mis proyectos y con éxito. Vean la versión I y II en estos vídeos se muestra la ubicación de los componentes



El programa que estoy utilizando



/*
***********************************************************************************************
 *                                                                                             *
 *     > Control de MOTOR a Pasos en Secuencia Normal                                          *
 *                                                                                             *                          
 *                                                                                             *
 *     > Programar la marcha de Pasos y Num de Giros                                           *
 *                                                                                             *
 *     > Materiales       + Placa arduino uno                                                  *
 *                        + Teclado  Matris de 4x4                                             *
 *                        + Display LCD1602                                                    *
 *                        + CI ULN2003                                                         *
 *                        + Fuente de alimentacion externa(transformador)                      *
 *                                                                                             *
 *     > Programador Olaf Albrecht                                                             *
 *                                                                                             *
 ***********************************************************************************************
 */
#include <LiquidCrystal.h>
#include <Keypad.h>
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);

// Variables del motor pap
int delayTime = 150; // DelayTime determina la espera entre uno y otro paso
int delayTime1 = 0; // DelayTime1 determina la velocidad de giro entre uno y otro paso
int count = 0;
int sumex=0;
int paso=0;
int vuelt=0;
int veloc=0;

// Variable del Teclado
int lcd_key =0;
int adc_key_in =0;
int key=0;
int ajuste=0;
#define btnRIGHT    0
#define btnUP          1
#define btnDOWN    2
#define btnLEFT      3
#define btnSELECT  4
#define btnNONE     5
int read_LCD_buttons();

int read_LCD_buttons()
  { adc_key_in = analogRead(0);
  if (adc_key_in>900)   return btnNONE;
  if(adc_key_in<50)      return btnRIGHT;
  if(adc_key_in<250)    return btnUP;
  if(adc_key_in<450)    return btnDOWN;
  if(adc_key_in<650)    return btnLEFT;
  if(adc_key_in<850)    return btnSELECT;
  
  return btnNONE;
  }
  

void setup()
{
  
  pinMode(13,OUTPUT);  // Out motor pap paso
  pinMode(12,OUTPUT);  // Direccion
  Serial.begin(9600); // Establece la velocidad de datos del puerto serie
  lcd.begin(16, 2);
  lcd.setCursor(0,0);
  lcd.print("PaPVGB CONTROL");

}

void loop()
{
   lcd_key=read_LCD_buttons();
     switch(lcd_key)
  {
       case btnSELECT: //Set Variable to change
       {
              lcd.setCursor(0, 0); /* Linea 1 */
              lcd.print("PaPVGB CONTROL");
              ajuste++;
              lcd.setCursor(0, 1); /* Linea 2 */
             
              if (ajuste == 1){
                    Serial.println("Menu");
                    lcd.print("MENU"); 
              }  
              if (ajuste == 2) {
                    Serial.println("Paso");
                    lcd.print("Paso");
              }
              if (ajuste == 3) {
                    Serial.println("Vueltas");
                    lcd.print("Vueltas");
              }
              if (ajuste == 4) {
                    Serial.println("Velocidad");
                    lcd.print("Velocidad");
              }
              if (ajuste == 5) {
                    Serial.println("Ayuda");
                    lcd.print("Ayuda");
              }
              if (ajuste == 6) {
                    Serial.println("S Tecnico");
                    lcd.print("S Tecnico");
              }
              if (ajuste > 6 ) {
                     ajuste = 1;
              }       
              delay(1000);
              break;
              
       }
       case btnLEFT: // acero variables
       {
         Serial.println("Stop");
         ajuste=0;
         sumex=0;
         vuelt=0;
         veloc=0;
         break;
       }
       case btnRIGHT:
       {
         if(ajuste==2)
              {
               for (count = 0; count < sumex; count++)
                  {
                  Serial.print("Marcha: ");
                  Serial.println(count);
                  motor();
                  }
              }
          if(ajuste==3)
              {    
              for (count = 0; count < vuelt*4; count++)
                 {
                 Serial.print("Marcha: ");
                 Serial.println(count);
                 motor();
                 }
               }
          if(ajuste==4)
              {
              for (count = 0; count < veloc; count++)
                 {
                 Serial.print("Marcha: ");
                 Serial.println(count);
                 motor();
                 }
              }
         break;
       }
       case btnUP:
       {
          if(ajuste==2)
              {
                sumex++;
                Serial.println(sumex);
                delay(delayTime);
              }
          if(ajuste==3)
              {
                vuelt++;
                Serial.println(vuelt);
                delay(delayTime);
              } 
          if(ajuste==4)
              {
                veloc++;
                Serial.println(veloc);
                if(veloc<100)
                {
                delayTime1 = veloc*10;
                }
                else
                {
                  delayTime1 = 0;
                }
                delay(delayTime);
              }    
          if(ajuste==5)
              {
                
                Serial.println("Elija con el menu la opcion y aumente o decremente el paso,vueltas,velocidad");
                break;
              }    
          if(ajuste==6)
              {
                
                Serial.println("Mail: olafvgb61@gmail.com");
              }    
           break;   
       }
       case btnDOWN: 
       {
          if(ajuste==2)
              {
                sumex=sumex-1;
                if(sumex==0)
                {
                  sumex==0;
                  break;
                }
                Serial.println(sumex);
                delay(delayTime);
              } 
          if(ajuste==3)
              {
                vuelt=vuelt-1;
                Serial.println(vuelt);
                delay(delayTime);
              } 
          if(ajuste==4)
              {
                veloc=veloc-1;
                Serial.println(veloc);
                delay(delayTime);
              }     
             break; 
       }
       case btnNONE:
       {
         lcd.setCursor(0,0);
             
         break;
             
       }
  } /* Switch end */
      
   
  
}//End Loop

int motor()
{
  
         digitalWrite(13, HIGH);
         delay(delayTime1);
         digitalWrite(13, LOW);
         delay(delayTime1);
  
}

Saludos para las pesonas que ven este blog

 Como mañana es mi cumpleaños 63 y quería compartirles con orgullo que pertenezco a esa clase de personas que tuvimos que actualizarnos ant...