Harjutusülesanded
Eesmärgiks on koostada programm, mis täidab kirjeldatud ülesannet.
Soojendusülesanne
Algajale
Nupule vajutades pannakse LED põlema või kustutatakse. LED-ide olekud salvestatakse EEPROM mällu ning programmi käivitamisel loetakse mälust viimane olek.
SD kaardile luuakse demo.txt fail ning luuakse ühendus mõne seadmega üle vabalt valitud andmesidekanali (UART, USB, Bluetooth, muu). Kasutades terminali programmi kirjutatakse SD kaardil asuvale failile tekst. Vajutades nupule S2 kirjutatakse faili sisu terminali ning suletakse fail.
SD kaardile luuakse logifail (txt kujul) ja salvestatakse sinna iga sekund temperatuuri ja valguse intensiivsuse väärtused. Nupuga on võimalik valida temperatuuri ühik (K/C) ning valik salvestatakse EEPROM-i.
Kahte erinevat temperatuuri (sise- ja välistemperatuur) salvestatakse serverisse ja kuvatakse veebilehel samal graafikul erinevate värvidega (ülesande lahendamine eeldab juurdepääsu ja muutmisõigust serveri tarkvarale).
Kasutades kombineeritud temperatuuri-niiskuse andurit (DHT11) salvestatakse teatud intervalliga mõlemad lugemid (temperatuur ja niiskus) serverisse ning veebilehel kuvatakse neid samal graafikul erinevate värvidega. Salvestamise intervall määratakse nuppudega: S1 - 1 sek., S2 - 1 min., S3 - 1 h. (ülesande lahendamine eeldab juurdepääsu ja muutmisõigust serveri tarkvarale).
Edasijõudnule
SD kaardilt loetakse pildifail (.bmp) ja kuvatakse see LCD ekraanil.
SD kaadrilt loetakse pildifail (.bmp) vastavalt vajutatud nupule ja kuvatakse see LCD ekraanil. Valitud pildi number salvestatakse EEPROM mällu ning kontrolleri käivitamisel kuvatakse õige pilt.
SD kaardilt mängitakse kõlarisse muusikat. Muusikafaili võib ise txt kujul luua, kus igal real on ära toodud eraldi noodi sagedus ja pikkus.
Kasutades kombineeritud temperatuuri-niiskuse andurit (DHT11) salvestatakse teatud intervalliga mõlemad lugemid (temperatuur ja niiskus) serverisse ning kuvatakse neid veebilehel samal graafikul erinevate värvidega. Salvestamise intervall määratakse üle veebibrauseri saadetud käskudega, näiteks parameeter aeg: 1 sek, 1 min, 1 h, 1 päev. Teise käsuga saab salvestust peatada ja uuesti käivitada. Parameetrid salvestatakse ka EEPROM mällu, kus need kontrolleri taaskäivitamise korral algväärtustena kasutusele võetakse (ülesande lahendamine eeldab juurdepääsu ja muutmisõigust serveri tarkvarale).
Turvasüsteemi tarkvaralahendus. Kontrolleriga on ühendatud passiivne liikumisandur (PIR), temperatuuriandur ja ukselüliti. Kõik parameetrid salvestatakse serverisse ja kuvatakse kasutajale graafiliselt. Veebiliideses on ka min. ja maks. väärtuste sisestamise võimalus, mille muutmisel saadetakse vastavad parameetrid kontrollerisse ja salvestatakse kontrolleri EEPROM mällu. Kui andurite väärtused on lubatud vahemikust väljas hakkab tööle sireen (Kasutajaliidese heligeneraator) ja serverisse saadetakse hoiatussõnum.
Kordamisküsimused
Mitu korda saab EEPROM mälupessa kirjutada ja sealt lugeda?
Miks on mõistlikum kasutada eeprom_update käsku eeprom_read käsu asemel?
Leidke eraldiseisvaid EEPROM kiipe ja selgitage nende eeliseid ning puudusi võrreldes kontrollerisse integreeritud EEPROM mäluga.
Miks kasutatakse SD kaardil FAT failisüsteemi?
Milliseid failisüsteeme SD kaardil peale FAT failisüsteemi veel kasutatakse?
Kui on vajadus kasutada AVR seeria mikrokontrolleriga USB mälupulka, siis millised on võimalikud lahendused?
Mis on pilveteenuse kasutamise eelised ja puudused võrreldes andmete salvestamisega kohalikule andmekandjale (nt SD kaart)?
Mis eelised annab andmebaasi kasutamine andmete salvestamiseks serveris võrreldes lihtsalt faili salvestamisega?
Leidke kolm kommerts- või vabavaralist pilveteenust, mida saaks kasutada kontrolleri poolt andmete salvestamiseks ja nende visuaalseks kuvamiseks kasutajale. Tehke leitud süsteemide kohta võrdlus ja pakkuge välja parim lahendus koos põhjendusega.
Kas ATxmega kontrollerisse on võimalik peale EEPROM mälu veel kuhugi kasutaja andmeid salvestada. Kui jah, siis kuhu ja kuidas?