Serial Call Response

19 julio 2024

Aavril Hitzel Díaz Ramírez

Jose Jair Galicia Corona

Dania Cortes Domínguez

Introducción 

La comunicación en serie permite transferir información entre dispositivos en forma de bits. Para ello, los datos se convierten del formato paralelo al formato secuencial, en el que los bits se organizan uno tras otro en una serie. Los puertos serie requieren un solo conector, o cable, para enviar el mismo carácter de datos al dispositivo.

Por lo general en la comunicación serial con Arduino, se envían caracteres codificados en ASCII. Estos caracteres representan la mayoría de los caracteres usados en los idiomas que usan caracteres occidentales. 

Serial Call Response. 

Este ejemplo demuestra la comunicación multibyte desde la placa Arduino a la computadora mediante un método de llamada y respuesta (apretón de enlace). Este boceto envía un ASCII A (byte de valor 65) al inicio y lo repite hasta que obtiene una respuesta en serie de la computadora. Luego envía tres valores de sensor como bytes individuales y espera otra respuesta de la computadora. Puede utilizar el monitor serie del software Arduino (IDE) para ver los datos enviados, o puede leerlos mediante Procesamiento (consulte el código a continuación), Flash, PD, Max/MSP (consulte el ejemplo a continuación), etc.

Materiales:

  • 2 sensores analógicos (potenciómetro, fotocélula, FSR, etc.)
  • Pulsador
  • 3 resistencias de 10K ohmios
  • Cables de conexión
  • Tablero de circuitos
  • Placa Arduino.

Circuito dado por la página de Arduino.

Código 

int firstSensor = 0;    // first analog sensor

int secondSensor = 0;   // second analog sensor

int thirdSensor = 0;    // digital sensor

int inByte = 0;         // incoming serial byte

void setup() {

// start serial port at 9600 bps:

Serial.begin(9600);

while (!Serial) {

}

pinMode(2, INPUT);   // digital sensor is on digital pin 2

establishContact();  

}

void loop() {

if (Serial.available() > 0) {

inByte = Serial.read();

firstSensor = analogRead(A0) / 4;

delay(10);

secondSensor = analogRead(1) / 4;

thirdSensor = map(digitalRead(2), 0, 1, 0, 255);

Serial.write(firstSensor);

Serial.write(secondSensor);

Serial.write(thirdSensor);

 }

}

void establishContact() {

while (Serial.available() <= 0) {

Serial.println('A');   // send a capital A

delay(300);

}

}

 Simulación en tinkercad

En esta simulación se verifica como funciona este metodo, tomando en cuenta la estructura del código y también, su manera en la que deja los datos, aquí en este ejemplo, al momento en que se le dígita en el monitor en serie, al momento en que se imprimen los caracteres, estos se detienen. 

 
Prueba de la simulación. 


Circuito en físico 



Conclusión

Para concluir, la elaboración y conocimiento sobre este tipo de comunicación en arduino, beneficia para poder leer caracteres desde el monitor serie, conocer la funcionalidad estos circuitos que tiene nuestra aplicación, debido a que no mostró alguna función el pulsador en físico, se puede deducir que implementar más elementos, puede tener una salida distinta y así visualizar caracteres. 






Comentarios

Entradas más populares de este blog

Dimmer

Serial Event