Já precisou usar uma seta para direita no LCD em seu trabalho? ou para esquerda? ou para baixo/cima? Tentou upar códigos e mais códigos e nada? Aqui esta a solução para você...
Com este software online você consegue criar qualquer caractere em uma matriz de 5 x 8 quadrados.
Exemplo de Sketch:
#include//inicia biblioteca LCD LiquidCrystal lcd(12, 11, 5, 4, 3, 2); //configura pinos byte newChar[8] = { B00100, //vetor aonde é criado os caracteres B00100, //no caso em questao, 1 = escrito B00100, //0 = apagado B00100, B00100, B11111, B01110, B00100 }; void setup() { lcd.createChar(0, newChar); //Chama função para criar caractere lcd.begin(16, 2); //inicia LCD lcd.write(0); //escreve LCD } void loop() {}
como eu faço isso em assenbler??
ResponderExcluirclaudinei
circuitoimpresso@yahoo.com.br
estou com problema no meu switch/case,se alguem puder me ajudar= =>
ResponderExcluirint timer=300; // Tempo entre cada letra em MicroSegundos
int timer1=500; // Tempo entre cada letra em MicroSegundos
int var_sensorIR = 0;
int sensorIR = A0; //-> Variaveis Correspondentes ao Sensor de Infravermelhos
int letra[]={0};
void setup()
{
Serial.begin(9600);
pinMode (4, OUTPUT);
pinMode (5, OUTPUT);
pinMode (6, OUTPUT);
pinMode (7, OUTPUT);
pinMode (8, OUTPUT);
pinMode (9, OUTPUT);
pinMode (10, OUTPUT);
pinMode (11, OUTPUT);
pinMode (12, OUTPUT);
pinMode (13, OUTPUT);
}
void loop()
{
for(int j=0;j<8000;j++)
{
var_sensorIR = analogRead(sensorIR); // Leitura do valor do Sensor e escrita desse mesmo valor na variavel “val_sensorIR”
if(var_sensorIR < 1020)// Condição SE o valor do sensor for menos que 400 entao começa a sequencia dos Leds.
{
letra ='A';
switch(letra)
{
case 'A': // LETRA A
PORTB = B00011111;
PORTD = B11110000;
delayMicroseconds(timer);
PORTB = B00100001;
PORTD = B00000000;
delayMicroseconds(timer);
PORTB = B00100001;
PORTD = B00000000;
delayMicroseconds(timer);
PORTB = B00100001;
PORTD = B00000000;
delayMicroseconds(timer1);
PORTB = B00011111;
PORTD = B11110000;
delayMicroseconds(timer1);
break;