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.


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:


To stop both motors:


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

20120114 Luis Sismeiro


 * 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
 * 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
  motor.rotNeg(255); // fastest speed in the other direction

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: