Отговори на тема  [ 40 мнения ]  Отиди на страница 1, 2, 3  Следваща
Проблем с Ардуино Мега 2560 R3 
Автор Съобщение
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Чет Апр 16, 2009 12:26 am
Мнения: 2642
Местоположение: София
Мнение Проблем с Ардуино Мега 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 | Прегледано 2749 пъти ]
Сря Сеп 15, 2021 2:27 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Чет Апр 16, 2009 12:26 am
Мнения: 2642
Местоположение: София
Мнение 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 | Прегледано 2748 пъти ]
Сря Сеп 15, 2021 3:22 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Пет Юни 03, 2005 8:39 pm
Мнения: 1971
Мнение Re: Проблем с Ардуино Мега 2560 R3
Изводите за часовника(sda, scl) къде са конфигурирани?

_________________
Определянето стойността на дадена величина се нарича ИЗМЕРВАНЕ!


Сря Сеп 15, 2021 7:13 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Чет Фев 03, 2005 1:21 am
Мнения: 10615
Местоположение: София
Мнение Re: Проблем с Ардуино Мега 2560 R3
Идеята да записваш данни във файл на писи и да не използваш неговия RTC е доволно странна.
А ако му подкараш и NTP, винаги ще имаш верен часовник.


Сря Сеп 15, 2021 9:19 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Чет Апр 16, 2009 12:26 am
Мнения: 2642
Местоположение: София
Мнение Re: Проблем с Ардуино Мега 2560 R3
syscop написа:
Изводите за часовника(sda, scl) къде са конфигурирани?

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


Сря Сеп 15, 2021 5:11 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Пет Юни 03, 2005 8:39 pm
Мнения: 1971
Мнение Re: Проблем с Ардуино Мега 2560 R3
https://www.microchip.com/en-us/product/ATmega2560

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

_________________
Определянето стойността на дадена величина се нарича ИЗМЕРВАНЕ!


Сря Сеп 15, 2021 5:13 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Чет Апр 16, 2009 12:26 am
Мнения: 2642
Местоположение: София
Мнение Re: Проблем с Ардуино Мега 2560 R3
Значи мега2560 е по-раличен от 328 което е в наното така ли.
Въй 440 страници къде да чета, ще се омотам ако го прочета всичко.


Сря Сеп 15, 2021 5:23 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пон Юни 05, 2006 12:48 pm
Мнения: 4406
Местоположение: където небето среща земята, ракията е Jameson, а бирата Guinness
Мнение Re: Проблем с Ардуино Мега 2560 R3
pipilica написа:
Значи мега2560 е по-раличен от 328 което е в наното така ли.
Въй 440 страници къде да чета, ще се омотам ако го прочета всичко.

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

_________________
... ако трети ден не ти се работи... това означава, че е сряда !


Сря Сеп 15, 2021 5:31 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Чет Апр 16, 2009 12:26 am
Мнения: 2642
Местоположение: София
Мнение 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 | Прегледано 2641 пъти ]
Чет Сеп 16, 2021 1:00 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Чет Апр 16, 2009 12:26 am
Мнения: 2642
Местоположение: София
Мнение Re: Проблем с Ардуино Мега 2560 R3
Значи проблема с SDA и SCL май го оправих или го заметох под килима не знам но вече час работи коректно.
Та четох за проблема и намерих подобен проблем, човеко турил по 10к на маса и тръгнало, и при мен тръгна, ся що така не знам уж трябва да са 4.7к към 5 волта но така не търгна при мен.


Чет Сеп 16, 2021 2:34 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Чет Фев 03, 2005 1:21 am
Мнения: 10615
Местоположение: София
Мнение Re: Проблем с Ардуино Мега 2560 R3
Отделяш между $6 и $8 и купуваш от ибей китайска имитация на PC логически анализатор. Така поне малко ще отвориш едното око, за да можеш да наблюдаваш какво става по бъса.
Че съвсем на сляпо не е работа...

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


Чет Сеп 16, 2021 10:13 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Яну 24, 2006 5:34 pm
Мнения: 1698
Местоположение: Варна
Мнение Re: Проблем с Ардуино Мега 2560 R3
Такива 'блуждаещи' нива , със скоп по ще ги скива май...

_________________
За пари сичко праим,даже и работим...


Чет Сеп 16, 2021 3:39 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Чет Апр 16, 2009 12:26 am
Мнения: 2642
Местоположение: София
Мнение Re: Проблем с Ардуино Мега 2560 R3
mitko_el написа:
Такива 'блуждаещи' нива , със скоп по ще ги скива май...

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


Чет Сеп 16, 2021 8:10 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Пет Юни 03, 2005 8:39 pm
Мнения: 1971
Мнение Re: Проблем с Ардуино Мега 2560 R3
В царството на слепите едноокият е цар :)

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

_________________
Определянето стойността на дадена величина се нарича ИЗМЕРВАНЕ!


Чет Сеп 16, 2021 9:00 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Чет Апр 16, 2009 12:26 am
Мнения: 2642
Местоположение: София
Мнение Re: Проблем с Ардуино Мега 2560 R3
Въй, много ме е срам, оправих аналоговия вход, кода си работи чудесно.
Ужассс свързал съм обратно захранването на МСР-то и то сдало багажа, на наното работи щото там има друго МСР свързано правилно и за това си работи.
Леле отдавна не ми се беше случвало да свържа нещо наопаки.

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

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

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


Прикачени файлове:
sda scl.JPG
sda scl.JPG [ 89.28 KiB | Прегледано 2502 пъти ]
Пет Сеп 17, 2021 12:50 am
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 40 мнения ]  Отиди на страница 1, 2, 3  Следваща

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 6 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни