9
27/11/13 Como controlar Arduino via Delphi | Marcelo Cuin www.cuin.com.br/2013/05/como-controlar-arduino-via-delphi/ 1/9 Marcelo Cuin Arduino | Computação | Eletrônica | Engenharia e etc… Início Contato -- Main Menu -- mai 13 By Hemicharly Thiago Como controlar Arduino via Delphi Category: Arduino , Dicas , Tutorial Tags: Arduino , ComPort , Delphi , Tutorial 24 Comments Uma dica para quem quiser obter comunicação entre arduino e o delphi, para desenvolver interfaces que possibilita controlar o arduino através do delphi, desenvolver aplicações para projetos de automação e outros projetos. Para conseguir esta comunicação com o delphi será necessário a instalação do componente TComPort, pois é este componente que lhe dará todo suporte para que você consiga obter a comunicação quanto ao envio e o recebimento de dados com arduino. Para instalar o componente TComPort, é preciso fazer o download do componente no LINK: http://www.cuin.com.br/wp- content/uploads/2013/05/COMPONENTE.rar Instalando o componente utilizarei a versão Delphi 7: 1º Passo: Depois de baixar o componente, salve ele em uma pasta de preferencia a pasta que você utiliza pra salvar outros componentes. 2º Passo: Abra o delphi é necessário encerrar as aplicações abertas para isto clique em FILE e clique em CLOSE ALL. 3º Passo: Clique OPEN abrira uma janela nesta janela você localiza o componente no diretório o qual você o salvou: Localize a pasta comport411 e abra pasta source nesta pasta e localize o arquivo DsgnCPort7 ou o da versão do delphi o qual esta utilizando e seleciona e clica em abrir. 4º Passo: Será aberto uma janela, clique em Compile depois clique em Install, feche a janela, será solicitada uma mensagem para salvar clique em não. Related Searches:

Como Controlar Arduino via Delphi _ Marcelo Cuin

Embed Size (px)

Citation preview

Page 1: Como Controlar Arduino via Delphi _ Marcelo Cuin

27/11/13 Como controlar Arduino via Delphi | Marcelo Cuin

www.cuin.com.br/2013/05/como-controlar-arduino-via-delphi/ 1/9

Marcelo Cuin

Arduino | Computação | Eletrônica | Engenharia e etc…

Início

Contato

-- Main Menu --

mai

13

By Hemicharly Thiago

Como controlar Arduino via Delphi

Category: Arduino, Dicas, Tutorial Tags: Arduino, ComPort, Delphi, Tutorial 24 Comments

Uma dica para quem quiser obter comunicação entre arduino e o delphi, para desenvolver interfaces que possibilita controlar o arduino através dodelphi, desenvolver aplicações para projetos de automação e outros projetos. Para conseguir esta comunicação com o delphi será necessário a

instalação do componente TComPort, pois é este componente que lhe dará todo suporte para que você consiga obter a comunicação quanto ao envioe o recebimento de dados com arduino.

Para instalar o componente TComPort, é preciso fazer o download do componente no LINK: http://www.cuin.com.br/wp-

content/uploads/2013/05/COMPONENTE.rar

Instalando o componente utilizarei a versão Delphi 7:

1º Passo: Depois de baixar o componente, salve ele em uma pasta de preferencia a pasta que você utiliza pra salvar outros componentes.

2º Passo: Abra o delphi é necessário encerrar as aplicações abertas para isto clique em FILE e clique em CLOSE ALL.

3º Passo: Clique OPEN abrira uma janela nesta janela você localiza o componente no diretório o qual você o salvou: Localize a pasta comport411 e

abra pasta source nesta pasta e localize o arquivo DsgnCPort7 ou o da versão do delphi o qual esta utilizando e seleciona e clica em abrir.

4º Passo: Será aberto uma janela, clique em Compile depois clique em Install, feche a janela, será solicitada uma mensagem para salvar clique em não.

Related Searches:

Page 2: Como Controlar Arduino via Delphi _ Marcelo Cuin

27/11/13 Como controlar Arduino via Delphi | Marcelo Cuin

www.cuin.com.br/2013/05/como-controlar-arduino-via-delphi/ 2/9

5º Passo: Agora é preciso você setar diretório do componente liberando seu funcionamento, para isto clique em TOOL/OPTION IDE, abrira uma

janela clique na aba Library, clique nos 3 pontinhos que corresponde a Library path, será aberto uma janela chamada directories clique nos 3

pontinhos e sete o diretório onde encontra se salvo o componente em seu computador, feito isto clique em ok duas vezes.

Pronto à instalação do componente está concluída.

Utilizando o Componente.

Abra o delphi procure a aba CPortLib e adicione o componente ComPort, para você obter a comunicação com o arduino, você só precisará

praticamente duas partes. O método ComPort1.WriteStr e o evento ComPort1RxChar.

Enviando Dados:

Para enviar dados pela porta Serial, basta passar uma String com o conteúdo desejado para o método WriteStr basta adicionar um botão para enviaros dados para o arduino.Exemplo código abaixo:

Recebendo Dados:

Para receber dados pela porta Serial, basta utilizar o evento OnRxChar que é acionado automaticamente toda vez que alguma informação chega à

porta Serial.Exemplo código abaixo:

A interface do programa bem simplesinho só o básico mesmo:

Servo Controller

PIC

Microcontrollers

AVR Freaks

Stepper Motor

Controller

?

Wh

ilo

kii

Ad

s

Trust Rating

Not Yet Rated

cuin.com.br

Page 3: Como Controlar Arduino via Delphi _ Marcelo Cuin

27/11/13 Como controlar Arduino via Delphi | Marcelo Cuin

www.cuin.com.br/2013/05/como-controlar-arduino-via-delphi/ 3/9

Curtir 3 Tweetar

Para testar funcionamento do aplicativo basta compilar o código abaixo no arduino e utilizar a interface desenvolvida em delphi para realizar os teste.Código para o Arduino:

Basta digitar os comando A e B no campo comando e clicar em enviar e será recebida a resposta logo em seguida.

Para fazer o download do código fonte do aplicativo desenvolvido em delphi e o código fonte para o arduino esta disponível no LINK:http://www.cuin.com.br/wp-content/uploads/2013/05/CODIGO-FONTE.rar

A principal ideia é conseguir a comunicação com o arduino via delphi, a partir desta ideia você tem uma noção de como funciona o envio erecebimento de dados, agora é só usar criatividade e desenvolver diversos projetos.

Espero que tenha ajudado.Abraços!

24 Responses to Como controlar Arduino via Delphi

1. Cristianosays:15 de julho de 2013 at 21:28

Responder

Cara valeu mesmo!!! Seu artigo me ajudou bastante. Já estava procurando como instalar este componente. Um lembrete os componentes do

tcomport esta faltando um arquivo eu tive que baixar de outro site ai deu certo a instalação.

Muito obrigado por compartilhar!!!

Marcelo Cuinsays:

16 de julho de 2013 at 8:44Responder

Olá Cristiano, que bom que gostou do artigo. Com relação ao arquivo que está faltando, informe o nome do arquivo e também onde

você pegou, assim ajustamos a postagem para não ter mais problemas. Obrigado.

2. Thomé Lucassays:

1 de agosto de 2013 at 12:53Responder

Uso o Delphi 7 e o componente Tcomport corretamente instalado, só que quando vou compilar o projeto dá erro na seguinte linha:

Unit1 in ‘Unit1.pas’ {F_COMUNICACAO};

O erro que aparece é esse:

Share

Page 4: Como Controlar Arduino via Delphi _ Marcelo Cuin

27/11/13 Como controlar Arduino via Delphi | Marcelo Cuin

www.cuin.com.br/2013/05/como-controlar-arduino-via-delphi/ 4/9

[Fatal Error] teste.dpr(5): File not found: ‘Cport.dcu’

O que pode ser isso?

Hemicharly Thiagosays:

1 de agosto de 2013 at 13:29Responder

Vou ajudar você por e-mail.

3. Pingback: Reconhecimento de Voz com ARDUINO + DELPHI | Marcelo Cuin

4. Márciosays:28 de agosto de 2013 at 21:52

Responder

Ola, achei excelente o tutorial, porém tenho três dúvidas:

1) Preciso de outro tipo de cabo (serial) para fazer conexão com o Arduino ou só o fato dele estar ligado ao usb funciona?

2) Como devo configurar o componente ComPort? Só sei que o Arduino está usando a porta COM4 e 9600 baud, mas como configuro

