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

24 jun 2012

Motor paso a paso

En mi caso el motor es un TSY28STH45-0674B

Esquema del montaje: 
 
Y ahora toca el código. Es el mismo que hay en los ejemplos del arduino pero allá va:
 
/* 
 Stepper Motor Control - one revolution
 This program drives a unipolar or bipolar stepper motor. 
 The motor is attached to digital pins 8 - 11 of the Arduino.
 The motor should revolve one revolution in one direction, then
 one revolution in the other direction.  
  
 Created 11 Mar. 2007
 Modified 30 Nov. 2009
 by Tom Igoe
*/

#include 
const int stepsPerRevolution = 200;  // change this to fit the number of steps per revolution
                                     // for your motor
// initialize the stepper library on pins 8 through 11:
Stepper myStepper(stepsPerRevolution, 8,9,10,11);            

void setup() {
   // set the speed at 60 rpm:
   myStepper.setSpeed(60);
   // initialize the serial port:
   Serial.begin(9600);
}

void loop() {
   // step one revolution  in one direction:
   Serial.println("clockwise");
   myStepper.step(stepsPerRevolution);
   delay(500);
  
   // step one revolution in the other direction:
   Serial.println("counterclockwise");
   myStepper.step(-stepsPerRevolution);
   delay(500); 
}

23 jun 2012

Moviendo motores DC

Hace tiempo que anduve buscando formas de mover motores de más de 5 voltios con arduino. Una de las primeras que hallé se basaban en transistores en este caso con un transistor tip 120.

sketch arduino tip

Ahora vayamos al código para nuestro arduino:

//////////////////////////////////////////////////////////////////
//©2011 bildr
//Released under the MIT License - Please reuse change and share
//Simple code to output a PWM sine wave signal on pin 9
//////////////////////////////////////////////////////////////////

#define fadePin 9

void setup(){
  pinMode(fadePin, OUTPUT);
}

void loop(){
  for(int i = 0; i<360; i++){
    //convert 0-360 angle to radian (needed for sin function)
    float rad = DEG_TO_RAD * i;

    //calculate sin of angle as number between 0 and 255
    int sinOut = constrain((sin(rad) * 128) + 128, 0, 255); 
    analogWrite(fadePin, sinOut);
    delay(15);
  }
}

Fuente de la información bildr.com