Kako se koristi MicroSD / SD Card Modul za Arduino
Nakon što naučite koristiti senzore, kretati se kroz meni na ekranu i mnoge druge stvari, prije ili kasnije imat ćete želju da negdje sačuvate podatke i iste analizirate.
U ovoj lekciji ćemo objasniti:
- Šta je to microSD modul i kako se koristi?
- Šema povezivanja i kod za kontrolu SD Card modula
- Specifikacija materijala
Šta je to microSD modul i kako se koristi?
Prethodno navedeni modul je jako malih dimenzija i može sačuvati jako veliki broj podataka (reda gigabajta). U ponudi ima veliki broj SD modula koji odgovaraju Arduino mikrokontroleru. Na slici ispod možete vidjeti dva najprodavanija SD modula:
U našem primjeru, mi ćemo koristiti modul koji prihvata microSD kao na slici – desni modul. Neki Arduino mikrokontroleri kao što je MKR Zero imaju na sebi integrisan SD card modul.
Također, svaki ESP32 ili NodeMCU8266 mikrokontroler može koristiti SD card modul.
Prije samog korištenja SD kartice potrebno je istu formatirati u FAT16 ili FAT32. Nakon Što ste formatirali karticu istu možete gurnuti u modul i da krenemo sa povezivanjem šeme i programiranjem.
Šema povezivanja i kod za kontrolu SD Card modula
Pa da krenemo sa Šemom i kodom. U slučaju da ne želite prepisivati kod sa slike, kliknite na ovaj GITHUB link i preuzmite kod iz ovog tutorijala, kao i od ostalih Tutorijala.
Kao što možete vidjeti na slici iznad koristili smo šest komunikacijskih kablova između Arduino Uno mikrokontrolera i SD modula:
Crveni kabl ozačava – VCC (+5V)
Plavi kabl označava – GND (-)
Pin 13 -> SCK
Pin 12 -> MISO
Pin 11 -> MOSI
Pin 10 -> CS
Nakon što smo povezali modul sa kontrolerom kao na šemi iznad, otvorimo Arduino IDE i krenimo sa pripremom.
NAPOMENA:
Prije samog početka bitno je da zapamtite da svaki put kada se izvrši pisanje po dokumentu (nativ.txt), dokument je potrebno zatvoriti .close();
! U slučaju da ne zatvorite dokument nećete moći pisati po istom.
Prvi naš primjer ćemo staviti u setup() funkciju tako da se izvrši samo jednom tj. onda kada palimo naš mikrokontroler ili kada ga restartamo.
Kao što možete vidjeti na slici iznad, ako smo napisali ispravno kod, na Vašoj SD kartici će se napraviti .txt dokumentom pod nazivom TEST. Izvadite SD karticu iz modula i očitajte istu na računaru.
U slučaju da izbrišete myFile.close(); na vašoj kartici se neće ništa zapisati.
Sada kada znamo kako zapisati podatak na SD karticu, naučimo i kako pročitati podatke sa SD kartice. Pored čitanja podataka na način da izvadimo karticu iz modula i očitamo podatke na računaru, na sljedećem primjeru ćemo očitati podatke sa kartice direktno u serial monitoru.
Zamislite da vaš projekat upisuje podatke sa senzora na SD karticu svakih 10 sekundi tj. 6 snimanja u minuti i isti je radio mjesec dana. Matematički gledajući, 6 snimanja u minuti je 360 snimanja po satu ili 8.640 snimanja po jednom danu. Kada pomnožimo 30 dana sa 8.640 snimaka, kao rezultat dobit ćemo 259.200 snimanja u toku jednog mjeseca.
Iz prethodno navedenoga, doći ćemo do zaključka da se pored ogromnog broja podataka koji će se dugo učitavatiu serial monitoru i nemamo baš neke koristi.
Cilj ovoga tutorijala je da se upoznamo sa SD Modul-om, kao i da prikažemo najjednostavniji oblik čitanja i pisanja na SD karticu. Kako bi iskoristili znanje iz ove i prethodnih tutorijala, u sljedećem tutorijali ćemo prikazati primjer kako sačuvati vrijeme sa RTC3231 modula i vrijednost senzora na sd karticu. Nakon što sačuvamo podatke, iste ćemo prenijeti u Excel i izraditi diagram kako bi mogli uraditi određene analize.
Specifikacija materijala:
- 1x Arduino Uno
- 1x Breadboard
- 1x Modul za SD karticu
- 10x Komunikacijski kablovi
Napomena: Nakon što pročitate bilo koji Tutorijal na internetu, uvijek pogledajte Datasheet bilo koje komponente ili modula, jer se tu nalaze svi bitni fabrički detalji!