Mostrando postagens com marcador lcd. Mostrar todas as postagens
Mostrando postagens com marcador lcd. Mostrar todas as postagens

2012-02-29

OLIMEX Pinguino32, ITDB02 running!

Just got ITDB02 8bits running with OLIMEX Pinguino32 board.


ITDB02 and Pinguino32

OBS: Needs remove C20 capacitor from OLIMEX pinguino board.


OBS²: Needs remove all resistors from ITDB02 Shield.



2012-02-14

Simplesmente o mais completo módulo LCD para Sistemas Embarcados


Certamente é uma maravilha e por um preço ótimo, 80,00 € (sem o frete), praticamente qualquer projeto pode ser usar este display, até mesmo uma BeagleBoard ou uma BeagleBone e projetos com uso de FPGA e outros Microcontroladores.


Já falei que tem Touchscreen? suporte USB? SPI?

O display tem a mesma resolução da Sony PSP, e conta com um microcontrolador ARM LPC2478 de 72MHz, 512KB de Flash e 98KB RAM
E mais 32MB de SDRAM

FEATURES:

MCU: LPC2478 512KB Flash, 98KB RAM, 72Mhz
LCD 4.3" 480x272 pixrls 24bit color TFT color with Backlight and Touchscreen
micro SD card
32MB of SDRAM
DC-DC for LCD backlight
UEXT connector to interface with any of our development boards with UEXT connector
mini USB device connector
optional 3-axis digital accelerometer with 11 bit accuracy
USB device connector
JTAG connector
RESET button and circuit
USER button
power supply LED
USB activity LED
Touchscreen interface
EXT1 and EXT2 2x20 pin 0.05" extension connectors on the board edge for all unused LPC2478 ports
FR-4, 1.5 mm, red soldermask, component print
Dimensions:115x67.5mm (4.5 x 2.7")
http://olimex.com/dev/mod-lcd43.html

2010-08-14

Gerador de caracteres para LCD/Pinguino

Ontem estava trabalhando na parte final do projeto da biblioteca LCD para pinguino, e deparei com a tarefa de criar caracteres do usuário, bom a tarefa apesar de simples é um pouco tediosa e resolvi automatizar o processo.

Assim nasceu o Easy LCD CGRAM, desenvolvi em Java usando o NetBeans, não é a melhor opção mas tenho de estudar Java para a faculdade... :-(

A ideia é  simples, são 64 botões que representam os pixels do display LCD, você clica nestes e depois gera o código para uso com a biblioteca pinguino que postei antes, o processo todo é muito fácil.

Screenshot:
Fontes e programa:
easy_LCD_CGRAM.zip

Como usar?
Basta colocar o código dos caracteres após o comando begin(), no setup{...}, e usa-los no loop{...} com o comando write():
Apenas, lembrem-se de usar o restante do código .pde e arquivo .h do post anterior...
/*
  *************************************************************************
 ***************************************************************************
**                LCD pratical use! PINGUINO CLOCK!                        **
 ***************************************************************************
  *************************************************************************
 */
// Remove line above if you using a pinguino with PIC18F2550
#define PIC18F4550

#define HOUR 20
#define MIN 19

//global vars
uchar counter = 0;
uchar sec  = 0;
uchar min  = 0;
uchar hour = 0;

uchar num = 0;
 
void setup(){
    //8 bits mode
    //lcd(8, 9, 0, 1, 2, 3, 4, 5, 6, 7); // RS, E, D0 ~ D7
   
    //4 bits mode, dont use last four pins ...
    lcd(8, 9, 4, 5, 6, 7, 0, 0, 0, 0); // RS, E, D4 ~ D8    
   
    //LCD format
    begin(2, 0);
   
    //Creating user chars
    //Set AC register to initial CGRAM position
    command(0x40);
    //Write character code
    write(0x3);
    write(0x0);
    write(0x0);
    write(0x0);
    write(0x0);
    write(0x0);
    write(0x8);
    write(0x18);
    //Write character code
    write(0x6);
    write(0x0);
    write(0x0);
    write(0x0);
    write(0x0);
    write(0x4);
    write(0x0);
    write(0xc);
    //Write character code
    write(0x6);
    write(0x0);
    write(0x0);
    write(0x2);
    write(0x0);
    write(0x0);
    write(0x0);
    write(0xc);
    //Write character code
    write(0xc);
    write(0x0);
    write(0x1);
    write(0x0);
    write(0x0);
    write(0x0);
    write(0x0);
    write(0x6);
    //Write character code
    write(0x6);
    write(0x2);
    write(0x0);
    write(0x0);
    write(0x0);
    write(0x0);
    write(0x0);
    write(0x3);
    //Write character code
    write(0xc);
    write(0x0);
    write(0x4);
    write(0x0);
    write(0x0);
    write(0x0);
    write(0x0);
    write(0x6);
    //Write character code
    write(0x6);
    write(0x0);
    write(0x0);
    write(0x0);
    write(0x8);
    write(0x0);
    write(0x0);
    write(0xc);
    //Write character code
    write(0x3);
    write(0x0);
    write(0x0);
    write(0x0);
    write(0x0);
    write(0x10);
    write(0x0);
    write(0x18);

    /* Debug */
    pinMode(13, OUTPUT);        // LED on pin 12
   
    //Setup buttons
    pinMode(20, INPUT);
    pinMode(19, INPUT);
}
 
void loop()
{
    // Output string
    home();
    lcdPrint("Pinguino Clock!");    // Output char
   
    setCursor(15, 1);
    //Using user chars, a very small pong game! :P
    if(counter % 2){
        num++;
        if(num > 8){
            num = 0;
        }
        write(num);
    }
   
    if (counter>9){
        counter = 0;
        sec++;
    }
   
    if (sec>59){
        sec = 0;
        min++;
    }
   
    if (min>59){
        min = 0;
        hour++;
    }
   
    if (hour>23){
        hour = 0;
    }
   
   
    setCursor(0, 1);
    if (hour < 10)
        lcdPrint("0");    
    printNumber(hour, 10);
   
    if (min < 10)
        lcdPrint(":0");
    else
        lcdPrint(":");        
    printNumber(min, 10);
   
    if (sec < 10)
        lcdPrint(":0");
    else
        lcdPrint(":");
    printNumber(sec, 10);    
   
    //set hour and min    
    if(digitalRead(HOUR) == LOW){
        hour++;
    }
    if(digitalRead(MIN) == LOW){
        min++;
    }
   
    counter++;
    delay(52); //Need two delays by 52ms, crystal/clock/PIC18F code? DSO give me 100.1ms with this!
    digitalWrite(13, LOW);
    delay(52);
    digitalWrite(13, HIGH);    
}

2010-08-12

Pinguino Clock!

Pinguino é um projeto que visa utilizarmos os pequenos e poderosos programas e bibliotecas para Arduino (Atmel/AVR) em microcontroladores Microchip/PIC.

Por enquanto o projeto pinguino ainda está longe da robustez e eficiência dos arduinos, contudo muito em breve teremos  um significativo progresso com a nova IDE beta9.
  • Eis o projeto Pinguino Clock!
Pinguino Clock - PIC18F4550 + LCD16x2

  • Esquema do circuito:


  • Codigo:
 O foi totalmente feito na linguagem C (Processing/Wiring) do arduino e baseado na biblioteca LiquidCrystal do projeto arduino.
 Basicamente a proposta é termos a mesma gama de comandos e funções do projeto arduino, com o mínimo de modificações a serem necessárias durante o porting.