Микроконтролери и електроника
http://mcu-bg.com/mcu_site/

Проблем с Ардуино Мега 2560 R3
http://mcu-bg.com/mcu_site/viewtopic.php?f=7&t=18009
Страница 1 от 3

Автор:  pipilica [ Сря Сеп 15, 2021 3:27 am ]
Заглавие:  Проблем с Ардуино Мега 2560 R3

Взех си Мега 2560 уж истинско и RTC с DS3231 но мегата не го намира. Свързах го с Нано и всичко е точно настроих датата и часа и си ги показва на сериал монитор. Вързах го пак на мегата и сериал монитор казва че не може да намери RTC.
Ето и двата кода които ползвам, от нета са, на Нано работят сканера намира две I2C RTC-то и паметта, Мегата нищо не намира.
Код:
#include <Wire.h>


void setup()
{
  Wire.begin();

  Serial.begin(9600);
  while (!Serial);             // Leonardo: wait for serial monitor
  Serial.println("\nI2C Scanner");
}


void loop()
{
  byte error, address;
  int nDevices;

  Serial.println("Scanning...");

  nDevices = 0;
  for(address = 1; address < 127; address++ )
  {
    // The i2c_scanner uses the return value of
    // the Write.endTransmisstion to see if
    // a device did acknowledge to the address.
    Wire.beginTransmission(address);
    error = Wire.endTransmission();

    if (error == 0)
    {
      Serial.print("I2C device found at address 0x");
      if (address<16)
        Serial.print("0");
      Serial.print(address,HEX);
      Serial.println("  !");

      nDevices++;
    }
    else if (error==4)
    {
      Serial.print("Unknown error at address 0x");
      if (address<16)
        Serial.print("0");
      Serial.println(address,HEX);
    }   
  }
  if (nDevices == 0)
    Serial.println("No I2C devices found\n");
  else
    Serial.println("done\n");

  delay(5000);           // wait 5 seconds for next scan
}


Код:
#include <Wire.h>
#include "RTClib.h"

RTC_DS3231 rtc;

char daysOfTheWeek[7][12] = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"};

void setup ()
{
  Serial.begin(9600);
  delay(3000); // wait for console opening

  if (! rtc.begin()) {
    Serial.println("Couldn't find RTC");
    while (1);
  }

  if (rtc.lostPower()) {
    Serial.println("RTC lost power, lets set the time!");

  }
}

void loop ()
{
    DateTime now = rtc.now();
   
    Serial.println("Current Date & Time: ");
    Serial.print(now.year(), DEC);
    Serial.print('/');
    Serial.print(now.month(), DEC);
    Serial.print('/');
    Serial.print(now.day(), DEC);
    Serial.print(" (");
    Serial.print(daysOfTheWeek[now.dayOfTheWeek()]);
    Serial.print(") ");
    Serial.print(now.hour(), DEC);
    Serial.print(':');
    Serial.print(now.minute(), DEC);
    Serial.print(':');
    Serial.print(now.second(), DEC);
    Serial.println();
   
   
    delay(1000);
}

Сигурен съм че ползвам правилните пинове, няколко пъти се зверих с лупа по надписите.
Дали има няква разлика в настройките не знам, търсих в нета но нищо не намерих.

Прикачени файлове:
mega2560.JPG
mega2560.JPG [ 67.49 KiB | Прегледано 4745 пъти ]

Автор:  pipilica [ Сря Сеп 15, 2021 4:22 am ]
Заглавие:  Re: Проблем с Ардуино Мега 2560 R3

Знам че може и с едит но пускам нов пост щото и друг проблем открих.
Тоя код на Нано работи и покзва вярно но на Мегата показва глупости
Код:
#include <LiquidCrystal.h>

// Arduino pins used for LCD
LiquidCrystal lcd(2, 3, 4, 5, 6, 7);
int decimalPrecision = 1;


void setup() {
    analogReference(DEFAULT);
    lcd.begin(16, 2);
     Serial.begin(9600);
     
   
}

