Boa noite,

Estou com uma duvida e queria a opinião de vocês que ja tem mais experiencia.

Tenho um Arduino Uno e um Raspberry PI(Modelo antigo 256MB RAM).

No Arduino tenho um sensor de temperatura LM35 e um relé que aciona uma ventoinha 220V.

Preciso que o Arduino envie a temperatura para o Raspberry PI a cada 2seg e que o Raspberry PI consiga enviar um sinal para acionar o relé do Arduino.

Entre os 2 existe uma distancia de +/- 10 mts com curvas e cabos elétricos(rede normal, doméstica, sem muita corrente)

Minha duvida é, como fazer a comunicação entre o Arduino e o Raspberry?

Qual protocolo usar?

Pensei em usar I2C mas pelo que pesquisei com essa distancia acho que da muita interferência.

USB normal do Arduino também não da pela distancia

A ideia é registrar as temperaturas no raspberry e poder acionar o relé remotamente com um custo mais baixo ja que as plaquinhas Ethernet são muito caras.

O que vocês me dizem?

Exibições: 1705

Responder esta

Respostas a este tópico

Olá Gustavo,

Uma solução seria usar uma rede RS485, já que é uma rede que pode atingir até 1200m e usa cabo par trançado e sinais diferenciais, resultando em uma rede extremamente resistente a ruídos e interferências eletromagnéticas, não sendo atoa que é uma dos meiso físicos mais usados em redes industriais. O protocolo usado pode ser o modbus ou outro qualquer, até mesmo um que você desenvolva. O RS485 tem ainda a vantagem de ser multi ponto, podendo ser ampliado o número de arduinos ligados ao Raspberry.

Se optar por esta rede, dê uma olhada no kit RS485 na loja do Lab de garagem, o conversor USB/RS485 pode ser ligado ao raspberry e o shield RS485 ao arduino.

Boa sorte

Eu já testei com I2C para + ou - essa distância, eu consegui fazer funcionar bem, como o Gustavo colocou, você pode usar RS484 ou RS232, para o RS232 é só adicionar dois MAX232 em cada ponta.

Acrescentando - o limite de distancia de RS232 padrão (não com 5V TTL) é de 25 metros com cabo blindado.

Eu usaria a interface RS232 por ser mais simples e comum.

Se apresentar erros na comunicação, diminua a velocidade de transferência de dados.

Obrigado pelas respostas,

Bom saber que existe uma opção para grandes distancias(RS485), mas no meu caso vou usar o RS232 mesmo.

Achei esse tutorial de como fazer a ligação, só vou precisar de um conversor lógico por causa da diferença de tenção do arduino(5v) e do raspberry pi(3.3v)

http://blog.oscarliang.net/raspberry-pi-and-arduino-connected-seria...

Obrigado a todos.

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço