Jump to content

Вопрос мастерам или ардуино Шредингера.


Nikita kozlovtcev
 Share

Recommended Posts

Есть задача, опрашивать несколько ардуино по I2C с целью вывести полученное на дисплей.
Рабочий код прикладываю, подсоединял по мануалу пробовал подтягивать SCL и SDA резисторами на 1,5кОм.
Вопрос в следующем.
Почему то поле некоторого времени слейв перестает определятся.
Скан видит любую перефирию I2C кроме ардуинки

Код (C++):

Код мастера

#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x26,16,2);
#include <Wire.h>
char co = 0 ;

void setup() 
  {
 
  Wire.begin();        // join i2c bus (address optional for master)
  lcd.init();
  lcd.backlight();
  Serial.begin(9600);  
  }
 
void loop() 
  {
     
     Wire.requestFrom(0x10, 4,true);
     lcd.setCursor(0,0);
     while (Wire.available()) 
        { 
          co = Wire.read(); 
          Serial.print(co);         
          lcd.print(co);   
        }
        delay(200);
    
   
     Serial.print(" ");
     
     Wire.requestFrom(0x10, 7,true);    // request 6 bytes from slave device #8
     lcd.setCursor(4,0);
     while (Wire.available()) 
        { 
          co = Wire.read(); 
          Serial.print(co);         
          lcd.print(co);   
        }
   
  Serial.print("\n");
  delay(200);
  lcd.clear();
}



Код (C++):

Код слейва


01 #include <Wire.h>
02
03 byte stat = true;
04
05 char c[4] = {'N','O',' ',' '};
06 float x = 322.345;
07 void setup() {
08  Wire.begin(0x10);
09  pinMode(13, OUTPUT);
10  Serial.begin(9600);
11  Wire.onRequest(requestEvent);
12 }
13
14 void loop() {
15  digitalWrite(13, LOW);
16  delay(100);
17
18 }
19
20 void requestEvent() {
21  if (stat == true)
22  {
23
24  Wire.write(c,sizeof c);
25  stat = false;
26  }else
27  {
28  char outstr[7];
29  dtostrf(x,7, 3, outstr);
30  Wire.write(outstr,sizeof outstr);
31  stat = true;
32  }
33  digitalWrite(13, HIGH);
34
35
36
37
38 }

 

Link to comment
Share on other sites

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

Участвуйте в розыгрыше купонов 5000 ₽, 10000 ₽ и 15000 ₽! Выиграй купон и забирай на эту сумму любые электронные компоненты, радиодетали или любой другой товар из нашего каталога

Проигравших не будет, без подарков никто не останется! ТМ дарит всем участникам розыгрыша 5000 баллов на счёт весь декабрь скидка 10% по промокоду UHUHU23, а ещё 15% кэшбэк и бесплатная доставка! Ну... вздрогнем!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

Материалы вебинара «Литиевые аккумуляторы EVE Energy и решения для управления перезаряжаемыми источниками тока»

Опубликованы материалы вебинара Компэл, посвященного литиевым аккумуляторам EVE Energy и решениям для управления перезаряжаемыми источниками тока.

На вебинаре мы представили информацию не только по линейкам аккумуляторной продукции EVE, но и по решениям для управления ею, что поможет рассмотреть эти ХИТ в качестве дополнительной альтернативы для уже выпускающихся изделий. Также рассмотрели нюансы работы с производителем и сервисы, предоставляемые Компэл по данной продукции. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Комплексные решения с литиевыми батареями EVE для интеллектуальных систем безопасности

Литиевые химические источники тока EVE по своим характеристикам являются идеальным выбором для современных интеллектуальных систем безопасности. EVE разрабатывает литиевые батареи, опираясь на многолетние исследования таких областей применения, как беспроводная связь стандартов Bluetooth, LoRa, Wi-Fi, NB-IoT и ZigBee. Рассмотрим решения для систем безопасности с использованием батарей EVE. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Литиевые батарейки и аккумуляторы от мирового лидера  EVE в Компэл

Компания Компэл, официальный дистрибьютор EVE Energy, бренда №1 по производству химических источников тока (ХИТ) в мире, предлагает продукцию EVE как со склада, так и под заказ. Компания EVE широко известна в странах Европы, Америки и Юго-Восточной Азии уже более 20 лет. Недавно EVE была объявлена поставщиком новых аккумуляторных элементов круглого формата для электрических моделей «нового класса» компании BMW.

Продукция EVE предназначена для самого широкого спектра применений – от бытового до промышленного. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Только что, Nikita kozlovtcev сказал:

как AVR студия поможет?

Поможет разобраться с работой контроллера, в частности интерфейса TWI (I2C, но назван по другому). Вот как его запустишь, так и виснуть перестанет.

С какой целью выбран I2C?

Link to comment
Share on other sites

2 минуты назад, BARS_ сказал:

Поможет разобраться с работой контроллера, в частности интерфейса TWI (I2C, но назван по другому). Вот как его запустишь, так и виснуть перестанет.

Так то на асемблере запускал.

А на си не писал раньше, из за этого и проблемы.

Link to comment
Share on other sites

Только что, Nikita kozlovtcev сказал:

Так то на асемблере запускал

Так и напиши на асме, там же код короткий совсем. Почему именно I2C?

Link to comment
Share on other sites

  • 2 months later...

Первое что бросилось в слейве, зачем ты в скорости обмена данных прописал адрес слейва? Wire.begin(0x10); Адресс слейва можно считать кодом сканера, и его можно менять перемычкамит на плате слейва(если есть, смотря что за устройство). Данные в ардуинно иде через библиотеку Wire, отправлял через другие три функции, и к тому же ты насадил на I2C и дисплей и передаешь данные куда-то, возможно в этом конфликт, так как нужно смотреть что в библиотеке на 1602 прописано, там ведь тоже все время идет обмен данными, в таком случае дисплей на I2Cоставляй, а прием передачу данных делай по ЮАРту.

Link to comment
Share on other sites

Join the conversation

You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...