Arduino Mega с двумя Arduino Uno в качестве ведомых устройств по I2C?
Доброе утро! Это мой первый пост здесь, и я впервые погружаюсь в мир микроконтроллеров. Потерпите, пока я описываю этот теоретический проект.
У меня есть Arduino Mega 2560, две Arduino Uno, один акселерометр, два Wii Nunchucks (с адаптерами Nunchucky) и два 3-осевых джойстика. Мне интересно, как подключить/запрограммировать два Uno к Mega в качестве подчиненных устройств; к обоим будет подключен один нунчак и джойстик для управления набором сервоприводов/актуаторов, всего два набора сервоприводов/актуаторов. Акселерометр будет подключен напрямую к Mega и будет управлять третьим набором сервоприводов/актуаторов с помощью отслеживания положения головы (акселерометр, прикрепленный к гарнитуре).
Я читал все подряд, и первое, что мне нужно узнать, это как установить I2C между Mega и двумя Uno. Я нашел несколько схем, но не был уверен, что это лучший способ для моего приложения. После того, как I2C будет установлен, мне интересно узнать, как заставить акселерометры и потенциометры джойстика наиболее эффективно управлять сервоприводами и исполнительными механизмами. Мне также интересно, как программировать кнопки для воспроизведения предварительно запрограммированных последовательностей сервоприводов, но я забегаю вперед. Если кто-то интересуется этим проектом, он для большого аниматронного костюма. Любые советы приветствуются, и спасибо за чтение!
*редактировать: Я сделал набросок в Fritzing, чтобы дать вам представление о том, что я задумал. Не обращайте внимания на акселерометр слева — он появится позже, когда я займусь соленоидами.
1 ответ
Чипы Arduino или AVR не используют протокол I2C, но технически альтернативный TWI = это не полный протокол I2C. Пожалуйста, не используйте внешние подтягивающие резисторы с SDA и SCL на Arduino, если вы не отключили внутренние подтягивающие резисторы. В Arduino IDE есть библиотека I2C/TWI, активированная с внутренними подтягивающими резисторами при начале передачи, и внутренние подтягивающие резисторы составляют 10-50 кОм. В чипах AVR подтягивающие резисторы интегрированы. TWI не устанавливает его как 100% открытый сток. Поскольку есть защитные фиксирующие диоды на VCC и GND. Если Arduino является ведомым устройством и у него выключено питание, это будет поддерживать SDA и SCL на низком уровне через диоды.
- Бесполезная проводка коробки и код
- Почему loop() останавливается?
- Можно ли использовать цифровые контакты в качестве выхода ШИМ?
- Почему сервопривод вращается на 360 градусов?
- Как использовать фотодиод для arduino?
- Может ли Arduino UNO постоянно хранить код?
- Как сделать динамическое меню с подменю ( Arduino mega или Arduino Uno)
- Как повторить код