Índice:

Organizador de desktop com LCD: 4 etapas
Organizador de desktop com LCD: 4 etapas

Vídeo: Organizador de desktop com LCD: 4 etapas

Vídeo: Organizador de desktop com LCD: 4 etapas
Vídeo: ORGANIZADOR de Escritorio con Folder o Archivador - Fácil Organizador | Manualidades aPasos 2024, Julho
Anonim
Image
Image

** Sendo editado **

Para o projeto HKU arduino, decidi fazer um organizador de mesa com tela LCD que exibe citações de inspiração para buscá-lo quando você gira seu medidor de potes!

Estarei cobrindo principalmente o material técnico do Arduino, contanto que você tenha algo como uma caixa de madeira para esconder seu Arduino e LCD em seu organizador pessoal, podendo assumir qualquer forma desejável.

As coisas que você precisa

  • * arduino uno
  • medidor de panela
  • * fios de prototipagem machos
  • * Módulo LCD! Com leitor de cartão SD! (Eu tenho arduino tft LCD)
  • * cartão micro SD
  • * madeira (eu reciclei mini gavetas velhas e usei algumas peças sobressalentes de madeira, certifique-se de que você pode pelo menos formar uma caixinha para esconder seu arduino!

Etapa 1: Configurando o Potmeter no Arduino

Configurando o Potmeter no Arduino
Configurando o Potmeter no Arduino

conecte seu medidor de pot como mostrado na imagem

para fazer o medidor de pot funcionar começar

Você precisará começar com algumas variáveis no topo do seu esboço antes da configuração:

código:

const int analogInPin = A0; // Pino de entrada analógica ao qual o potenciômetro está conectado

int sensorValue = 0; // valor lido do potenciômetro int outputValue = 0; // valor de saída para o PWM (saída analógica)

Na figura 2, mostro como o potmeter é mapeado no loop vazio

código:

// leia o valor analógico:

sensorValue = analogRead (analogInPin); // mapeie para o intervalo da saída analógica: outputValue = map (sensorValue, 0, 1023, 0, 255); String stuffToPrint = String (outputValue); // mude o valor de saída analógica:

stuffToPrint.toCharArray (impressão, 9); // texto estático myScreen.setTextSize (1);

Serial.print ("sensor ="); Serial.print (sensorValue); Serial.print ("\ t output ="); Serial.println (outputValue);

atraso (50);

isso mapeia os dados analógicos do potenciômetro para uma faixa de 0 a 255, usaremos essa faixa para controlar nossa apresentação de slides de LCD

Se precisar de ajuda para configurar o potímetro; Usei o código deste tutorial útil, os pinos são exatamente os mesmos e funcionarão com a configuração do LCD nas próximas etapas.

www.toptechboy.com/arduino/lesson-11-arduin…

Etapa 2: Configurando o LCD

Configurando o LCD
Configurando o LCD

Configure os pinos como no exemplo acima.

Quando feito corretamente, sua tela ficará branca.

Se precisar de ajuda extra ou quiser usar algum código de exemplo para testar sua tela, você pode ver o tutorial oficial para este módulo e seus exemplos de código aqui

estaremos usando parcialmente o "desenho de imagem do cartão SD" na próxima etapa.

Etapa 3: Configurando a apresentação de slides

Configurando a apresentação de slides
Configurando a apresentação de slides

Agora que temos o Potmeter e o LCD configurados, podemos configurar uma "apresentação de slides" usando os valores mapeados do potmeter

Usando a faixa de 0 a 255, podemos indicar uma certa faixa na qual podemos acionar o arduino para exibir algum conteúdo no LCD.

Primeiro exemplo conforme mostrado na imagem:

if (outputValue <51) {// intervalo um if (rangeOne == true) {rangeTwo = true; myScreen.setRotation (90); myScreen.background (0, 0, 0); myScreen.stroke (255, 255, 255); myScreen.text ("Olá, maravilhoso,", 10, 50); myScreen.text ("girar o pino> para", 10, 60); myScreen.text ("obter incentivo.", 10, 70); rangeOne = falso;

Se o potenciômetro passar para uma faixa inferior a 51, a tela exibirá (no modo retrato = rotação 90) algum texto.

Para ser capaz de exibir uma imagem, certifique-se de que seu pino SD CS esteja definido corretamente, ou o arduino falhará ao inicializar o SD (então certifique-se de verificar seus fios !!)

Se você deseja verificar os pinos do seu LCD, você pode consultar o guia oficial em "conectar a tela"

Eu defini meu pino SD CS como 4 agora porque confundi meus fios, por exemplo! - Estou feliz em compartilhar esse pequeno erro, porque você economizará muito tempo ao pesquisar na web o erro "Falha ao inicializar". Em alguns fóruns, dizem que a solução é ter um determinado modelo de cartão SD. Portanto, verifique sua fiação antes de comprar novos cartões SD !!

Etapa 4: Exemplo de código completo

#incluir

#include // Biblioteca específica de hardware #include

#define SD_CS 4 #define CS 10 #define DC 9 #define RESET 8

const int analogInPin = A0; // Pino de entrada analógica ao qual o potenciômetro está conectado

int sensorValue = 0; // valor lido do potenciômetro int outputValue = 0; // saída do valor para o PWM (saída analógica) bool rangeOne = true; bool rangeTwo = true; bool rangeThree = true; bool rangeFour = true; bool rangeFive = true;

TFT minha tela = TFT (CS, DC, RESET);

Imagem PImage; impressão const char [9];

void setup () {Serial.begin (9600); myScreen.begin (); // tenta acessar o cartão SD Serial.print ("Inicializando o cartão SD…"); if (! SD.begin (SD_CS)) {Serial.println ("falhou!"); Retorna; } Serial.println ("OK!");

// inicializar e limpar a tela GLCD myScreen.begin (); myScreen.background (255, 255, 255);

} void loop () {// lê o valor analógico: sensorValue = analogRead (analogInPin); // mapeie para o intervalo da saída analógica: outputValue = map (sensorValue, 0, 1023, 0, 255); String stuffToPrint = String (outputValue); // mude o valor de saída analógica:

stuffToPrint.toCharArray (impressão, 9); // texto estático myScreen.setTextSize (1);

Serial.print ("sensor ="); Serial.print (sensorValue); Serial.print ("\ t output ="); Serial.println (outputValue);

atraso (50);

if (outputValue to ", 10, 60); myScreen.text (" get encoraagement. ", 10, 70); rangeOne = false;}} if (outputValue> 52 && outputValue 102 && outputValue 154 && outputValue <205) {/ / intervalo quatro if (rangeFour == true) {rangeThree = true; rangeFive = true; myScreen.setRotation (90); myScreen.background (255, 255, 255); // limpar a imagem da tela = myScreen.loadImage ("quote2.bmp "); // escrever a imagem na tela myScreen.image (image, 0, 0); myScreen.stroke (255, 255, 255); myScreen.text (" Estou tão orgulhoso ", 10, 50); myScreen.text ("de você!", 10, 60); rangeFour = false;}}

if (outputValue> 206 && outputValue

Recomendado: