Índice:
2025 Autor: John Day | [email protected]. Última modificação: 2025-01-13 06:58
Olá!
Hoje você dificilmente pode surpreender alguém com um telefone celular com câmera, aparelhos sem fio e outros avanços técnicos. Graças à plataforma Arduino, milhões de pessoas descobriram o maravilhoso mundo da eletrônica e da programação. 100, 500 instruções foram escritas sobre como trocar dados entre um telefone celular e o Arduino via bluetooth … Do que estou falando? sim. Quero trocar dados entre um celular no Android e o Arduino UNO através do bluetooth em 100, 501 vezes. Mas quero transmitir não apenas um conjunto de caracteres e números, mas também imagens.
Alguém dirá que isso é impossível, o Arduino é muito lento para processar grandes quantidades de dados com boa velocidade. E ele estará absolutamente certo. E se um pouco de ajuda Arduino - para transferir todo o trabalho "duro" para os ombros de outro dispositivo? E esse dispositivo existe!
Este é um escudo TFT exclusivo para Arduino. As informações sobre esse logotipo estão nestes artigos: artigo 1, artigo 2. Nesses instrutíveis, demonstrarei como você pode se conectar via bluetooth entre o Arduino e o telefone Android, obter uma foto da câmera OV7670 no Arduino UNO e transferi-la para o telefone Android. Então, ao contrário, transfira a imagem (imagem da câmera) do telefone Android para o Arduino UNO e exiba-a na tela de um escudo TFT exclusivo.
Um aplicativo especial foi escrito para o telefone Android.
Breves características do escudo TFT:
- Tamanho 3,5 "na diagonal,
- Resolução 320x240,
- Número de cores 65536 (16 bits),
- Tela de toque resistiva (controlador XPT2046),
- 5 botões,
- RTC IC DS1307 com bateria de lítio de 3 V CR1220,
- Slot para conectar um cartão micro SD,
- Conector de 4 pinos (2,54 mm) para conexão do módulo Bluetooth HC-05 (-06), módulo WiFi ESP8286.
- Conector de 20 pinos (2,54 mm) para câmera (OV7670).
Etapa 1: Lista de componentes necessários
Hardware:
- Arduino UNO;
- Escudo TFT exclusivo;
- Adaptador de alimentação AC-DC 6-12 volts,> 600mA;
- Câmera OV7670;
- Módulo Bluetooth HC-06 (HC-05);
- Telefone Android.
Atenção: É necessário (!) Usar um adaptador de alimentação de 6-12 volts para operar a blindagem TFT, pois a corrente máxima de 500 mA do USB não é suficiente para a operação normal.
Programas:
- Arduino IDE;
- Biblioteca para escudo TFT exclusivo;
- Arquivo APK para telefone Android.
Etapa 2: preparação
Programas
Todos os esboços de demonstração são escritos no ambiente Arduino IDE, portanto, no início é necessário instalar o Arduino IDE - https://www.arduino.cc/en/main/software. Em seguida, você precisa instalar uma biblioteca para o escudo TFT - github.com/YATFT/YATFT (baixe a biblioteca e descompacte-a na pasta "libraries" no diretório IDE do Arduino).
Após instalar o Arduino IDE, você deve programar a placa Arduino UNO. Para simplificar, eu recomendo piscar separadamente, sem escudo TFT. Por esta:
- Conecte o cabo USB à placa Arduino UNO;
- Execute o Arduino IDE no computador;
- Selecione a porta correspondente à qual o Arduino UNO está conectado;
- Baixe o esboço de demonstração do ArduinoBluetoothCamera.ino (e o arquivo ov7670_regs.h para o init da câmera);
- Clique no botão Upload.
Se a placa Arduino UNO for programada com sucesso, você pode prosseguir para a próxima etapa.
Android
No telefone Android, você precisa instalar o ArduinoTFT.apk. Permita que o aplicativo use o Bluetooth e a câmera.
Atualização 2020-07-25 (graças a fano13250)
Olá, tive o mesmo problema com a aplicação Android que não funciona. Resolvido após autorizar o acesso do App na câmera do smartphone. É isso. Tchau
Módulo bluetooth
É necessário definir a taxa de câmbio no módulo Bluetooth para 115200 (comando "AT + UART = 115200, 0, 0"). Esta é a velocidade ideal na qual o Arduino UNO consegue receber e processar dados. (Teoricamente, você pode aumentar a velocidade, otimizar a recepção e o processamento dos dados, mas isso requer uma quantidade maior de RAM). Instruções mais detalhadas sobre como definir a taxa de câmbio podem ser encontradas na Internet, por exemplo, aqui: https: / /www.instructables.com/id/Communication-Bluetooth-Module-With-HC-05-HC-06/.
(!) Observe que o módulo Bluetooth se conecta à porta de depuração do Arduino UNO. Portanto, ao trabalhar com bluetooth, a porta de depuração não está disponível. E antes de programar o Arduino UNO (completo com o módulo Bluetooth) deve desconectar o módulo Bluetooth. E depois de programar, defina-o de volta (!)
Atualização em 2020-05-26
Eu adicionei código fonte de ArduinoTFT.apk. COMO É! Baixe ArduinoTFT.zip.h, renomeie para ArduinoTFT.zip e descompacte. Aproveitar!
Etapa 3: Montagem
A montagem do dispositivo é bastante simples:
- Conecte o Arduino UNO e o escudo TFT;
- Conecte a câmera OV7670 ao conector de 20 pinos na blindagem TFT da blindagem (às vezes eu uso um conector angular de 18-20 pinos com um passo de 2,54 mm como adaptador);
- Conecte o módulo Bluetooth HC-06 (HC-05) ao conector de 4 pinos com as palavras "Bluetooth" no escudo TFT;
- Conecte o adaptador de alimentação de 6-12 V à entrada de alimentação na placa Arduino UNO.
Depois de ligar a energia, a tela do escudo TFT deve ficar vermelha. Isso significa a disposição de receber comandos do telefone Android.
Etapa 4: demonstração
Execute as seguintes operações no telefone Android:
- Inicie o aplicativo ArduinoTFT no telefone Android;
- Vire o telefone na posição horizontal;
- Habilite a conexão Bluetooth, selecione o módulo Bluetooth detectado (HC-06);
Duas janelas e quatro botões devem aparecer na tela:
- A janela superior direita é a janela do visor da câmera do telefone;
- Grande janela esquerda - imagens recebidas ou enviadas.
Funções dos botões:
- Transfira uma única imagem do telefone Android para o Arduino;
- Transferência contínua de imagens do telefone Android para o Arduino;
- Transfira uma única imagem do Arduino para o telefone Android;
- Transferência contínua de imagens do Arduino para o telefone Android.
O tamanho da imagem é 320x240 pixels (2-5 kB). Este capítulo tem um vídeo de demonstração.
Se você gosta do meu instrutível, gostaria de receber uma avaliação. Talvez isso me dê motivação para novos instructables:-)
Obrigado pela atenção!
Atualização 31.03.2021:
Olá de novo! Há uma biblioteca atualizada para uma série de telas, que atualmente consiste em dois escudos e duas placas de quebra. O esboço é compilado dependendo da versão selecionada (de 1 a 4) e do tipo de microcontrolador (MegaAVR ou ESP-32). Adicionadas fotos, exemplos. Mais informações podem ser encontradas em