Você está na página 1de 9

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

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:

www.cuin.com.br/2013/05/como-controlar-arduino-via-delphi/ 1/9
27/11/13 Como controlar Arduino via Delphi | Marcelo Cuin

Servo Controller

PIC
Microcontrollers 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.
AVR Freaks

Stepper Motor
Controller

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. Trust Rating
Whilokii Ads

Not Yet Rated


Enviando Dados:
cuin.com.br
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 enviar
os 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:

www.cuin.com.br/2013/05/como-controlar-arduino-via-delphi/ 2/9
27/11/13 Como controlar Arduino via Delphi | Marcelo Cuin

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 e
recebimento de dados, agora é só usar criatividade e desenvolver diversos projetos.

Espero que tenha ajudado.


Abraços!

C urtir 3 Tw eetar Share

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:44
Responder

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:53
Responder

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:

www.cuin.com.br/2013/05/como-controlar-arduino-via-delphi/ 3/9
27/11/13 Como controlar Arduino via Delphi | Marcelo Cuin
[Fatal Error] teste.dpr(5): File not found: ‘Cport.dcu’

O que pode ser isso?

Hemicharly Thiagosays:
1 de agosto de 2013 at 13:29
Responder

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 o
qual 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 da
erro.

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:

www.cuin.com.br/2013/05/como-controlar-arduino-via-delphi/ 4/9
27/11/13 Como controlar Arduino via Delphi | Marcelo Cuin
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 mesma
dificuldade 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 das
possibilidades, 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:14
Responder

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

www.cuin.com.br/2013/05/como-controlar-arduino-via-delphi/ 5/9
27/11/13 Como controlar Arduino via Delphi | Marcelo Cuin
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, eu
desisntalei 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, estava
instalando 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 :=

www.cuin.com.br/2013/05/como-controlar-arduino-via-delphi/ 6/9
27/11/13 Como controlar Arduino via Delphi | Marcelo Cuin
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 iniciar
o 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
www.cuin.com.br/2013/05/como-controlar-arduino-via-delphi/ 7/9
27/11/13 Como controlar Arduino via Delphi | Marcelo Cuin

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

www.cuin.com.br/2013/05/como-controlar-arduino-via-delphi/ 8/9
27/11/13 Como controlar Arduino via Delphi | Marcelo Cuin
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.

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

Você também pode gostar