Отправка информации (например, строки) через цифровые контакты
Я не хочу отправлять информацию с моих цифровых контактов Arduino на цифровые контакты другого Arduino, например строку или символ. Могу ли я сделать это без чего-то вроде Software Serial?
Причина, по которой я спрашиваю, заключается в том, что я хочу отправить информацию с нескольких последовательных устройств на мой Raspberry Pi с Arduino. Дело в том, что Raspberry Pi имеет только один набор контактов UART, поэтому я подумал, поскольку у меня есть дополнительные Arduino Uno, почему бы не отправить затем информацию на Arduino и заставить его записать полученную информацию на цифровые контакты Raspberry Pi.
Теперь, когда я пишу это, я думаю, что подключу два Arduino через последовательное соединение и использую последовательное программное обеспечение для записи на Raspberry Pi в три разных этапа, чтобы передать информацию на Pi.
р>Причина, по которой я использую PI, заключается в том, что я хочу отображать эту информацию на большом экране с множеством различных опций. Короче говоря, возможности графического процессора — это то, для чего я использую PI, а также обработку.
Однако вопрос остается открытым: можете ли вы отправлять информацию через цифровые контакты?
@Radmation, 👍1
Обсуждение3 ответа
Лучший ответ:
Да, вы можете отправлять информацию на/с ваших цифровых контактов Arduino, используя метод Bit Banging. Википедия (еще больше в Google!)
Вы можете использовать Arduino для вывода в качестве специального последовательного порта или параллельного порта. Последовательный порт может быть асинхронным (UART/RS232/I2C) или синхронным (например, SPI).
Обратной стороной является то, что вам придется написать немного больше программного обеспечения для отправки/интерпретации данных.
Из вашего описания я понимаю, что данные передаются только в одном направлении — от Arduino к Pi. Лично я бы выбрал SPI, так как считаю, что это будет проще всего и не потребует точного времени.
Спасибо за ответ. Я буду иметь это в виду! Я просто собираюсь использовать Arduino для нескольких последовательных соединений с использованием последовательного программного обеспечения ... так что я не думаю, что мне придется «немного хлопать», но, тем не менее, это полезно. Спасибо за ответ на вопрос!, @Radmation
@sa_leinad, Не знаю, почему вы идете таким путем, если хотите агрегировать все данные в RaspberryPi. Чтобы использовать SPI или I2C, вам придется внести изменения в ядро RaspberryPi Linux. Если вы используете RS232, вам придется запускать программы getty на RaspberryPi для каждого последовательного порта, который вам удастся настроить. Решение USB/FTDI, возможно, проще всего реализовать на RaspberryPi. И чип FTDI уже есть на большинстве Arduino Uno., @st2000
RaspberryPi — довольно полноценный компьютер с ОС Linux. Таким образом, он может быть USB-хостом для многих USB-устройств. Если вам нужно больше последовательных портов, просто купите кабели USB-последовательный порт с поддержкой FTDI, подключите их к USB-концентратору и подключите его к Raspberry Pi.
Спасибо за ответ. Если бы я не хотел покупать какие-либо дополнительные детали, могу ли я использовать Arduino в качестве нескольких последовательных соединений для PI?, @Radmation
Также могу ли я взять существующий USB-кабель и отрезать конец, чтобы получить это? Или здесь имеет место что-то другое?, @Radmation
На самом деле да. (Большинство) Arduino Uno содержат чип FTDI. Именно так Arduino общается с главным компьютером. Я думаю, что вам все равно понадобится (если у вас RasPi с большим количеством USB-портов) — это USB-концентратор для объединения всех USB-кабелей Uno., @st2000
Ваш второй вопрос: протокол USB очень сложен. Вполне вероятно, что вы никогда не будете перерезать USB-кабель, чтобы добраться до данных. Только чтобы добраться до 5 Вольт на внешних контактах., @st2000
Существует много разных способов общения.
В дополнение к последовательному протоколу вы можете использовать такой протокол, как SPI или I²C. Если Arduino находится в непосредственной близости, I²C позволяет многим устройствам обмениваться данными по общей шине.
- Два адруино подключены к малине по usb, но один переподключается во время выполнения кода обработки
- Метод перебора битов в байте, отправленном по последовательному каналу.
- серийные данные портятся
- Отправка mouseX и mouseY из обработки в Arduino
- Ошибка при загрузке скетча в Arduino UNO с помощью CLI
- Как отправить 2 данных на обработку с Arduino
- Serial висит на Arduino-Uno
- Много пропущенных байтов с последовательной связью
Если у вас есть RPi, зачем вам Arduino?, @Ignacio Vazquez-Abrams
@IgnacioVazquez-Abrams Мне нужен один Arduino для удаленного управления платформой и получения показаний от различных датчиков, подключенных к ней, которые будут передавать эти данные по беспроводной сети на Raspberry Pi, но для этого также потребуется несколько подключенных к нему последовательных устройств ... отсюда и моя проблема , несколько UART и хороший графический процессор., @Radmation