Две Arduino и RS485
- Войдите на сайт для отправки комментариев
Ср, 12/03/2014 - 12:12
Доброго дня всем.
Столкнулся с такой проблемой. Делаю проект для зачета. Есть Arduino Mega и Uno. На меге работает сервер с htm страничкой (Ethernet shield). К Uno подцеплен датчик DHT-11.(скетчи будут ниже) Пытаюсь связать обе платы ардуино по интерфейсу RS 485. Сделал вот по такой схеме.
В схеме две Uno, вместо первой- Mega. Конкретная задача считать данные с датчика и по запросу от меги отправить с уно на мегу.
Вот скетч для Uno и DHT-11 (рабочий)
#include <dht.h>
int ledPin = 13;
// Создаем сенсор
DHT sensor = DHT();
void setup()
{
Serial.begin(9600);
// Подключаем сенсор к 0 аналоговому порту
sensor.attach(A0);
// Ждем готовность сенсора
delay(1000);
}
void loop()
{
// Проводим измерения
sensor.update();
switch (sensor.getLastError())
{
case DHT_ERROR_OK:
char msg[128];
// Если ошибок нет, то собираем данные
sprintf(msg, "Vlaznost = %d%% Temp = %dC",
sensor.getHumidityInt(), sensor.getTemperatureInt());
Serial.println(msg);
break;
case DHT_ERROR_START_FAILED_1:
Serial.println("Error: start failed (stage 1)");
break;
case DHT_ERROR_START_FAILED_2:
Serial.println("Error: start failed (stage 2)");
break;
}
delay(1000);
}
Помогите, кто чем может, заранее благодарен)))
У max485 есть ещё пара ног, они соединены на вашей картинке.
Когда на них "0" - данные идут из линии в процессор и наоборот когда там "1".
Всегда держим "0"- сидим на приёме, а когда хотим что-то передать- на время паредачи поднимаем в "1".