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.
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
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
Publicar un comentario