corretamente o ComPort?

3) Baixei o seu codigo fonte, mas quando clico em conectar ele dá erro “Unable to open com port (Error: 5)”. Tem alguma sugestão?

Hemicharly Thiagosays:

29 de agosto de 2013 at 17:35

Responder

Olá Marcio!

Respondendo suas dúvidas.

1) Não precisa de nenhum outro tipo de cabo “serial”, somente o cabo USB do Arduíno é o suficiente para conexão.

2) Para configurar o componente ComPort, quando você liga o Arduíno com o cabo USB, automaticamente deve-se aparecer a porta oqual o Arduíno está conectado, verifique no no compilador de código C do Arduíno qual porta esta usando, e clique no botão

configuração do software que faz a comunicação com Arduíno e delphi e o configure, você não precisa mudar nada basta colocar a porta

que o Arduíno está usando o resto deixa como está.

3) Esse erro provavelmente não está instalado corretamente o componente ComPort, verifique o se encontra-se instalado corretamente.

Espero que tenha ajudado, qualquer duvida estarei a disposição, comunique se obter resultados.

Abraços!

5. Camilosays:

13 de setembro de 2013 at 13:34

Responder

Estou com o seguinte problema, estou lendo a temperatura de um sensor de temperatura através do arduino, e escrevo este valor já convertino

na serial, leio este valor no delphi, se eu coloco o valor em label, ele escreve o valor tudo blz, eu quero converter este valor para inteiro ou float,

para que possa comparar no proprio delphi, se a temperatura for maior que 30 escreva no programa delphi “o tempo esta quente”, porem daerro.

procedure TForm1.ComPort1RxChar(Sender: TObject; Count: Integer);

var

buffer: AnsiString;contador: integer;

valor: real;

temperatura:String;

begin

Sleep(500);

comport1.Connected:=true;

contador:=comport1.InputCount;comport1.ReadStr(buffer,contador);

label3.Caption:=ansistring(buffer);

valor:=strtofloat(buffer);

// abaixo da conversao farei as validaçoes

desde já agradeço a ajuda !

Hemicharly Thiagosays:

Page 5: Como Controlar Arduino via Delphi _ Marcelo Cuin

27/11/13 Como controlar Arduino via Delphi | Marcelo Cuin

www.cuin.com.br/2013/05/como-controlar-arduino-via-delphi/ 5/9

15 de setembro de 2013 at 14:03

Responder

Olá, Camilo.

Tenta fazer o seguinte:

Você me disse que consegue mostrar os dados na Label3.Pelo que entendi você quer armazenar os dados recebido na variável “valor”

certo. Você está utilizando o seguinte código:

label3.Caption:= ansistring(buffer); // Para mostrar os dados no Label3

valor:= strtofloat(buffer); // Para armazenar os dados na variável “valor” “Creio que o erro encontra-se aqui nesta linha de código.”

Faça o seguinte ao invés de fazer com que a variável “valor” receba (buffer), faça com que ela receba o dados do label3, pois nele já

encontra-se

os dados que você precisa.

Então corrigindo o código que estava assim:

label3.Caption:= ansistring(buffer);

valor:= strtofloat(buffer);

Você muda o código para:

label3.Caption:= ansistring(buffer);

valor:= strtofloat(label3);

Caso não de certo, coloque os dados de (buffer) em um edit e faça com que a variável “valor” receba os dados do edit.

Caso conseguiu solucionar o erro me avisa os resultados, espero que tenha ajudado qualquer dúvida entre em contato.

Abraços.

6. lucas Henriquesays:

17 de setembro de 2013 at 11:50

Responder

Primeiramente Muito obrigado Marcelo pela grande ajuda em relação a edição de aplicativos em delphi, Prezado estou tendo a mesmadificuldade do Tomé em relação ao erro:

Unit1 in ‘Unit1.pas’ {F_COMUNICACAO};

O erro que aparece é esse:

[Fatal Error] teste.dpr(5): File not found: ‘Cport.dcu’

qual é o procedimento para resolução

desde já agradeço

att

Hemicharly Thiagosays:

20 de setembro de 2013 at 11:21

Responder

Olá Lucas, tudo que indica que o componente não esta instalado corretamente, tenta desinstalar e instalar novamente, não esqueça de

