L29x – Informação e exemplo de uso da biblioteca

No outro dia apresentei a minha primeira biblioteca Arduino para ajudar no uso de pontes H para controlo de motores. Neste momento estou a usar a biblioteca no controlo dos motores do robot beta02.

Desde a primeira versão já houve alterações e correcções que deram origem à versão 2. Deixo aqui o README e o exemplo da biblioteca que estou a distribuir. Sugestões e correcções são bem-vindas.

README

L29x Arduino Library
--------------------
This is a library to simplify the use of H bridges in you sketches. You
need to configure the Arduino pins that are connected to the H bridge
according to their functions.

For example we connect an L293 driving two motors to the Arduino Uno.
This are the pins used:

    L293 ------------- Arduino
    --------------------------
    1,2EN ------------ 2
    1A --------------- 3 (PWM)
    2A --------------- 4
    3,4EN ------------ 6 (PWM)
    3A --------------- 7
    4A --------------- 8

We start declaring the two motors:

    L29x motorOne(3, 2, 4);
    L29x motorTwo(6, 7, 8);

That's it for the setup part. Then we use the methods available:

    stop() - 1,2A with zero, 1A and 2A LOW
    rotPos(byte pwm) - 1,2A with PWM, 1A LOW and 2A HIGH
    rotNeg(byte pwm) - 1,2A with PWM, 1A HIGH and 2A LOW

For example, to start the motors fast in one direction:

    motorOne.rotPos(255);
    motorTwo.rotPos(255);

To stop both motors:

    motorOne.stop();
    motorTwo.stop();    

That's it, I hope you find this library useful in your own sketches.    

20120114 Luis Sismeiro

Exemplo

/*
 * basic.pde - L293x H bridge library example Version 2.00
 * Copyright (c) 2012 Luis Sismeiro. All right reserved.
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
 *
 * 20120115 Luis Sismeiro
 */

#include <L29x.h>

/*
 * Parameter 1: enable pin (used for PWM)
 * Parameter 2: motor pin
 * Parameter 3: motor pin
 */
L29x motor(3, 2, 4);

void setup()
{
}

void loop()
{
  motor.rotPos(255); // fastest speed in one direction
  delay(2000);
  motor.stop();
  delay(1000);
  motor.rotNeg(255); // fastest speed in the other direction
  delay(2000);
}

Etiquetas: , ,

Deixe uma Resposta

Preencha os seus detalhes abaixo ou clique num ícone para iniciar sessão:

Logótipo da WordPress.com

Está a comentar usando a sua conta WordPress.com Terminar Sessão / Alterar )

Imagem do Twitter

Está a comentar usando a sua conta Twitter Terminar Sessão / Alterar )

Facebook photo

Está a comentar usando a sua conta Facebook Terminar Sessão / Alterar )

Google+ photo

Está a comentar usando a sua conta Google+ Terminar Sessão / Alterar )

Connecting to %s


%d bloggers like this: