Проблема между ультразвуковым датчиком и сетевым экраном Arduino

У меня есть проект, который соединяет ультразвуковые датчики с Arduino Uno, а код Arduino берет показания с датчиков и отправляет их на удаленный сервер через Ethernet-щит,

Теперь проблема, с которой я сталкиваюсь, заключается в том, что мне нужно использовать 6 ультразвуковых датчиков, но когда Arduino принимает показания от более чем 4 датчиков, Arduino не работает должным образом, но если я сделал показание двух датчиков покоя с выводов, один из предыдущих датчиков работает нормально, или даже если я назначу значение по умолчанию для этих двух датчиков, он работает нормально,

Проблема, с которой я сталкиваюсь, связана со следующими выводами:
10, 11, 12, 13
Что щит Ethernet использует их, но как я могу преодолеть эту проблему и запустить все шесть датчиков?

Вы можете найти часть кода ниже:

#include <Ethernet.h>
#include <SPI.h>
#define ECHOPIN1A1 3        // Pin to receive echo pulse
#define TRIGPIN1A1 2        // Pin to send trigger pulse
#define ECHOPIN1A2 5        // Pin to receive echo pulse
#define TRIGPIN1A2 4        // Pin to send trigger pulse
#define ECHOPIN1A3 7        // Pin to receive echo pulse
#define TRIGPIN1A3 6        // Pin to send trigger pulse
#define ECHOPIN1B1 9        // Pin to receive echo pulse
#define TRIGPIN1B1 8        // Pin to send trigger pulse
#define ECHOPIN1B2 5        // Pin to receive echo pulse
#define TRIGPIN1B2 4        // Pin to send trigger pulse
#define ECHOPIN1B3 3        // Pin to receive echo pulse
#define TRIGPIN1B3 2        // Pin to send trigger pulse

1

Решение

Вы можете использовать плату с большим количеством выводов GPIO, например, Arduino MEGA. Или вы можете соединить вместе триггерные контакты и использовать только один Arduino-штырь, чтобы управлять ими всеми.

Редактировать:
Обязательно прочитайте комментарий Тансира ниже и поэкспериментируйте, чтобы увидеть, что работает, а что нет. Учитывая количество доступных контактов, вам нужно будет активировать 3 ультразвуковых датчика на один контакт (2 контакта для запуска + 6 контактов для считывания эха).

Есть и другое решение: вы можете использовать мультиплексоры / демультиплексоры для управления до 8 датчиков с 5 контактами (2 контакта данных и 3 адреса). Однако это усложнит аппаратное обеспечение.

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector