Índice:
- Suprimentos
- Etapa 1: Configurando o Nextion Touchscreen
- Etapa 2: Configurando o Arduino
- Etapa 3: Configurando Python
- Etapa 4: Fiação
- Etapa 5: executando testes
- Etapa 6: opcional: para executar o código Python automaticamente com docking station
Vídeo: Lembrete de reunião do calendário do Outlook com tela sensível ao toque Nextion: 6 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:35
A razão pela qual comecei este projeto foi porque muitas vezes eu perdia reuniões e percebia que precisava de um sistema de lembretes melhor. Apesar de usarmos o Calendário do Microsoft Outlook, passei a maior parte do tempo no Linux / UNIX no mesmo computador. Ao trabalhar com o Linux, o lembrete pop-up do Calendário do Outlook para PC fica oculto atrás do LInux VNC ou de outro aplicativo no meu Windows.
Tive a ideia de exibir um lembrete de reunião acima dos monitores de meu computador para que ficasse mais visível. O plano era ter um sistema de tela sensível ao toque para recuperar minha próxima reunião do Calendário do Outlook e um botão para pressionar para encerrar uma reunião.
Suprimentos
Hardware necessário:
1. Touchscreen Nextion (a partir de US $ 22)
2. Arduino Nano (a partir de $ 4) ou outra placa Arduino. Eu escolhi o Nano por causa do pequeno formato para caber em uma pequena caixa.
3. Mini cabo USB
Opcional: Encontre uma impressora 3D ou serviço de impressora 3D para imprimir a caixa.
Eu projetei e imprimi em 3D a caixa para caber em meus monitores e ela pode não caber em outros monitores. Você pode precisar projetar o caso.
Assista ao vídeo abaixo para mostrar que, quando é menos de 60 segundos, o tempo está passando e me lembra de começar a correr para uma reunião.
Etapa 1: Configurando o Nextion Touchscreen
- Para saber mais sobre Nextion, há uma série de tutoriais, incluindo neste site instrutível, procure por "Nextion".
- Você pode obter qualquer touchscreen Nextion em uma loja online como a Amazon.com (veja a imagem)
- Baixe meu arquivo Nextion para este projeto no link a seguir. Você pode modificá-lo como desejar.
- Abra o arquivo usando o Nextion Editor. O Nextion Editor pode ser baixado em:
- Usando o Nextion Editor, carregue o arquivo no Nextion.
Etapa 2: Configurando o Arduino
- Como o Nextion, em vez de passar por uma longa instrução de como usar o Arduino, você pode pesquisar tutoriais de como usar o Arduino, incluindo este site instrutivo.
- Para caber todo o sistema em um invólucro menor, minha escolha foi o Arduino Nano. É relativamente menor e pode ser conectado diretamente ao USB do meu PC. Alternativamente, você pode usar qualquer placa Arduino.
- Você pode obter o Arduino Nano em uma loja online como a Amazon.com, conforme mostrado na imagem, por menos de US $ 4 cada.
- Baixe a biblioteca Nextion Arduino: https://github.com/itead/ITEADLIB_Arduino_Nextion e inclua-a na biblioteca Arduino Sketch.
- Por padrão, a biblioteca Nextion Arduino assume que os números estão em inteiros. Isso representa um problema para o Arduino Nano (ou qualquer placa baseada em ATmega, como Arduino UNO), onde o inteiro é 16 bits, que vai de -32768 a 32768. Se você usar uma placa Arduino de 32 bits, como Arduino Due, Mega ou SAMD placas baseadas (MKR1000 e Zero), não há necessidade de modificar a biblioteca Nextion Arduino. A instrução a seguir mostra como modificar do tipo inteiro para "longo" de 32 bits, que vai de -2147483, 648 a 2147483647. O de 32 bits é necessário porque o tempo para verificar a reunião é em segundos. Para uma reunião em 24 horas, é 86400 segundos, que está além do número inteiro de 16 bits.
-
Modifique a biblioteca Nextion Arduino para alterar o número de inteiro para longo:
- Novamente, as etapas a seguir não se aplicam à placa Arduino de 32 bits.
- Vá para a pasta Arduino Library.
-
Vá para a pasta ITEADLIB_Arduino_Nextion-master
-
Edite o arquivo "NexNumber.h":
Altere a linha: "bool setValue (uint32_t number)"; para "bool setValue (número longo)";
-
Edite o arquivo "NexNumber.cpp":
- Altere a linha: "bool NexNumber:: setValue (uint32_t number)" para "bool NexNumber:: setValue (long number)"
- Altere a linha: "itoa (número, buf, 10);" para "ltoa (número, buf, 10);"
-
Faça upload do meu código Arduino para o Arduino Nano:
Etapa 3: Configurando Python
Eu uso o código Python para recuperar compromissos / reuniões do calendário do Microsoft Outlook e enviá-lo para a tela sensível ao toque do Nextion via porta serial USB. No passado eu usei VB. Net, mas Python é mais simples de codificar, não requer licença e pode ser usado em qualquer sistema operacional.
Existem muitos tutoriais sobre como instalar e programar em Python. Depois de instalar o Python, o próximo passo é instalar a comunicação serial digitando: "pip install pyserial" em uma linha de comando.
Baixe meu código Python no seguinte link:
Dentro do código Python, você precisa modificar a porta serial USB para coincidir com a porta usada pelo seu computador. Para descobrir o número da porta, conecte a placa Arduino e vá para o Gerenciador de Dispositivos. No meu caso é "COM12" (veja a imagem.
Linha Python a ser modificada para meu exemplo:
myserial = MySerial ("COM12")
Observação: pretendo melhorar continuamente o código Python, incluindo a adição de GUI (Graphical User Interface), como um menu suspenso para selecionar o número serial COM. Em seguida, um botão para iniciar e parar de recuperar / enviar reunião da agenda para a tela sensível ao toque. Eu recomendaria seguir este manual para obter a atualização mais recente.
Etapa 4: Fiação
A seguir está o diagrama da fiação:
Nextion Arduino
==================================
5V ---- VCC
TX ---- pino 10
RX ---- pino 11
GND ---- GND
Conecte o Arduino ao seu computador.
Etapa 5: executando testes
Depois de conectar o Nextion ao Arduino e conectar o Arduino a uma porta USB do computador, ele estará pronto para um teste.
Ao instalar o Python, se você marcar uma caixa para adicionar Python às variáveis de ambiente, pode simplesmente clicar em meu arquivo Python: "calendar_nextion.py" mencionado em uma etapa anterior. Há uma janela pop-up (veja a imagem). Caso contrário, você pode adicionar manualmente o caminho do Python às suas variáveis de ambiente primeiro. Outra opção é usar o comando do Windows, vá para a pasta onde você baixou o arquivo "calendar_nextion.py" do meu GitHub e digite "python calendar_nextion.py".
O programa irá recuperar sua reunião do calendário do Outlook a cada minuto. Ele mostrará os minutos ou segundos restantes antes da próxima reunião. Quando for inferior a 1 minuto, começará a contagem regressiva a cada segundo antes do início da próxima reunião. Esta é a parte em que você deveria estar correndo para a reunião:).
Se você pressionar o botão "DISMISS", ele irá pular o lembrete da próxima reunião atual e saltar para a próxima reunião subsequente.
Aproveitar…..
Etapa 6: opcional: para executar o código Python automaticamente com docking station
Veja minhas instruções sobre como executar um programa, neste caso o código Python, automaticamente quando você conecta seu laptop a uma docking station.
www.instructables.com/id/Start-a-Program-Automatically-When-Hooking-a-Lapto/
Recomendado:
Macintosh com tela sensível ao toque - Mac clássico com um iPad Mini para a tela: 5 etapas (com fotos)
Macintosh com tela sensível ao toque | Mac clássico com um iPad Mini para a tela: Esta é a minha atualização e design revisado sobre como substituir a tela de um Macintosh vintage por um iPad mini. Este é o sexto destes que fiz ao longo dos anos e estou muito feliz com a evolução e o design deste! Em 2013, quando fiz
Leitor RFID baseado em ESP32 com tela sensível ao toque: 7 etapas
Leitor RFID baseado em ESP32 com tela sensível ao toque: Neste pequeno guia, mostrarei como criar um leitor RFID simples com saída TFT para montagem na parede usando um módulo ESP32 DEV KIT C, leitor PCB baseado em RC-522 e um kit AZ-Touch ESP. Você pode usar este leitor para acesso à porta ou alarme de intrusão
Gire a tela e a tela sensível ao toque do Raspberry Pi: 4 etapas
Rotate Raspberry Pi Display and Touchscreen: Este é um instrutível básico para mostrar a você como girar o display e a entrada da tela de toque para qualquer Raspberry Pi executando o sistema operacional Buster Raspbian, mas eu usei esse método desde Jessie. As imagens usadas aqui são de um Raspberry Pi
Streamer de áudio Hi-Fi Raspberry Pi com controle de tela sensível ao toque e Max2Play: 9 etapas
Raspberry Pi Hi-Fi Audio Streamer com Touchscreen Control e Max2Play: Aqui, vamos detalhar a montagem do novo Raspberry Pi Touch Streamer. O pacote correspondente com todos os componentes necessários para esta configuração pode ser encontrado na loja Max2Play. Se você já possui essas peças, o estojo também pode ser comprado separadamente
ESP32 Codelock com tela sensível ao toque: 5 etapas
ESP32 Codelock With Touchscreen: Muitas pessoas me pediram um exemplo de código muito simples para ArduiTouch para testar seu trabalho e também como ponto de partida para seus próprios desenvolvimentos. Este codelock muito simples irá demonstrar as funções básicas do Arduitouch sem sinos e assobios e