Quantcast
Channel: youtube – Cultura Cuántica
Viewing all articles
Browse latest Browse all 24

[Parte 2] Programar de un drone (multirrotor) con Arduino – #Arduinerdeando

$
0
0

Continuamos con #Arduinerdeando, esta es la segunda edición de las charlas de programación de drones con Arduino, en este caso cerramos la primer etapa: los motores; en la cual logramos definir la función de control de los motores.

Arduinerdeando #2: Programación de drones, Motores (parte 2)

Para esta edición nos basamos en el uso de funciones de control de los puertos de Arduino, lo cual se conoce como Port Manipulation. La manipulación de puertos corresponde a un manejo a bajo nivel de los pines de entrada/salida, permitiendo activar y desactivar las salidas digitales que se definen dependiendo al grupo al cual pertenecen.

Manipulación de puertos de Arduino

En Arduino, dependiendo de las versiones de las placas, cada puerto se corresponde con un grupo de pines digital o analógicos. Por ejemplo, el Puerto D (PORTD) hace referencia a los pines digitales desde el 0 al 7. Es decir que para activar o desactivar cualquier pin de este grupo debemos hacer referencia a este puerto. Para una referencia más clara, pueden consultar el PINOUT de Arduino en la siguiente imágen, en los cuales los pines del Puerto D aparecen como PD0 al PD7:

ARDUINO_PINOUT_DIAGRAM

Para activar un pin tenemos en cuenta la posición del bit, siendo al bit más a la derecha al pin 0, y el más a la izquierda el pin 7. Y para declarar el pin como una salida (del mismo grupo) usamos la palabra reservada DDRD.

Veamos un ejemplo, para definir el pin 2 como salida lo hacemos con la siguiente línea:

DDRD = B00000100;

Donde los primeros dos bits a la derecha corresponden a los pines 0 y 1, que se utilizan para la comunicación serial (no es recomendado usarlos).

A continuación si queremos poner el pin 2 en estado «alto» (HIGH), debemos utilizar la siguiente línea:

1) PORTD |= B00000100;

Para nuestro caso de control de motores brushless esto significa el inicio del pulso PWM, el cual debe permanecer en alto durante 1000 a 2000 microsegundos. Para volver a poner en estado bajo el pin 2, usamos la siguiente sentencia:

2) PORTD &= B11111011;

En esta operación binaria, cada posición que contenga un 1 mantiene el estado definido en (1), mientras que las posiciones que tienen un 0 en (2) invierten el estado definido en (1). En medio de estas líneas es necesario definir la espera, la duración del pulso.

El ejemplo completo con el control de los 4 motores lo presentamos en vivo por youtube, no te olvides de darle like, compartir y suscribirte al canal para no perderte las próximas ediciones.

Texto escrito en culturacuantica.com.ar
Siguenos en: twitter.com/culturacuanticaFacebook.com/culturacuantica


Viewing all articles
Browse latest Browse all 24

Latest Images

Pangarap Quotes

Pangarap Quotes

Vimeo 10.7.0 by Vimeo.com, Inc.

Vimeo 10.7.0 by Vimeo.com, Inc.

HANGAD

HANGAD

MAKAKAALAM

MAKAKAALAM

Doodle Jump 3.11.30 by Lima Sky LLC

Doodle Jump 3.11.30 by Lima Sky LLC

Trending Articles


Pangarap Quotes


Dino Rey para colorear


Libros para colorear


Mandalas de flores para colorear


Dibujos para colorear de perros


Renos para colorear


mayabang Quotes, Torpe Quotes, tanga Quotes


Papa Jack Tagalog Love Quotes and Advice for you


RE: Mutton Pies (mely)


Ang Nobela sa “From Darna to ZsaZsa Zaturnnah: Desire and Fantasy, Essays on...


Gwapo Quotes : Babaero Quotes


Winx Club para colorear


Girasoles para colorear


Sapos para colorear


Vacas para colorear


Dromedario para colorear


Long Distance Relationship Tagalog Love Quotes


Love Quotes Tagalog


Mga Tala sa “Unang Siglo ng Nobela sa Filipinas” (2009) ni Virgilio S. Almario


El Vibora (1971) by Francisco V. Coching and Federico C. Javinal





Latest Images

Pangarap Quotes

Pangarap Quotes

Vimeo 10.7.0 by Vimeo.com, Inc.

Vimeo 10.7.0 by Vimeo.com, Inc.

HANGAD

HANGAD

MAKAKAALAM

MAKAKAALAM

Doodle Jump 3.11.30 by Lima Sky LLC

Doodle Jump 3.11.30 by Lima Sky LLC