Ir al contenido principal

Entradas

Mostrando entradas de agosto, 2020

Comunicación serial 2 Arduinos

 Para comunicar serialmente dos arduinos se debe usar los pines Rx y Tx, importante recordar que si una arduino envía tiene conectado el pin Tx,, por lo que la arduino que recibe deberá tener conectado el pin Rx. 0 : RX (pin por el que RECIBE los datos serie) 1 : TX (pin por el que ENVÍA los datos serie) Se explica con la siguiente imagen. Adicionalmente las tierras deben estar conectadas. La arduino que trae conectado el potenciómetro será la arduino encargada para este primer ejemplo de realizar el envío de un dato para condiciones del potenciómetro, estos datos serán recibidos por la arduino que trae conectado el led para crear un led intermitente en un intervalo específico según reciba información de la primera arduino.  El código para enviar un dato de manera repetitiva para probar la transmisión es el siguiente: int sensorValue=0; void setup ( ) {   pinMode ( A0 , INPUT ) ;   Serial . begin ( 9600 ) ; } void loop ( ) {   // read the input on analog pin 0:   senso

Arduino multihilo

  El  multithreading   o multihilo en arduino  no es posible .  Pero podemos aprovechar que si tiene un buen reloj, para crear subrutinas que se ejecuten de manera concurrente de modo que parezca que si se están ejecutando al mismo tiempo. En Arduino se diría el uso de millis en lugar del delay. Para nuestro caso práctico analizaremos el intentar leer una entrada digital (proveniente de un pulsante) mientras hacemos parpadear un led.  Para iniciar veremos el ya conocido parpadeo de un led (Pin 13) "Blink" // the setup function runs once when you press reset or power the board void setup ( ) {   // initialize digital pin LED_BUILTIN as an output.   pinMode ( 13 , OUTPUT ) ; } // the loop function runs over and over again forever void loop ( ) {   digitalWrite ( LED_BUILTIN , HIGH ) ;    // turn the LED on (HIGH is the voltage level)   delay ( 1000 ) ;                        // wait for a second   digitalWrite ( LED_BUILTIN , LOW ) ;     // turn the L