void loop() {
    float temperature = 0.0;   // stores the calculated temperature
   
 
   
       
        temperature = ((float)analogRead(A3) * 5.0 / 1024.0) - 0.4;
        temperature = temperature / 0.0195;
       
    float temperature1= 0.0;
    temperature1 = ((float)analogRead(A5) * 5.0 / 1024.0) - 0.4;
        temperature1 = temperature1 / 0.0195;
        delay(5000);
         Serial.print(temperature,decimalPrecision);                                                 /* display in Serial monitor the temperature in Celcius*/
            Serial.println(" T1 °C");
           
            Serial.print(temperature1,decimalPrecision);
            Serial.println(" T2 °C");
   
   
    // display the temperature on the LCD
    lcd.setCursor(0, 0);
    lcd.print("T1=");
    lcd.print(temperature,decimalPrecision);
    lcd.print((char)223);
    lcd.print("C");
    lcd.setCursor(10, 0);
    lcd.print("T3= ");
   
    lcd.setCursor(0, 1);
    lcd.print("T2=");
    lcd.print(temperature1,decimalPrecision);
    lcd.print((char)223);
    lcd.print("C");
    lcd.setCursor(10, 1);
    lcd.print("T4= ");
   }
   
   

Е тв показва на мегата, само на Т1 има MCP9701 на Т2 няма нищо

Прикачени файлове:
analog.JPG
analog.JPG [ 49 KiB | Прегледано 4744 пъти ]

Автор:  syscop [ Сря Сеп 15, 2021 8:13 am ]
Заглавие:  Re: Проблем с Ардуино Мега 2560 R3

Изводите за часовника(sda, scl) къде са конфигурирани?

Автор:  itso.t [ Сря Сеп 15, 2021 10:19 am ]
Заглавие:  Re: Проблем с Ардуино Мега 2560 R3

Идеята да записваш данни във файл на писи и да не използваш неговия RTC е доволно странна.
А ако му подкараш и NTP, винаги ще имаш верен часовник.

Автор:  pipilica [ Сря Сеп 15, 2021 6:11 pm ]
Заглавие:  Re: Проблем с Ардуино Мега 2560 R3

syscop написа:
Изводите за часовника(sda, scl) къде са конфигурирани?

Никъде не са, но доколкото четох никъде не намерех как се конфигурират SDA SCL, те са хардуерни пинове четох PDF-то на мега2560.
На Наното просто заредих кода и тръгна, на тва май ще трябва.
Добре а по втория проблем и там ли трябва да конфигурирам всеки аналогов вход че да работи коректно.
Некъв линк да прочета специално за мега2560 ще ми е полезен.

Автор:  syscop [ Сря Сеп 15, 2021 6:13 pm ]
Заглавие:  Re: Проблем с Ардуино Мега 2560 R3

https://www.microchip.com/en-us/product/ATmega2560

Всички пинове са "хардуерни". По подразбиране могат да бъдат i/o, adc и т.н. Може, ако си късметлия да са и iic (sda/scl) :)

Автор:  pipilica [ Сря Сеп 15, 2021 6:23 pm ]
Заглавие:  Re: Проблем с Ардуино Мега 2560 R3

Значи мега2560 е по-раличен от 328 което е в наното така ли.
Въй 440 страници къде да чета, ще се омотам ако го прочета всичко.

Автор:  MYXATA [ Сря Сеп 15, 2021 6:31 pm ]
Заглавие:  Re: Проблем с Ардуино Мега 2560 R3

pipilica написа:
Значи мега2560 е по-раличен от 328 което е в наното така ли.
Въй 440 страници къде да чета, ще се омотам ако го прочета всичко.

Ами то няколко пъти беше казвано: 2-е дена опити спестяват 10на минути четене на докиментация

Автор:  pipilica [ Чет Сеп 16, 2021 2:00 am ]
Заглавие:  Re: Проблем с Ардуино Мега 2560 R3

Ползвам тоя код, мисля че всичко е точно.
Код:
// Arduino pins used for LCD
LiquidCrystal lcd(2, 3, 4, 5, 6, 7);
int decimalPrecision = 1;
int sensorPin = A3;
int temperature = 0;


void setup() {
    analogReference(INTERNAL2V56);
    lcd.begin(16, 2);
     Serial.begin(9600);
     
   
}

