Do Arduina Mega 2560 nejde nahrát program

Odpovědět
Batata
Příspěvky: 38
Registrován: 05 kvě 2020, 08:14
Reputation: 0
Kontaktovat uživatele:

Do Arduina Mega 2560 nejde nahrát program

Příspěvek od Batata » 17 lis 2021, 07:46

Zdravím,
mám Arduino mega originál 2560, a nejde mi do něj nahrát program.
Mám tento kód:

Kód: Vybrat vše

// Grafický LCD display 128x64
// řadič ST7920

// připojení knihovny U8glib
#include "U8glib.h"

// nastavení propojovacích pinů
#define EN 13
#define RW 12
#define RS 11

// inicializace OLED displeje z knihovny U8glib
U8GLIB_ST7920_128X64_1X lcd(EN, RW, RS);

// proměnná pro uchování času poslední obnovy displeje
long int prepis = 0;

void setup(void) {
  // nastavení bílé barvy pro výpis
  if ( lcd.getMode() == U8G_MODE_R3G3B2 ) {
    lcd.setColorIndex(255);
  }
  // nastavení maximální intenzity svitu
  else if ( lcd.getMode() == U8G_MODE_GRAY2BIT ) {
    lcd.setColorIndex(3);
  }
  // nastavení viditelnosti pixelů
  else if ( lcd.getMode() == U8G_MODE_BW ) {
    lcd.setColorIndex(1);
  }
  // pro otočení displeje o 180 stupňů
  // stačí odkomentovat řádek níže
  // lcd.setRot180();
}

void loop(void) {
  // porovnání uloženého a aktuálního času,
  // při rozdílu větším než 100 ms se provede
  // obnovení displeje, čas můžeme nastavit dle potřeby
  if (millis()-prepis > 100) {
    // následující skupina příkazů
    // obnoví obsah OLED displeje
    lcd.firstPage();
    do {
      // funkce vykresli vykreslí žádanou obsah
      vykresli();
    } while( lcd.nextPage() );
    // uložení posledního času obnovení
    prepis = millis();
  }
  
  // zde je místo pro další příkazy pro Arduino
  
  // volitelná pauza 10 ms pro demonstraci
  // vykonání dalších příkazů
  delay(10);
}
// funkce vykresli pro nastavení výpisu informací na OLED
void vykresli(void) {
  // nastavení písma, toto písmo umožní vypsat
  // přibližně 15x4 znaků
  lcd.setFont(u8g_font_unifont);
  // nastavení pozice výpisu v pixelech
  // souřadnice jsou ve tvaru x, y
  // souřadnice 0, 0 je v levém horní rohu
  // OLED displeje, maximum je 128, 64
  lcd.setPrintPos(0, 10);
  // výpis textu na zadanou souřadnici
  lcd.print("Arduino navody");
  lcd.setPrintPos(0, 25);
  lcd.print("dratek.cz");
  lcd.setPrintPos(0, 40);
  lcd.print("Cas od zapnuti:");
  lcd.setPrintPos(40, 55);
  lcd.print(millis()/1000);
  lcd.print(" vterin");
}
Jde o vzorový příklad ze stránky dratek.cz, k LCD 128x64.
Pokud zkusím nahrát program, tak mi to zkompiluje, ale při nahrávání to vypíše toto:

avrdude: Version 6.3-20190619
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2014 Joerg Wunsch

System wide configuration file is "C:\Users\*******\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17/etc/avrdude.conf"

Using Port : COM51
Using Programmer : wiring
Overriding Baud Rate : 115200
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_getsync(): timeout communicating with programmer

avrdude done. Thank you.

Nastala chyba při nahrávaní projektu.
Nevím si rady, co s tím, zkusil jsem přeinstalovat ovladač, restartovat Windows, a podobně.

AstroMiK
Příspěvky: 592
Registrován: 08 pro 2017, 19:05
Reputation: 0

Re: Do Arduina Mega 2560 nejde nahrát program

Příspěvek od AstroMiK » 17 lis 2021, 08:58

Takhle ti asi nikdo neodpoví.
Málo informací.

Zkus doplnit odpovědi na následující otázky:

1) Už tam někdy něco nahrát šlo, nebo je to úplně první použití Arduina MEGA?

2) Nahráváš přes USB, nebo přes 6-pinový ISP konektor?

3) Máš správně zvolený typ procesoru v menu?

4) Zkoušel jsi nahrát program do samotného Arduina, nebo k němu máš už připojené periférie (displej ...)?

5) Zkusil jsi mačkat RESET v okamžiku startu nahrávání?



Tady je pár nápadů, jak řešit podobné problémy:
https://bastlirna.hwkitchen.cz/reseni-p ... a-arduino/

Uživatelský avatar
kiRRow
Příspěvky: 1151
Registrován: 07 kvě 2019, 07:03
Reputation: 0
Bydliště: Opava

Re: Do Arduina Mega 2560 nejde nahrát program

Příspěvek od kiRRow » 17 lis 2021, 09:17

Mě dost zaráží ti vysoké číslo COM portu. Už jsem zažil, že některé programy blbnuli, nebo neuměli používat COM s číslem vyšším než 8.

Hanz
Příspěvky: 262
Registrován: 25 dub 2019, 23:52
Reputation: 0

Re: Do Arduina Mega 2560 nejde nahrát program

Příspěvek od Hanz » 17 lis 2021, 12:34

vyzkoušel jsem zkompilovat a nahrát program přes usb do samostatné megy bez lcd.
nahrál se mi bez problémů, printscreen nastavení zde :
Obrázek
Přílohy
test z AFora 2021-11-17 115025.png

Batata
Příspěvky: 38
Registrován: 05 kvě 2020, 08:14
Reputation: 0
Kontaktovat uživatele:

Re: Do Arduina Mega 2560 nejde nahrát program

Příspěvek od Batata » 17 lis 2021, 15:59

Toto Arduino Mega už mám asi pět měsíců, dosud fungovalo výborně. displej jsem odpojit zkoušel, zkoušel jsme nahrát program přes Arduino jako ISP, a to šlo. Myslel jsem si, že jde o poruchu USB převodníku ATMEGA16u2, ale Arduino se do PC hlásí jako Arduino Mega 2560. Ještě k tomu portu, to Arduino mělo vždy tak vysoké číslo.

Uživatelský avatar
Caster
Příspěvky: 380
Registrován: 11 zář 2019, 09:02
Reputation: 0

Re: Do Arduina Mega 2560 nejde nahrát program

Příspěvek od Caster » 18 lis 2021, 02:07

Nahraj IDE na PC kámoše a zkus to tam. Tak vysoké číslo COM portu je nesmysl a nějaká chyba či vir na tvém PC.

ondraN
Příspěvky: 932
Registrován: 08 srp 2019, 20:01
Reputation: 0

Re: Do Arduina Mega 2560 nejde nahrát program

Příspěvek od ondraN » 18 lis 2021, 10:16

Zkus do něj nahrát přes ISP nějaký kód, který něco vysílá na sériovém portu. Pak ho zapoj přes USB a na sériovém monitoru zkontroluj, jestli to posílá. Pokud ano, tak je USB čip v pořádku. Dále bych zkusil přes ISP nahrát bootloader.
To vysoké číslo USB je možná dané tím, že to je zapojené přes rozbočovač. Zkusil bych připojení na jiný USB port přímo.

Batata
Příspěvky: 38
Registrován: 05 kvě 2020, 08:14
Reputation: 0
Kontaktovat uživatele:

Re: Do Arduina Mega 2560 nejde nahrát program

Příspěvek od Batata » 20 lis 2021, 05:29

Děkuji za radu. Arduino na sériovou linku normálně vypisuje to, co má. Nahrát program do něj ale ani tak nejde, což zase tak moc nevadí, pokud se využije v nějakém projektu, tak se do něj může jednoduše nahrát program přes Arduino as ISP a potom se to stejně nebude programovat.

Batata
Příspěvky: 38
Registrován: 05 kvě 2020, 08:14
Reputation: 0
Kontaktovat uživatele:

Re: Do Arduina Mega 2560 nejde nahrát program

Příspěvek od Batata » 20 lis 2021, 05:37

Ještě jednou DĚKUJI!!! Otestoval jsem sériovou linku, fungovala na obě strany. Potom jsme chvíli přemýšlel, jestli není chyba v tom čipu ATMEGA2560, a nakonec mě podle rady napadlo vypálit bootloader, a Arduino funguje zcela normálně, jako dřív.

Odpovědět

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 3 hosti