- Conectando LCD 16x2 com Raspberry Pi:
- Instalando pacotes necessários para comunicação Bluetooth:
- Dispositivos de emparelhamento com Raspberry Pi via Bluetooth:
- Diagrama de circuito:
- Digitação por voz em LCD usando Android App BlueTerm:
Você deve estar familiarizado com a Digitação por Voz, que é muito usada em computadores e telefones celulares, onde você pode digitar qualquer palavra falando. A digitação por voz é muito útil para pessoas com deficiência ou para quem deseja digitar rápido. Então, hoje estamos implementando o mesmo no display LCD 16x2, onde o texto de voz será exibido no LCD. Aqui usamos LCD 16x2, mas esta configuração pode ser instalada em muitos lugares com um display maior para transmitir qualquer mensagem, como em aeroportos, shoppings, escritórios etc.
Neste projeto, forneceremos a voz de entrada usando o teclado do Google Voice por meio de um aplicativo Android (BlueTerm) e imprimiremos o texto em um LCD 16x2 usando Raspberry Pi. Aqui, digitaremos o texto no LCD 16x2 usando o Bluetooth médio sem fio e usaremos o dongle USB Bluetooth com Raspberry Pi. Então, basicamente, precisamos fazer a interface do LCD 16x2 com Raspberry Pi e configurar o Bluetooth no Raspberry Pi para receber os dados enviados pelo celular. Já conectamos o LCD com o Raspberry Pi e escrevemos um tutorial sobre Bluetooth com o Raspberry Pi, você pode conferir.
Conectando LCD 16x2 com Raspberry Pi:
Antes de prosseguirmos com a configuração do Bluetooth, primeiro faremos a interface do LCD 16x2 com Raspberry Pi. Aqui neste projeto, usamos uma biblioteca externa Adafruit para fazer a interface do LCD 16x2 com Raspberry Pi, usando o qual você não precisa escrever muitas linhas de código para acionar o LCD e você pode imprimir diretamente no LCD usando apenas uma linha de código. No entanto, esta biblioteca é criada pela Adafruit, mas pode ser usada para qualquer módulo LCD que tenha controlador HD44780. Se você deseja conectar o LCD sem usar nenhuma biblioteca externa, então você pode verificar nossos tutoriais anteriores para fazer a interface do LCD no modo de 8 bits e para fazer a interface do LCD no modo de 4 bits.
Para usar a Biblioteca Adafruit, primeiro precisamos instalá-la usando os comandos abaixo. O primeiro comando clonará o repositório CharLCD (por Adafruit) em seu Raspberry Pi, o segundo comando o levará para dentro do diretório baixado e, finalmente, precisamos executar o script setup.py, apresentado dentro do diretório Adafruit_Python_CharLCD, para instalar a biblioteca.
git clone https://github.com/adafruit/Adafruit_Python_CharLCD.git cd./Adafruit_Python_CharLCD sudo python setup.py install
Agora a biblioteca para o LCD 16x2 foi instalada e você pode usar suas funções apenas importando esta biblioteca em seu programa python usando a linha abaixo:
importar Adafruit_CharLCD como LCD
Existem alguns scripts de exemplo dentro da pasta 'examples' que está presente na pasta da biblioteca (Adafruit_Python_CharLCD). Você pode testar a configuração executando o script de exemplo char_lcd.py. Mas antes disso, você precisa conectar os pinos do LCD com o Raspberry Pi conforme mostrado abaixo no diagrama de circuito na próxima seção.
Você também pode conectar o LCD com alguns outros pinos GPIO do Raspberry Pi, tudo o que você precisa para mencionar os pinos de interface corretos em seu programa python como abaixo. Saiba mais sobre os pinos GPIO do Raspberry Pi aqui.
# Configuração do pino Raspberry Pi lcd_rs = 18 lcd_en = 23 lcd_d4 = 24 lcd_d5 = 16 lcd_d6 = 20 lcd_d7 = 21 lcd_backlight = 2
Agora você pode usar diretamente as funções fornecidas pela Adafruit Library para controlar o LCD. Algumas das funções são fornecidas abaixo; você pode encontrar mais no script de exemplo:
- lcd.message (message) = Para imprimir o texto no LCD.
- lcd.clear () = Para limpar o LCD.
- lcd.set_cursor (col, linha) = Mova o cursor para qualquer posição na coluna e linha.
- lcd.blink (True) = Para piscar o cursor (True ou False)
- lcd.move_left () = Para mover o cursor uma posição para a esquerda.
- lcd.move_right () = Para mover o cursor para a direita em uma posição.
Agora vamos conectar nosso Raspberry Pi com o smartphone Android usando Bluetooth.
Instalando pacotes necessários para comunicação Bluetooth:
Aqui, estamos usando o Raspberry 2 Pi Modelo B, que não tem Bluetooth embutido, portanto, estamos usando um dongle USB Bluetooth simples para configurar a comunicação Bluetooth no Raspberry Pi. Você deve ter um cartão de memória Raspbian Jessie instalado pronto com Raspberry Pi. Consulte este artigo para instalar o Raspbian OS e começar a usar o Raspberry Pi. Portanto, agora primeiro precisamos atualizar o Raspbian usando os comandos abaixo:
sudo apt-get update sudo apt-get upgrade
Então, precisamos instalar alguns pacotes relacionados ao Bluetooth:
sudo apt-get install bluetooth blueman bluez
Em seguida, reinicie o Raspberry Pi:
sudo reboot
BlueZ é um projeto de código aberto e pilha de protocolo Bluetooth oficial do Linux. Ele suporta todos os principais protocolos Bluetooth e agora se torna parte do kernel Linux oficial.
Blueman fornece a interface Desktop para gerenciar e controlar os dispositivos Bluetooth.
Finalmente, precisamos da biblioteca python para comunicação Bluetooth para que possamos enviar e receber dados por meio de RFCOMM usando a linguagem Python:
sudo apt-get install python-bluetooth
Instale também as bibliotecas de suporte GPIO para Raspberry Pi:
sudo apt-get install python-rpi.gpio
Agora, concluímos a instalação dos pacotes necessários para comunicação Bluetooth no Raspberry Pi.
Dispositivos de emparelhamento com Raspberry Pi via Bluetooth:
Emparelhar dispositivos Bluetooth, como um telefone celular, com o Raspberry Pi é muito fácil. Aqui, emparelhamos nosso smartphone Android com Raspberry Pi. Instalamos anteriormente o BlueZ in Pi, que fornece um utilitário de linha de comando chamado “ bluetoothctl ” para gerenciar nossos dispositivos Bluetooth. Mas antes, conecte seu dongle USB Bluetooth com Raspberry Pi e verifique se foi detectado ou não, usando o comando abaixo:
lsusb
Agora abra o utilitário bluetoothctl pelo comando abaixo:
sudo bluetoothctl
Você pode verificar todos os comandos do utilitário bluetoothctl digitando ' ajuda' . Por enquanto, precisamos inserir os comandos abaixo na ordem determinada:
# power on # agent on # detectable on # pairable on # scan on
Após o último comando “ scan on ”, você verá seu dispositivo Bluetooth (celular) na lista. Certifique-se de que seu celular esteja com o Bluetooth ligado e visível para dispositivos próximos. Em seguida, copie o endereço MAC do seu dispositivo e emparelhe-o usando o comando fornecido:
par
Em seguida, será solicitada a senha ou PIN no console do terminal e, em seguida, digite a senha e pressione Enter. Em seguida, digite a mesma senha no seu telefone celular quando solicitado e agora você está emparelhado com o Raspberry Pi. Também explicamos todo esse processo em nosso tutorial anterior sobre Controle de GPIO com Bluetooth.
Diagrama de circuito:
Digitação por voz em LCD usando Android App BlueTerm:
Agora, depois de emparelhar o telefone móvel, precisamos instalar um aplicativo Android para se comunicar com o Raspberry Pi usando um adaptador serial Bluetooth. O protocolo RFCOMM / SPP emula a comunicação serial via Bluetooth, por isso instalamos aqui o aplicativo BlueTerm que suporta esse protocolo.
Você também pode usar qualquer outro aplicativo de terminal Bluetooth que ofereça suporte à comunicação por meio do soquete RFCOMM.
Agora, depois de baixar e instalar o aplicativo BlueTerm, execute o programa Python fornecido abaixo a partir do terminal e conecte o dispositivo raspberrypi emparelhado do aplicativo BlueTerm ao mesmo tempo. Após a conexão bem-sucedida, você verá conectado: raspberrypi no canto superior direito do aplicativo, conforme mostrado abaixo. Agora selecione o teclado de digitação Google Voice e comece a falar, aparecerá o LCD.
O programa Python para este projeto é fornecido abaixo e pode ser facilmente compreendido. A principal parte típica está relacionada à programação Bluetooth, que explicamos anteriormente; verifique a seção de programação deste artigo.
Podemos estender ainda mais este projeto usando a voz para controlar os pinos GPIO do Raspberry ou podemos usar um display LCD / TFT maior para exibir mensagens maiores. Verifique também nossos projetos e tutoriais anteriores do Raspberry Pi.