This shows you the differences between two versions of the page.
pm:prj2022:cristip:sdcardbuddy [2022/06/01 00:41] sergiu.moga [Software Design] |
pm:prj2022:cristip:sdcardbuddy [2022/06/02 01:31] (current) sergiu.moga [Jurnal] |
||
---|---|---|---|
Line 9: | Line 9: | ||
Folosind o placuta compatibila Arduino, prin comunicare SPI cu 2 sclavi (un display si un modul de SD Card) o sa expun printr-un display un shell interactiv cu care utilizatorul poate naviga/citi/scrie intr-un sistem de fisiere de pe SD Card. Pentru interactionare se va folosi o tastatura improvizata (15-16 butoane legate la acelasi pin prin rezistente diferite pentru a le putea distinge cu ajutorul analogRead). | Folosind o placuta compatibila Arduino, prin comunicare SPI cu 2 sclavi (un display si un modul de SD Card) o sa expun printr-un display un shell interactiv cu care utilizatorul poate naviga/citi/scrie intr-un sistem de fisiere de pe SD Card. Pentru interactionare se va folosi o tastatura improvizata (15-16 butoane legate la acelasi pin prin rezistente diferite pentru a le putea distinge cu ajutorul analogRead). | ||
- | {{:pm:prj2022:cristip:sdcardbuddy.png?direct&600|}} | + | {{:pm:prj2022:cristip:sdcardbuddy.jpg?direct&600|}} |
===== Hardware Design ===== | ===== Hardware Design ===== | ||
Line 23: | Line 22: | ||
{{:pm:prj2022:cristip:pm_sdcard_buddy.jpeg?direct&700|}} | {{:pm:prj2022:cristip:pm_sdcard_buddy.jpeg?direct&700|}} | ||
+ | |||
+ | {{:pm:prj2022:cristip:sd_card_buddy_demo.jpeg?direct&600|}} | ||
===== Software Design ===== | ===== Software Design ===== | ||
Line 64: | Line 65: | ||
Functii/Algoritmi: | Functii/Algoritmi: | ||
+ | |||
Setup: | Setup: | ||
* ESP8266: incepe seriala intre Uno si ESP8266, realizeaza conexiunea Wi-Fi, incepe server-ul HTTP | * ESP8266: incepe seriala intre Uno si ESP8266, realizeaza conexiunea Wi-Fi, incepe server-ul HTTP | ||
Line 106: | Line 108: | ||
} | } | ||
</code> | </code> | ||
- | * Uno: Incepe seriala intre Uno si ESP8266 si conexiunea cu modulul SDCard. Daca conexiunea din urma esueaza, agata executia. | + | * Uno: Incepe seriala intre Uno si ESP8266 si conexiunea cu modulul SDCard. Daca conexiunea din urma esueaza, agata executia |
<code c> | <code c> | ||
void setup() { | void setup() { | ||
Line 337: | Line 339: | ||
===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
- | <note tip> | + | Proiectul functioneaza cum a fost intentionat. Astfel, interactionand cu tastatura din cei 16 push-buttons, un utilizator poate face I/O pe un SDCard. Desi am avut probleme cu LCD-ul si a trebuit sa il returnez, am reusit sa improvizez cu ajutorul unui server de web realizat cu ajutorul ESP8266. Utilizatorul isi poate vedea rezultatele actiunilor sale urmarind shell-ul expus in server-ul web care se actualizeaza la fiecare secunda. |
- | Care au fost rezultatele obţinute în urma realizării proiectului vostru. | + | |
- | </note> | + | |
===== Concluzii ===== | ===== Concluzii ===== | ||
+ | Desi este un proiect relativ simplu, acesta poate veni la indemana cand, din motive oarecare, un utilizator nu are la indemana un laptop sau calculator sau pur si simplu se intampla sa aiba nevoia de a stoca ceva pe un mediu de stocare nonvolatil. | ||
+ | |||
+ | O aplicatie practica a acestui proiect ar putea fi un sistem integrat de Journaling. | ||
===== Download ===== | ===== Download ===== | ||
- | <note warning> | + | {{:pm:prj2022:cristip:sd_card_buddy.zip|}} |
- | O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului: surse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-). | + | |
- | + | ||
- | Fişierele se încarcă pe wiki folosind facilitatea **Add Images or other files**. Namespace-ul în care se încarcă fişierele este de tipul **:pm:prj20??:c?** sau **:pm:prj20??:c?:nume_student** (dacă este cazul). **Exemplu:** Dumitru Alin, 331CC -> **:pm:prj2009:cc:dumitru_alin**. | + | |
- | </note> | + | |
===== Jurnal ===== | ===== Jurnal ===== | ||
- | <note tip> | + | * 31.05.2022 - Discutia cu asistentul legata de alegerea temei proiectului |
- | Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului. | + | * 08.05.2022 - Crearea paginii wiki: Introducere, Diagrama Block, Lista componente |
- | </note> | + | * 12.05.2022 - Depistarea unor probleme cu LCD-ul. |
+ | * 14.05.2022 - Proiectarea temei folosind Serial Monitor pana cand imi dau seama ce sa fac cu LCD-ul. | ||
+ | * 22.05.2022 - Gasirea unui workaround pentru problema cu LCD: expunerea shell-ului se va face prin ESP8266 Web Server, interconectat prin seriala cu Arduino Uno. Asistentul a confirmat ca este OK cu aceasta modificare. | ||
+ | * 27.05.2022 - Terminarea proiectului din punct de vedere Software | ||
+ | * 01.06.2022 - Terminarea paginii de wiki. | ||
===== Bibliografie/Resurse ===== | ===== Bibliografie/Resurse ===== | ||
- | <note> | + | Resurse Software: |
- | Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. | + | * https://www.arduino.cc/reference/en/libraries/sd/ |
- | </note> | + | * https://randomnerdtutorials.com/esp8266-web-server/ |
+ | |||
+ | Resurse Hardware: | ||
+ | * https://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-7810-Automotive-Microcontrollers-ATmega328P_Datasheet.pdf | ||
+ | * https://components101.com/sites/default/files/component_datasheet/Micro-SD-Card-Module-Datasheet.pdf | ||
+ | * https://components101.com/sites/default/files/component_datasheet/ESP8266-NodeMCU-Datasheet.pdf | ||
+ | * https://www.instructables.com/How-to-Multiple-Buttons-on-1-Analog-Pin-Arduino-Tu/ | ||
<html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | <html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | ||