martes, 7 de octubre de 2014

Sensor de Distancia US-020

  1. //SENSOR DE DISTANCIA AMB DISPLAY
  2. //
  3. //http://zygzax.com/webproyectos/websensorus-100/
  4. #include <LiquidCrystal.h>
  5. LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
  6. const int trigger=10;
  7. const int echo=13;
  8. float distance;
  9. void setup(){
  10.   Serial.begin(9600);
  11.   pinMode(trigger,OUTPUT);
  12.   pinMode(echo,INPUT);
  13.   lcd.begin(16,2);
  14. }
  15. void loop(){
  16. //Inicializamos el sensor
  17.   digitalWrite(trigger,LOW);
  18.   delayMicroseconds(5);
  19. // Comenzamos las mediciones
  20. // Enviamos una señal activando la salida trigger durante 10 microsegundos
  21.   digitalWrite(trigger,HIGH);
  22.   delayMicroseconds(10);
  23.   digitalWrite(trigger,LOW);
  24. // Adquirimos los datos y convertimos la medida a metros
  25.  distance=pulseIn(echo,HIGH); // Medimos el ancho del pulso
  26.                               // (Cuando la lectura del pin sea HIGH medira
  27.                               // el tiempo que transcurre hasta que sea LOW
  28.  distance=distance*0.0001657;
  29. // Enviamos los datos medidos a traves del puerto serie y al display LCD
  30.   Serial.println(distance);
  31.   lcd.setCursor(0,0);
  32.   lcd.print(distance);
  33.   delay(100);
  34. }

lunes, 23 de junio de 2014

Arduino - Motor Paso a Paso Bipolar

Motor Paso a Paso Bipolar

Codigo ejemplo:

 int Pin0 = 8;
 int Pin1 = 9;
 int Pin2 = 10;
 int Pin3 = 11;
 int _step = 0;
 int pases=0;
 boolean dir = false;// change the direction of the motor
 void setup()
 {
  pinMode(Pin0, OUTPUT); 
  pinMode(Pin1, OUTPUT); 
  pinMode(Pin2, OUTPUT); 
  pinMode(Pin3, OUTPUT); 
  Serial.begin(9600);
 }
   void loop()
 {
   for(pases=0;pases<4075;pases++){
     pas();
     delay(1);  // change this delay to control the speed of your stepper, delay to 100 you can see the signal LEDs blinking.
   }
   delay(500);
 }

 void pas()
 {
   switch(_step){
    case 0:
      digitalWrite(Pin0, LOW); 
      digitalWrite(Pin1, LOW);
      digitalWrite(Pin2, LOW);
      digitalWrite(Pin3, HIGH);
    break; 
    case 1:
      digitalWrite(Pin0, LOW); 
      digitalWrite(Pin1, LOW);
      digitalWrite(Pin2, HIGH);
      digitalWrite(Pin3, HIGH);
    break; 
    case 2:
      digitalWrite(Pin0, LOW); 
      digitalWrite(Pin1, LOW);
      digitalWrite(Pin2, HIGH);
      digitalWrite(Pin3, LOW);
    break; 
    case 3:
      digitalWrite(Pin0, LOW); 
      digitalWrite(Pin1, HIGH);
      digitalWrite(Pin2, HIGH);
      digitalWrite(Pin3, LOW);
    break; 
    case 4:
      digitalWrite(Pin0, LOW); 
      digitalWrite(Pin1, HIGH);
      digitalWrite(Pin2, LOW);
      digitalWrite(Pin3, LOW);
    break; 
    case 5:
      digitalWrite(Pin0, HIGH); 
      digitalWrite(Pin1, HIGH);
      digitalWrite(Pin2, LOW);
      digitalWrite(Pin3, LOW);
    break; 
      case 6:
      digitalWrite(Pin0, HIGH); 
      digitalWrite(Pin1, LOW);
      digitalWrite(Pin2, LOW);
      digitalWrite(Pin3, LOW);
    break; 
    case 7:
      digitalWrite(Pin0, HIGH); 
      digitalWrite(Pin1, LOW);
      digitalWrite(Pin2, LOW);
      digitalWrite(Pin3, HIGH);
    break; 
    default:
      digitalWrite(Pin0, LOW); 
      digitalWrite(Pin1, LOW);
      digitalWrite(Pin2, LOW);
      digitalWrite(Pin3, LOW);
    break; 
  }
  if(dir){     _step++; ;  }else{     _step--;   }
  if(_step>7){     _step=0;   }
  if(_step<0){     _step=7;   }
 }

miércoles, 18 de junio de 2014

Pickit 2 Clone

http://tecbolivia.com/index.php/articulos-y-tutoriales-microcontroladores/19-icsp-como-usar-qprogramacion-serial-en-circuitoq-con-microcontroladores-pic

https://sites.google.com/site/electronicadidacta/home

http://xpiolx.no-ip.org/v0/pickit2clone.html (Pickit2 clone 3,3-5v)

http://microembebidos.wordpress.com/2012/02/13/tutorial-pinguino-construye-tu-placa-pinguino-core-
pic18f4550/




lunes, 16 de junio de 2014

Ultrasonidos y PIC

http://blog.deinventos.com/medidor-de-distancia-por-ultrasonidos-con-pic16f886/

Medir de ultrasonidos

Adaptador Serial / PIC

http://www.pablin.com.ar/electron/circuito/mc/ttl232/index.htm

Conversor RS232 a TTL sin MAX232

Todos sabemos que a la hora de conectar un PIC a la PC utilizar el MAX232 es el paso mas directo y fácil. Sólo cinco capacitores y éste integrado estará funcionando bien. Pero tomando en cuenta que hoy por hoy un MAX232 puede salirnos incluso mas caro que el mismísimo PICmicro decidimos desarrollar una alternativa válida que lo reemplace.

El circuito de arriba utiliza la propia corriente del puerto COM de la PC para generar los símbolos del RS232. Los pines marcados como TxD, RxD y Gnd corresponden al conector RS232 de la PC (ver conexionado) mientras que los pines marcados como RD y TD van directamente a microcontrolador. Podemos observar el pinout de los transistores.
Este tipo de interface es muy vista en mouses o elementos de control de punteo en PC. Los puntos de alimentación son de 5V (los mismos que del micro).