void loop() {
   
   
 
   
        float temperature = 0;
        temperature = (analogRead(sensorPin) * 2.56 / 1024.0) - 0.4;
        temperature = temperature / 0.0195;
       
   
   
        delay(5000);
         Serial.print(temperature,decimalPrecision);                                                 /* display in Serial monitor the temperature in Celcius*/
            Serial.println(" T1 °C");

ноо получавам тия резултати.
Къде ми е грешката в случая, на наното работи чудесно.
Аз ли съм тъп или проца е крив нещо.

Прикачени файлове:
serial monitor.JPG
serial monitor.JPG [ 52.52 KiB | Прегледано 4637 пъти ]

Автор:  pipilica [ Чет Сеп 16, 2021 3:34 am ]
Заглавие:  Re: Проблем с Ардуино Мега 2560 R3

Значи проблема с SDA и SCL май го оправих или го заметох под килима не знам но вече час работи коректно.
Та четох за проблема и намерих подобен проблем, човеко турил по 10к на маса и тръгнало, и при мен тръгна, ся що така не знам уж трябва да са 4.7к към 5 волта но така не търгна при мен.

Автор:  itso.t [ Чет Сеп 16, 2021 11:13 am ]
Заглавие:  Re: Проблем с Ардуино Мега 2560 R3

Отделяш между $6 и $8 и купуваш от ибей китайска имитация на PC логически анализатор. Така поне малко ще отвориш едното око, за да можеш да наблюдаваш какво става по бъса.
Че съвсем на сляпо не е работа...

https://www.ebay.com/sch/i.html?_from=R ... r&_sacat=0

Автор:  mitko_el [ Чет Сеп 16, 2021 4:39 pm ]
Заглавие:  Re: Проблем с Ардуино Мега 2560 R3

Такива 'блуждаещи' нива , със скоп по ще ги скива май...

Автор:  pipilica [ Чет Сеп 16, 2021 9:10 pm ]
Заглавие:  Re: Проблем с Ардуино Мега 2560 R3

mitko_el написа:
Такива 'блуждаещи' нива , със скоп по ще ги скива май...

Това за кое точно се отнася. Имам скоп но е стар аналогов и предполагам нищо няма да види.
По-важно е да оправя аналоговите входове да работят коректно с МСР-то, то всъщност за това взех тая мега щото има много аналогови входове. Къде имам грешка в кода не мога да видя.

Автор:  syscop [ Чет Сеп 16, 2021 10:00 pm ]
Заглавие:  Re: Проблем с Ардуино Мега 2560 R3

В царството на слепите едноокият е цар :)

С какъв да е скоп ще видиш повече, отколкото без него. Сигналите, които ще гледаш едва ли са с честота повече от (200-300)kHz.

Автор:  pipilica [ Пет Сеп 17, 2021 1:50 am ]
Заглавие:  Re: Проблем с Ардуино Мега 2560 R3

Въй, много ме е срам, оправих аналоговия вход, кода си работи чудесно.
Ужассс свързал съм обратно захранването на МСР-то и то сдало багажа, на наното работи щото там има друго МСР свързано правилно и за това си работи.
Леле отдавна не ми се беше случвало да свържа нещо наопаки.

syscop написа:
В царството на слепите едноокият е цар :)

С какъв да е скоп ще видиш повече, отколкото без него. Сигналите, които ще гледаш едва ли са с честота повече от (200-300)kHz.

Това се отнася за SDA и SCL нали там трябва да гледам. Какво трябва да видя и как да знам дали е добре.
Дало сондата няма да прецака нещата, никога не съл гледал такива сигнали.
Защо работи с по 10к резистор на двата пина към маса, явно чипа има вграден и часовника има и двата резистора се явяват в паралел и се прецакват нещата, а с 10к на маса леко ги оправя и тръгва. Аз така си го обяснявам.
Нещо подобно ли трябва да видя, скопа е двуканален.

Прикачени файлове:
sda scl.JPG
sda scl.JPG [ 89.28 KiB | Прегледано 4498 пъти ]

Страница 1 от 3 Часовете са според зоната UTC + 2 часа [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/