segunda-feira, 9 de novembro de 2009

Artigo sobre Visual Styles na ActiveDelphi 69

Foi publicado este mês na ActiveDelphi meu artigo sobre Visual Styles, este proporciona técnicas de desenho de componentes de acordo com o a versão do sistema operacional utilizada.



sábado, 7 de novembro de 2009

Como utilizar uma Webcam utilizando Delphi

Exemplo simples de utilização de Webcam no Delphi.


/ / Primeiro, declare as seguintes constantes 
const 

WM_CAP_DRIVER_CONNECT = WM_USER + 10;
WM_CAP_EDIT_COPY = WM_USER + 30;
WM_CAP_SET_PREVIEW = WM_USER + 50;
WM_CAP_SET_OVERLAY = WM_USER + 51; 
WM_CAP_SET_PREVIEWRATE = WM_USER + 52; 
implementation
{$R *. dfm }

/ / e declare a seguinte função 

function capCreateCaptureWindow(lpszWindowName: LPCSTR; function capCreateCaptureWindow (lpszWindowName: LPCSTR; 
dwStyle: DWORD;
x, y,
nWidth,
nHeight: integer;
hwndParent: HWND;
nID: integer): HWND; stdcall ;
external ' AVICAP32. DLL ' name ' capCreateCaptureWindowA '; 
procedure TForm1.Connect; 
var 
handle: THandle;
begin
  handle: = capCreateCaptureWindow ( 'Video', WS_CHILD + WS_VISIBLE, 0,
  0, 320, 240, Panel1. Handle , 1);  / / como você pode perceber, você precisará de um panel no seu form ;-) 

  SendMessage( handle , WM_CAP_DRIVER_CONNECT, 0, 0); 
  SendMessage( handle , WM_CAP_SET_PREVIEWRATE, 30, 0); 
  SendMessage( handle , WM_CAP_SET_OVERLAY, 1, 0); 
  SendMessage( handle , WM_CAP_SET_PREVIEW, 1, 0); 
end ;

Inscrições abertas para o Delphi Conference

Olá pessoal, já estão abertas as inscrições para o Delphi Conference aqui em São Paulo, lembrando que o evento é gratuito, mas atenção os que se inscreverem para o evento e não comparecerem pagarão uma multa de R$ 100,00. Maiores detalhes do evento tais como agenda e inscrição podem ser obtidos no link abaixo:

http://latam.embarcadero.com/br/delphiconference/

terça-feira, 3 de novembro de 2009

Delphi Conference Brasil

Amigos delphianos, a 1º Delphi Conference Brasil, o evento mais importante do ano para a comunidade Delphi e 100% técnico, será realizado no dia 24 de Novembro em São Paulo capital, em breve mais informações no blog de Andreano Lanusse.




O Timer 555 e seus encantos Parte 1: Descrição

O temporizador 555 foi introduzido no mercado em 1971 (já faz mais de 30 anos!) pela Empresa Signetics Corporation com o nome: SE555/NE555 e foi chamado de "The IC Time Machine" (o circuito integrado máquina do tempo), que nesta época era o único integrado do seu tipo disponível. Atualmente continua sendo muito tão utilizado quanto antes e possue múltiplas aplicações nos mais variados tipos de projetos.
Praticamente cada fabricante de circuitos integrados possue sua própria versão do “555”, de acordo com o fabricante ele recebe uma designação distinta, tal como TLC555, LMC555, uA555, NE555C, MC1455, NE555, LM555, etc. Mesmo sendo conhecido como "o 555" ou “NE555”.

Descrição

É constituído por uma combinação de comparadores lineares, Flip-Flops, um transistor de descarga e um excitador de saída. As tensões de referência dos comparadores se estabelecem em 2/3 V para o primeiro comparador C1 e em 1/3 V para o segundo comparador C2, por meio do divisor de tensão composto por 3 resistências iguais R. Curiosidade: estes resistores são de 5K Ohms cada por isso o nome do integrado 555.
A constituição interna do 555 pode ser vista na figura abaixo.




Funções dos pinos:

1.- Terra ou massa.

2.- Disparo (trigger): É neste pino que ocorre o início do tempo de retardo, se o 555 estiver configurado como monoastável. Este processo de disparo ocorre quando este pino está abaixo de 1/3 da tensão de alimentação. Este pulso deve ser de curta duração , pois do contrário a saída ficará em alta até que a entrada de disparo passe a alto outra vez.

3.- Saída (output): Aqui veremos o resultado da operacão do temporizador, seja como monoastável, astável ou outros. Quando a saída está em alta, a tensão será a tensão de trabalho menos 1,7 Volts. Esta saída pode ficar em quase 0 volts con a ajuda do pino 4 (reset).

4.- Reset (reset): Quando colocamos um nível de tensão menor que 0,7 Volts, a saída no pino 3 será nível baixo. Se por algum motivo este pino não for utilizado deve-se conectá-lo a Vcc evitando assim que o 555 se "reset".

5.- Controle de tensão (control voltage): Quando o temporizador está no modo de controlador de tensão, a tensão neste pino pode variar desde Vcc (na prática como Vcc - 1 volt) até quase 0 V (aprox. 2 Volts). Assim é possível modificar os tempos em que o pino 3 está em alto o em baixo independente do esquema (estabelecido pelas resistências e capacitores conectados externamente ao 555). A tensão aplicada ao pino 5 pode variar de 45 a 90 % de Vcc na configuração monoastável. Quando se utiliza a configuração astável, a tensão pode variar de 1,7 volts até Vcc. Modificando a tensão neste pino na configuração astável fará com que a frequência original do astável seja modulada em frequência (FM). Se este pino não for utilizado, recomenda-se colocar um capacitor de 0,01uF para evitar interferências.

6.- Umbral (threshold): Esta é uma entrada de um comparador interno do 555 e é utilizado para colocar a saída pino 3 em nível baixo.

7.- Descarga (discharge): Utilizado para descarregar com efecácia o capacitor externo utilizado pelo temporizador para seu funcionamento.

8.- V+ (Vcc): Este é pino onde se conecta a tensão de alimentação que vai de 4,5 volts até 16 volts (máximo). Existem versões militares deste integrado que pode chegar até 18 volts.