Prévia do material em texto
<p>Comunicação serial no Arduino</p><p>1.</p><p>A comunicação serial tem diversos parâmetros para a configuração da transmissão de dados.</p><p>Esses parâmetros são responsáveis por configurar a velocidade da transmissão, tamanho de</p><p>dados, verificação de erros e sinalização de início e fim da transmissão. Eles têm um papel</p><p>importante na transferência das informações, pois definem o overhead da comunicação e</p><p>garantem que os dispositivos conectados estejam interpretando os dados da mesma forma.</p><p>Marque a alternativa correta com relação aos parâmetros descritos acima:</p><p>Você acertou!</p><p>D.</p><p>Baud rate, bits de dados, bits de paridade e bits de parada</p><p>.</p><p>Baud rate, bits de dados, bits de paridade e bits de parada são responsávies por configurar a</p><p>velocidade da transmissão, tamanho de dados, verificação de erros e sinalização de início e</p><p>fim da transmissão, respectivamente.</p><p>2.</p><p>Um estudante pretende usar a comunicação serial para enviar mensagens para um sistema</p><p>supervisório. Esse sistema comunica-se por meio da comunicação serial com uma taxa de</p><p>transmissão de 19200bps, 7 bits de dados, verificação de erros com paridade par e 2 bits de</p><p>parada. Marque a alternativa com o comando para a configuração correta da comunicação.</p><p>Resposta correta.</p><p>E.</p><p>Serial.begin (19200, SERIAL_7E2)</p><p>.</p><p>O parâmetro velocidade do comando Serial.begin(velocidade, config) indica a taxa de</p><p>transmissão que é 19200. O parâmetro config é uma macro com as configurações</p><p>necessárias, assim a macro SERIAL_7E2 indica 7 bits de tamanho de dados, paridade par (even)</p><p>e 2 bits de parada. Assim, a resposta correta é Serial.begin (19200, SERIAL_7E2).</p><p>3.</p><p>Um desenvolvedor de software precisa utilizar o módulo GSM, que utiliza a comunicação</p><p>serial para se comunicar com o Arduino, com a finalidade de enviar e de receber mensagens</p><p>por meio da rede de telefonia celular. As mensagens recebidas pelo Arduino deverão ser</p><p>exibidas no monitor serial da IDE disponível no computador. Suponha que ele tenha apenas</p><p>a placa Arduino UNO, que dispõe de apenas um periférico de comunicação serial. Marque a</p><p>alternativa correta para solucionar esse problema:</p><p>Você acertou!</p><p>B.</p><p>A biblioteca SotwareSerial.h permite criar via software uma porta serial especificando outros</p><p>pinos digitais, que serão o RX e o TX da comunicação; assim, seria possível se comunicar com</p><p>o módulo GSM e o computador.</p><p>A biblioteca SoftwareSerial.h foi criada para permitir criar por meio da programação uma porta</p><p>de comunicação serial em outros pinos digitais da placa Arduino. Ela pode ser extremamente</p><p>útil caso seja necessário se comunicar com dois ou mais dispositivos utilizando a comunicação</p><p>serial, pois com o remapeamento dos pinos da serial criam-se</p><p>4.</p><p>Em algumas aplicações, é interessante comunicar dois microcontroladores como o Arduino</p><p>para trocar informações entre si. As duas placas podem se comunicar via protocolo serial</p><p>UART e, nesse caso, é interessante determinar um dispositivo para requisitar as informações,</p><p>o mestre, e outro para enviar os dados solicitados, o escravo. Sobre a montagem do circuito</p><p>para dois Arduinos se comunicarem por meio da serial é correto afirmar que:</p><p>Você acertou!</p><p>A.</p><p>o pino TX do dispositivo mestre está ligado no pino RX do escravo, o pino RX do mestre está</p><p>conectado no pino TX do escravo e o GND dos dispositivos interconectados.</p><p>Na comunicação serial é necessário que o pino TX (saída de dados) do mestre seja conectado</p><p>no pino RX (entrada de dados) do escravo e o pino RX (entrada de dados) do mestre no pino</p><p>TX (saída de dados) do escravo. E, ainda, é preciso interconectar o GND dos dispositivos para</p><p>que eles tenham o mesmo referencial negativo.</p><p>5.</p><p>A biblioteca serial do Arduino tem diversas funções para ler dados recebidos no buffer da</p><p>comunicação. Suponha que um estudante quer fazer um programa para ler uma mensagem</p><p>de texto digitado no monitor serial e responder imprimindo a mensagem como ela foi</p><p>digitada no monitor serial. Marque a alternativa com o código correto para resolver esse</p><p>problema.</p><p>Você acertou!</p><p>C.</p><p>void setup() {</p><p>Serial.begin(9600, SERIAL_8N1); //Configura Serial</p><p>while(!Serial); //Aguarda conexão com monitor serial</p><p>} //Fim void setup</p><p>void loop() {</p><p>if(Serial.available()>0) {</p><p>String mensagem = Serial.readString();</p><p>Serial.println (mensagem);</p><p>} //Fim if(Serial.available()>0)</p><p>} // Fim void loop()</p><p>A função Serial.readString() permite ler uma sequência de caracteres do buffer da</p><p>comunicação serial. Assim, é possível ler a mensagem digitada no monitor serial e armazenar</p><p>em uma variável do tipo String. Em seguida, basta imprimir a variável com a função</p><p>Serial.println(teste).</p>