Ola, eu estou fazendo um projeto onde preciso controlar um ar condicionado da komeco via bluetooth, os códigos em RAW são muito grandes e não cabem no arduíno...

Por isso, estou declarando esse RAW no delphi para enviar o codigo RAW do delphi para o arduino, consigo mandar eles em string para o arduino, mas não sei como fazer para transformar esse valor em unsigned int, pois preciso enviar...

unsigned int sinalraw[] ={6300,7620,520,620,560,580,540,580,560,520,600,580,480,620,580,520,600,560,580,540,600,560,560,540,600,560,520,580,580,580,540,580,560,540,580,600,520,580,580,580,540,580,560,520,600,580,520,560,600,560,540,620,560,580,520,600,560,520,600,560,480,640,580,560,540,580,560,560,600,560,560,540,600,560,560,560,580,520,600,560,540,560,580,600,480,1760,540,580,540,540,600,580,540,560,580,560,560,560,560,560,600,560,540,560,600,560,540,580,580,500,600,580,520,580,580,600,480,1740,560,560,560,540,600,1660,560,1660,560,540,600,560,540,580,600,560,560,560,580,520,600,560,480,620,600,560,540,580,560,600,560,560,560,540,600,560,540,1680,560,1620,600,580,540,580,560,1680,580,520,600,1620,600,580,540,560,580,1660,540,560,580,1660,580,1680,560,540,600,560,480,1740,560,560,560,540,600,560,480,640,580,7580,580};

No delphi esta assim...

procedure TForm3.Button3Click(Sender: TObject);


var
texto : string;
i:integer;


begin

texto := '6180,7680,540,580,540,600,540,560,540,600,560,560,540,580,560,580,' +
'540,580,540,580,600,580,540,580,560,560,500,620,560,540,600,560,540,' +
'600,580,600,560,560,560,580,480,620,580,560,560,560,540,580,560,580,' +
'540,600,580,560,560,560,560,540,600,560,480,640,580,560,540,580,540,580,' +
'580,580,520,600,560,580,540,580,560,520,600,560,500,620,580,600,480,640,' +
'560,580,540,560,560,540,600,560,560,560,580,520,600,600,560,520,600,560,' +
'480,640,580,560,560,560,560,540,580,580,480,660,560,1680,560,580,540,1660,' +
'560,1680,560,1660,560,1660,560,560,580,600,540,560,580,520,600,560,500,620,' +
'580,560,540,580,560,560,560,1700,560,580,540,580,560,1660,540,580,580,' +
'560,540,580,560,1660,500,1760,540,580,560,1680,540,580,560,560,560,1620,' +
'600,580,560,1660,540,620,560,580,540,560,560,1680,480,640,560,1660,560,' +
'580,540,1680,560,7600,' +
'560';

if (FSocket<> nil) and (FSocket.Connected) then
begin
for I := 1 to length(texto) do
begin

FSocket.SendData(TEncoding.UTF8.GetBytes(char((texto[i]))));
sleep(5);

end;
end;
end;

COLOQUEI O ARQUIVO DO ARDUINO EM BAIXO

Exibições: 425

Anexos

Responder esta

Respostas a este tópico

o codigo que usei para pegar o raw

Anexos

Boa noite GSR,

anexo o sketck de captura de IR  e a biblioteca que precisa ser instalada para usa-lo.

Lembre-se de mudar o port para o qual o seu sensor de ir está conectado. Eu usei o Port D11

Rui

Anexos

imagem do receptor/emisor

Anexos

Consegui resolver o problema de uma outra forma, mas vlw a ajuda RV.

Boa tarde GSR.

Sugiro à você descrever aqui a outra forma pela qual resolveu o problema.

Esta forma pode servir à algum outro amigo aqui que tenha a mesma dificuldade.

Afinal aqui é um espaço de pedir ajuda e ajudar, aprender e ensinar.

Rui

Abaixo o sketch que usei no arduino, ali eu recebo os valores de 1 a 1 do delphi, transformo eles em unsigned int, e os armazeno em variáveis, qualquer duvida sobre como eu fiz, só perguntar...

Anexos

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço