Náhrada SD card displeje MICROSD

pros
Příspěvky: 5
Registrován: 07 pro 2017, 21:45
Reputation: 0

Náhrada SD card displeje MICROSD

Příspěvek od pros » 07 pro 2017, 22:08

Ahoj, chtěl bych se zeptat šlo by nahradit SD kartu integrovanou v displeji https://www.aliexpress.com/item/Free-sh ... 0.0.94ihOU MICROSD modulem https://www.aliexpress.com/item/1pcs-lo ... 0.0.9JU0Ef
Bez velkého zásahu do programu. Mám postavené Iaqva a displej je dost daleko od Arduina Mega a někdy se stává že se nenačtou data z SD karty tak bych to chtěl vyřešit modulem přímo na desku MEGY.
Už jsem zkoušel vyřadit SD kart v displeje odehnutím pinů na desce Megy a na její piny zapojit MIcro SD, ale bez úspěchu. Možná jsem použil špatné piny nebo to neni možné.
Používám upravený program Iaqva.
Předem děkuji.

Uživatelský avatar
SkullKeep
Příspěvky: 290
Registrován: 23 srp 2017, 18:51
Reputation: 0
Bydliště: Brno
Kontaktovat uživatele:

Re: Náhrada SD card displeje MICROSD

Příspěvek od SkullKeep » 07 pro 2017, 22:56

Co jsem se teď díval na netu na ten iAqua.ino soubor bohatě stačí podle mne zakomentovat nebo vymazat použití knihoven pro Micro SD karty tj. :

Kód: Vybrat vše

//#include <tinyFAT.h> // přístup na SD kartu
//#include <UTFT_tinyFAT.h>  //  načítání obrázků z SD karty
A pak bys mohl klidně použít jiný Micro SD modul.
:twisted: :?: :arrow: :geek: P. Q. M.

pros
Příspěvky: 5
Registrován: 07 pro 2017, 21:45
Reputation: 0

Re: Náhrada SD card displeje MICROSD

Příspěvek od pros » 07 pro 2017, 23:51

Dík odzkouším. nejsem moc zdatnej v programování takže se raději hned zeptám mám nahradit knihovny jinýma.

Uživatelský avatar
SkullKeep
Příspěvky: 290
Registrován: 23 srp 2017, 18:51
Reputation: 0
Bydliště: Brno
Kontaktovat uživatele:

Re: Náhrada SD card displeje MICROSD

Příspěvek od SkullKeep » 08 pro 2017, 08:25

Přesně mělo by stačit ty knihovny nahradit např.:

Kód: Vybrat vše

// include the SD library:
#include <SPI.h>
#include <SD.h>
:twisted: :?: :arrow: :geek: P. Q. M.

Wojta
Příspěvky: 184
Registrován: 22 črc 2017, 16:39
Reputation: 0

Re: Náhrada SD card displeje MICROSD

Příspěvek od Wojta » 08 pro 2017, 14:13

Nemyslím si že by byly knihovny ten problém. Proč taky? Kdyžtak se prosím SkullKeep pochlub myšlenkovejma pochodama :D mě nedává smysl proč měnit knihovny. Pokud fungují s SD strčenou v LCD tak budou fungovat i s tou strčenou do adaptéru/modulu. Spíš bych si zkontroloval zapojení. Tam bych hledal chybu. Jak jste měl ten adaptér zapojený? Pošlete třeba fotku.

Pokud bude fungovat to řešení od SkullKeepa tak to samosebou nechte :)

Uživatelský avatar
SkullKeep
Příspěvky: 290
Registrován: 23 srp 2017, 18:51
Reputation: 0
Bydliště: Brno
Kontaktovat uživatele:

Re: Náhrada SD card displeje MICROSD

Příspěvek od SkullKeep » 08 pro 2017, 15:25

No přijde mi docela logické, že ty knihovny v iAqua jsou přímo napsaný a vyladněnný na MicroSD na Display Shield. Takže hypoteticky změnou knihovny přestane obsluha MicroSD na Display Shieldu. Protože to pojede přes jinak definované piny.
:twisted: :?: :arrow: :geek: P. Q. M.

Wojta
Příspěvky: 184
Registrován: 22 črc 2017, 16:39
Reputation: 0

Re: Náhrada SD card displeje MICROSD

Příspěvek od Wojta » 08 pro 2017, 17:07

SkullKeep píše:
08 pro 2017, 15:25
No přijde mi docela logické, že ty knihovny v iAqua jsou přímo napsaný a vyladněnný na MicroSD na Display Shield. Takže hypoteticky změnou knihovny přestane obsluha MicroSD na Display Shieldu. Protože to pojede přes jinak definované piny.
Aha. No jak jsem na to koukal tak jsou ty knihovny popsané jako docela víceúčelové. Jediné co si nastavuje iAqua.ino je CS pin vzhledem k tomu že pro SD je použito hardwarové SPI. Nepomohlo by ani nahrazení knihoven třeba za zmíněné SD.h. Tahle knihovna taky nemá funkcionalitu pro softwarové SPI (pokud vím) a opět se dá konfigurovat jen CS pin. Právě proto si myslím že by mělo být připojení SD shieldu docela bez problému. Samsebou můžou být ty knihovny editované autorem a pak ANO, mohly by být nějak specificky upravené funkce a měl by si stopro pravdu.


A teď hlavně pro pros:
Máte tu teda dvě možná řešení problému :D akorát to je asi trochu chaotické. Buď softwarové a nebo hardwarové. Za mě by to bylo HW, tedy překontrolovat zapojení, hlavně CS pin, a pak jít dál. Ten CS musí být připojen jen a pouze na aktivní SD modul, tedy NE na to LCD. CS pin se dá nastavit i v programu pomocí file.setSSpin(cislopinu);
v iAqua.ino je to na řádku 476. Takhle bych to řešil já :)

pros
Příspěvky: 5
Registrován: 07 pro 2017, 21:45
Reputation: 0

Re: Náhrada SD card displeje MICROSD

Příspěvek od pros » 08 pro 2017, 18:03

Děkuji za zájem o řešení mého problému, dnes nejsem doma abych se podíval jak jsem přesně řešil zapojení, ale bylo to tak že jsem vyhnul kontakty na vlastním shieldu usazeném na arduinu mega piny 50,51,52,53 zapojil na MISO, MOSI, SCK a CS můj shield má na pin 53 vyveden pin 4

pros
Příspěvky: 5
Registrován: 07 pro 2017, 21:45
Reputation: 0

Re: Náhrada SD card displeje MICROSD

Příspěvek od pros » 09 pro 2017, 19:09

tak jen HW úpravu jsem vyloučil jakmile jen odpojím CS pin tak program neustále padá, zkusil jsem si prográmek a zapojení z těch to stránek http://howtomechatronics.com/tutorials/ ... -tutorial/ a SD karta funguje. pokud zakomentuji SdFat.h a vložím knihovnu SD.h tak narazím na tuto chybu

iAqua_CZ_v1.00.ino:108: error: 'SD' does not name a type
iAqua_CZ_v1.00.ino: In function 'void setup()':
iAqua_CZ_v1.00.ino:564: error: 'sd' was not declared in this scope

Je mě jasný že musím nastavit parametr SD a pak ji zavést ale zatim tápu
Přílohy
Touch.ino
(97.05 KiB) Staženo 204 x
startups.ino
(25.5 KiB) Staženo 208 x
Sensors.ino
(9.89 KiB) Staženo 204 x
Screen.ino
(74.32 KiB) Staženo 211 x
iAqua_CZ_v1.00.ino
(67.29 KiB) Staženo 215 x

Wojta
Příspěvky: 184
Registrován: 22 črc 2017, 16:39
Reputation: 0

Re: Náhrada SD card displeje MICROSD

Příspěvek od Wojta » 09 pro 2017, 19:56

Tyjo, tak to mi bude dlouho vrtat hlavou proč se tomu neche :D
Každopádně v přiloženém programu máte zapsáno sd.begin(slaveSelectSD, SPI_FULL_SPEED);

Objekt SD karty by nemělo být potřeba inicializovat. Např zde je ofic. ukázka: https://www.arduino.cc/en/Tutorial/ReadWrite
Pokud chcete používat SD.h musíte ji kartu připravit takto: SD.begin(cisloCSpinu);
To je jediný parametr co SD.begin() povoluje...

Odpovědět

Kdo je online

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