setar o diretório aonde esta a pasta do componente.

7. Elinelson Colaressays:

18 de setembro de 2013 at 14:40

Responder

Estou gostando muito destas informações, afinal pretendo utilizar RFID com o Arduino para leitura de tags. Meu caro amigo, dentro daspossibilidades, gostaria da sua ajuda para leitura dos códigos com tags ou etiquetas utilizando o Arduino e RFID, é possível?

Hemicharly Thiagosays:

20 de setembro de 2013 at 11:14Responder

Olá Elinelson, no momento não poderei te ajudar com nenhuma informação, pois nunca utilizei RFID, mas posso estar pesquisando se eu

encontrar alguma informação, posso estar lhe enviando. Abraços!!!

8. Klederson Lucas Monteiro da Luzsays:

18 de setembro de 2013 at 17:03

Responder

Page 6: Como Controlar Arduino via Delphi _ Marcelo Cuin

27/11/13 Como controlar Arduino via Delphi | Marcelo Cuin

www.cuin.com.br/2013/05/como-controlar-arduino-via-delphi/ 6/9

Estou tentando fazer o arduino conversar com meu software, porem alguns dos comando passados no tutorial não funcionam no componente do

delphi XE4.

Por exemplo o comando “comport1.readsrt” não existe, tem como me dar uma mão pra usar o componente do delphi xe4??

Hemicharly Thiagosays:

20 de setembro de 2013 at 11:11

Responder

Olá Klederson, o aplicativo que desenvolvi foi em delphi 7, nunca utilizei em outras versões do delphi, vou estar verificando o que

acontece, mas posso ir adiantando que muitos componentes utilizados em versões inferiores não rodam 100% em versões superiores do

delphi, no caso teria que estar pesquisando componentes compatível com a versão de seu delphi.

9. Eduardo Costasays:

23 de setembro de 2013 at 22:05

Responder

Ola! como faço para controlar a posiçao de um servo via Delphi ? Ja instalei o componente e testei a comunicação …

Hemicharly Thiagosays:

24 de setembro de 2013 at 11:03

Responder

Bom, se você já instalou os componentes tudo certo testou a comunicação, a comunicação do servo com delphi é mesma coisa da

comunicação com compilador do arduino, se você consegue fazer ele funcionar, tipo no compilador você programa se 1 para esquerda 2

para direita, você envia estes comando para o delphi.

10. Stephaniesays:

26 de setembro de 2013 at 1:44

Responder

Boa Noite, gostei muito do post, fiz de primeira e deu tudo certo, porém depois que fechei o delhpi, a aba “CPortLib” não aparece mais, eudesisntalei e reinstalei o delphi, instalei os componentes novamente, mas não há mais santo que faça a aba aparecer novamente, e eu testei com

o seu teste.exe para ver se funcionava, e não importa qual “comando eu digite”, sempre aparece que o comando foi digitado errado, sabe me

dizer o pq nao estou mais conseguindo adicionar a porta para comunicação??

Obrigada.

Hemicharly Thiagosays:

26 de setembro de 2013 at 10:18

Responder

Bom dia Stephanie, respondendo sua pergunta, sobre os comandos digitados não estarem sendo reconhecido, você deve compilar o

código para o arduino, pois foi programado para ser reconhecido no delphi os comando “A” e “B” caso é digitado outro comando,

aparecerá que não foi digitado comando correto. Respondendo a parte que a aba CPortLib não aparece mais, você indicou o diretório

certinho? Quando desinstalar o componente para instalar novamente não esqueça de apagar os arquivos que contem nomes CPortLib

que estão no diretório C:\Program Files\Borland\Delphi7\Projects\Bpl.

Espero ter ajudado, qualquer dúvida e sucesso obtido entre em contato em me diga os resultados obtidos.

Abraços!

11. Stephaniesays:

26 de setembro de 2013 at 13:56

Responder

Olá Thiago,

Percebi o erro q estava fazendo, tava com sono já e a cabeça começa a não pensar direito, ao invés de estar instalando o DsgnCPort7, estavainstalando o CPortLib7, por isso a cport nao tava aparecendo, agora apareceu novamente, obrigada

Stephaniesays:

26 de setembro de 2013 at 14:00

Responder

Só uma pergunta, há algum modo do programa identificar automaticamente a porta em que o arduino foi conectado??

Hemicharly Thiagosays:

27 de setembro de 2013 at 11:06

Responder

Olá Stephanie, tem como sim identificar a porta automaticamente, basta colocar o seguinte comando “Edit1.Text :=

Page 7: Como Controlar Arduino via Delphi _ Marcelo Cuin

27/11/13 Como controlar Arduino via Delphi | Marcelo Cuin

www.cuin.com.br/2013/05/como-controlar-arduino-via-delphi/ 7/9

ComPort1.Port; ” junto ao botão conectar, então ele te retornará a porta que o arduino está conectado. E para conectar o arduino

automaticamente, basta colocar o comando que está no botão conectar na inicialização do programa, pois quando você configura

pela primeira vez o programa na opção configuração e logo conecta o arduino ele fica pré – configurado, então sempre que iniciaro programa se o arduino estiver conectado na entrada USB ele será iniciado automaticamente, caso ele não esteja conectado você

pode colocar uma mensagem dizendo que o arduino não esta conectado na USB.

Espero que tenha ajudo.

Abraços!!!

12. FELIPE VINHASsays:

21 de novembro de 2013 at 16:22

Responder

Ola

Tas dando uma grande força ao pessoal que esta precisando estes tutoriais

Fiz o teu passo a passo e me deu um erro sobre os parametros usar com a variavel

Lembrando passei teu codigo para o Delphi Xe3

Buffer : ansistring;

Erro: Types of actual and formal var parametres must be identical.

Entendi que o erro diz que não está identico ao parametro utilizado.

Mas não achei onde estou errando..

Espero.

Grande Abraço

Hemicharly Thiagosays:21 de novembro de 2013 at 19:01

Responder

Ola Felipe, tenta fazer o seguinte substitui a variável,

Buffer : ansistring; por Buffer : String;Pois ja utilizei está definição de variável e funcionou.

Qualquer duvidas e resultados obtidos me avisa.

Abraços!

Deixe uma resposta

O seu endereço de email não será publicado Campos obrigatórios são marcados *

Nome *

Email *

Site

Comentário

Você pode usar estas tags e atributos de HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote

cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Publicar comentário

Pesquisar por: Pesquisar

Tópicos recentes

Estacionamento inteligente com Arduino

Arduino, Python e Iptables

Detector de Campo Eletromagnético com Arduino

Sistema Anti Chamas Arduino + Shield GSM/GPRS + Flame Detection (sensor de chamas)

Ativando uma lâmpada por três saídas independentes

DevTronic

Page 8: Como Controlar Arduino via Delphi _ Marcelo Cuin

27/11/13 Como controlar Arduino via Delphi | Marcelo Cuin

www.cuin.com.br/2013/05/como-controlar-arduino-via-delphi/ 8/9

ArduinoSP

Participe do grupo ArduinoSP

E-mail: Inscrever

Visitar este grupo

Publicidade

Arquivos

novembro 2013

outubro 2013

setembro 2013

agosto 2013

junho 2013

maio 2013

fevereiro 2013

janeiro 2013

dezembro 2012

outubro 2012

agosto 2012

julho 2012

Categorias

Android

Arduino

ArduinoSP

Controle Remoto

Delphi

Dicas

Facebook

Grupo

Iptables

Page 9: Como Controlar Arduino via Delphi _ Marcelo Cuin

27/11/13 Como controlar Arduino via Delphi | Marcelo Cuin

www.cuin.com.br/2013/05/como-controlar-arduino-via-delphi/ 9/9

Linguagem C

Motor

Novidade

Optoacopladores

PCB

PCI

Ponte H

Python

Raspberry PI

Relê

RF

Sem categoria

Sensores

Serial

Temperatura

Tutorial

Tags

4n25 AC Alone Arduino atmega circuito Circuito Impresso controle remoto Delphi Economia Energia estado Hardware impresso infravermelho interruptor Java

laminadora led Leonardo Linux LM35 lâmpada Massimo Banzi moc3021 monitoramento Open pcb pci placa Projeto relay relê Sensor servo solid sólido temperatura

Tensão transferência triac Tutorial térmica Voltage Voltagem

Twitter

© 2013 Marcelo Cuin

Powered by WordPress and the Designfolio Theme.