0 / 0 / 0
Регистрация: 30.09.2017
Сообщений: 51

Nano + nano по i2c

07.04.2018, 11:29. Показов 2606. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем добра!
Есть одна нано, и по сути к ней нужно было подключить два устройства по uart + карту памяти по spi.
После того, как я понял, что это сделать не получится, у меня возник вопрос.

Купить еще одну нано, и соединить их по i2c между собой.
Подключить к каждой нано по девайсу с uart.
Плюс к одной из них для логгинга будет подключен модуль для sd карт по spi.

А вопрос в следующем.
Будет ли это работать? реализуемо?
не будет ли мешать i2c(и spi) работе каждой нано по uart?

Между ардуинками хочу пересылать переменные (int,string,float).

Мега с 4мя uart портами это конечно хорошо, но уш больно большая она (+ценник).
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
07.04.2018, 11:29
Ответы с готовыми решениями:

Arduino Nano, I2C
Привет бойцы невидимого фронта. Проблема такова, у меня есть часы реального времени DS1307, и OLED I2C дисплей 0.91 (128x32) а так же...

Arduino Nano
Всем привет, прикупил себе китайскую ардуино нано и возникли проблемы с установкой драйверов, хотя годом ранее такой проблемы не было все...

Программирование Arduino nano
Через каждые 20 мс производить опрос кнопки с помощью таймера, и если кнопка нажата, то импульсы выключить, а если кнопка не нажатой...

15
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
07.04.2018, 13:49
Цитата Сообщение от GoodR Посмотреть сообщение
Есть одна нано, и по сути к ней нужно было подключить два устройства по uart + карту памяти по spi.
После того, как я понял, что это сделать не получится, у меня возник вопрос.
Ээ с чего вы взяли что не получится? ЧТо за UART устройства?

Можно ведь наверное использовать программый сериал.

Мега конечно лучше, тогда можно будет и к компу подрубать без переподключений.
0
0 / 0 / 0
Регистрация: 30.09.2017
Сообщений: 51
07.04.2018, 15:43  [ТС]
Цитата Сообщение от Avazart Посмотреть сообщение
ЧТо за UART устройства?
SIM800L и NEO6GPS
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
07.04.2018, 16:01
Какие проблемы повесить на SoftwareSerial их ?
0
0 / 0 / 0
Регистрация: 30.09.2017
Сообщений: 51
07.04.2018, 16:25  [ТС]
Цитата Сообщение от Avazart Посмотреть сообщение
на SoftwareSerial их ?
я подключил их SIM800l к D5 D6, GPS к D7 D8.
Оба через SoftwareSerial *
Пока открыт один сериал, все хорошо. Открываешь второй и всё.

Если реализовать в LOOP, что сначала открывается один софт сериал, опрашивается и закрывается.
После открывается второй, опрашивается, закрывается. Результат: по GPS половина данных не приходит.
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
07.04.2018, 19:03
Цитата Сообщение от GoodR Посмотреть сообщение
Пока открыт один сериал, все хорошо. Открываешь второй и всё.
Код свой покажите.
0
0 / 0 / 0
Регистрация: 30.09.2017
Сообщений: 51
07.04.2018, 20:05  [ТС]
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <SoftwareSerial.h>
SoftwareSerial NEO(8, 7);
SoftwareSerial SIM800(6, 5);
 
void setup() 
{
  Serial.begin(9600);
  SIM800.begin(9600);  
  NEO.begin(9600);
}
 
void loop()
{
  while (NEO.available())
  {
    Serial.print(NEO.read);
  }
 
  if (SIM800.available())
  {
    Serial.print(SIM800.read);
  }
 
  if (Serial.available())
  {                
    SIM800.write(Serial.read());    
  }
}
пока он ждет данных от SIM800 и от Serial по NEO идут данные но он их не принимает, получается потеря
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
07.04.2018, 20:22
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
void loop()
{
  if(NEO.available()) // тут IF
  {
    Serial.print(NEO.read()); // скобки у read()
  }
 
  if (SIM800.available())
  {
    Serial.print(SIM800.read()); // скобки у read()
  }
 
  if (Serial.available())
  {                
    SIM800.write(Serial.read());    
  }
}
Добавлено через 3 минуты
А вообще лучше читать построчно с помощью readStringUntril("\n");
0
0 / 0 / 0
Регистрация: 30.09.2017
Сообщений: 51
07.04.2018, 20:31  [ТС]
Не будет работать)
С gps посимвольно выходят данные.
Опечатку со скобками я уже сам допустил когда печатал сюда.

Но попробую, спасибо
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
07.04.2018, 21:33
Цитата Сообщение от GoodR Посмотреть сообщение
С gps посимвольно выходят данные.
Ну gps посимвольно, а SIM построчно.
0
0 / 0 / 0
Регистрация: 30.09.2017
Сообщений: 51
08.04.2018, 18:26  [ТС]
как я собственно и говорил
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <SoftwareSerial.h>
SoftwareSerial NEO(8, 7);
SoftwareSerial SIM800(6, 5);
 
void setup() 
{
  Serial.begin(9600);
  //SIM800.begin(9600);  
  NEO.begin(9600);
}
 
void loop()
{
  if (NEO.available())
  {
    Serial.print(NEO.read());
  }
}
стоит открыть от коммента открытие парта у SIM800 - все встает колом.
Может все таки соединить две нано по i2c? =)
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
08.04.2018, 19:50
Лучший ответ Сообщение было отмечено GoodR как решение

Решение

Попробуйте не использовать два программных сериала, используйте только один второе устройство кидайте на аппаратный (без связи с компом)
1
0 / 0 / 0
Регистрация: 30.09.2017
Сообщений: 51
08.04.2018, 20:43  [ТС]
а перепрошить ардуинку как потом?
правильно понимаю что одно из устройств подключать к RX0 и TX1?
есть какой либо мануал под рукой? или пример работы с аппаратным?
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
08.04.2018, 21:34
Отключать модуль, прошивать, а после снова подключать устройство.
Да правильно поняли.
0
0 / 0 / 0
Регистрация: 30.09.2017
Сообщений: 51
09.04.2018, 14:35  [ТС]
спасибо, получилось при подключении к аппаратному uart
0
0 / 0 / 0
Регистрация: 21.04.2017
Сообщений: 1
17.02.2019, 02:02
Вы бы не могли выложить решение вашей задачи? Я так же пытаюсь реализовать нечто подобное, используя те же компоненты что и вы.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
17.02.2019, 02:02
Помогаю со студенческими работами здесь

Кардиодатчик + Arduino Nano
Проблема такая есть arduino nano и не то что бы кардиодатчик(его подобие своими руками) хочу проверить можно ли так. Из старой мышки(с...

Тестировщик на Arduino Nano
Доброго времени, нужен элементарный скетч на тестировщик, однако по алгоритму и уточнить ряд неясностей: 1) Замеряем тестируемое...

Arduino Nano, GPS
Создаю GPS трекэр но данные с gps не могу привести в корректный вид, не начинается расшифровка, help) Использую Arduino Nano (old...

Arduino Nano+ Bluetooth HC-05
Здравствуйте. Есть aрдуино нано и блютуз hc 05. Мало знаю по электронике, но приходится работать одному. Создаю устройство , типа браслета...

Компьютер не видит Arduino NANO
Компьютер перестал видеть Arduino. На ней горит только светодиод питания. В диспетчере устройств нет вообще ничего никаких новых...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Опции темы

Новые блоги и статьи
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru