Projekt řízení akvária–výška a teplota vody, světlo, krmení

Ahojte,
ve škole nám zadali projekt k řešení akvárka, ale je to jen okrajový předmět a v životě sem neprogramoval, takže bych potřeboval pomoct jak realizovat toto:

Pomocí mcu AT89S52 realizujte ovládání akvária.

Navrhněte:

  • schéma zapojení
  • algoritmus softwaru
  • program pro ovládání

Ovládání bude zahrnovat:

  • sledování výšky hladiny
  • ovládání světla
  • automatické krmení
  • měření teploty vody

Rikam v C jsem jeste nikdy nedelal tekze namam poneti jak toto mam vyresit. Kdyby nekdo mel toto uz nekde reseni a pomohl budu velice rad.
Díky

:arrow_right: administrator: přejmenováno z "Akvárko - AT89S52"

Mám pocit, že sis vzal trochu velký krajíc :wink:.

Každopádně nejdřív je potřeba navržený HW. S x51 si zatím můžeš hrát v nepájivym poli s pár ledkama a tlačítkama (rozhodně máš co dělat). S překladačem bývá k dispozici i pár jednoduchých programů na zkoušku do začátku.

Jak budeš sledovat hladinu? Jak bude fungovat krmič? Nějaký šnek s krokovým motorem nebo jiný princip?
Procesor nemá A/D převodník, takže měření teploty digitálním čidlem. 1-wire DS18B20 by ovšem byl do začátku asi značný problém, takže spíš nějaký i2c nebo spi. Např. tc77, lm75, mcp9803, tmp121 apod.

Ahoj, díky za odpoved. No já si to nevybral, bohuzel :slight_smile:
Jedná se ale pouze o teoretickou ulohu, nemáme ji realizovat, takze vlastne budu potřebovat jen nejaky teoreticky navrh a pak napsat kod .

:arrow_right: administrator: příspěvek byl upraven
Předchozí příspěvky se necitují.

Po takovém krajíci bych měl brzy hlad!
Teplotu změříš třeba SMT160 - převodník teploty na střídu. Tu v pohodě změří ta 51tka. Stav hladiny zjistíš pomocí elektrod. Jestliže jsou ponořeny, jsou mezi sebou vodivě spojeny. Na to stačí hradla 74HC14 jako zesilovače se 100k do plusu.
A krmení? To bych řešil karuselem, ve terém by bylo X přihrádek s krmením a otáčel by se pomocí hodinového strojku. Jakmile by se jistá přihtadka dostala do určité pozice, mechnicky by se otevřelo její dno a obsah by se vysypal do akvárka. Koneckonců žádný MCU na to není ani potřeba.

Mám pocit, že se 21. století příliš blbne procesorama a cpou se všude i tam kde to nemá smysl. Kuriozitou je počítačem řízeny bidet, který byl předsaven na letošním ForArchu. Když to člověk bude chtít použít, musí si nastudovat příručku. Pokud to nepochopí, použije příručku rovnou. Škoda, že k tomu dávaj jen jednu.

no je potřeba protože je to teoretická uloha do školy…ja bych nic takového ani nedelal :slight_smile:

Ono je dost tazke vymysliet nejaku jednoduchucku ulohu pre aplikovanie MCU, ktora by zaroven aspon trochu budila dojem akej takej uzitocnosti.

Zacinat s ulohami s potrebou rozpoznavania hlasu a prikazov, 2D a 3D grafiky, alebo riadiaceho automatu na vyrobnu linku je predsa len o nieco viac odstrasujucejsie ako riadenia akvarka. No tak sa v skole snazia s vedomim, ze nie kazdy bude v konecnom dosledku programator MCU, len ich treba s ich vyuzitim nejako vobec prakticky zoznamit.

Inak myslim, ze aj v tom blbom osviezovaci vzduchu - co si “userie” ked niekto prejde okolo, ale zasa nie vzdy - bude nejaky ten MCU. :slight_smile:

skor cinska cierna kvapka na zelenom plosaku…

tak vedel by nekdo jak to napsat v C?

Pár lidí určitě ví, jen tu za tebe těžko bude někdo dělat domácí úkol (zadarmo) :slight_smile:. Když sám něco vypotíš a budeš to chtít zkontrolovat, nebo poradit s principem řešení, tak nebude problém.

Je začátek semestru/pololetí. Takže předpokládám, že úkol jste dostali na začátku abyste na něm mohli průběžně pracovat. Jesli jsi ješte neprogramoval, základy dostaneš během následujícího půl roku :wink:.

Něco k algoritmu sw. Máš krmit a svítit. Tyto operace budou pravděpodobně prováděny v určitých časových okamžicích. Bylo by tedy vhodné mít v mcu hodiny. Krmení můžeš zjednodušit na vyslání impulzu určité délky na jeden z pinů (HW by tak navrhnout rozhodně šel). Se světlem je to stejné - když máš svítit, bude na pinu určítá úroveň (na x51 je obvyklé díky konstrukci portů používat negativní logiku, ale není to nezbytné).
Měření teploty: použít technikem navrhnutý senzor a měřit střídu (pro jednoduchost měřit jen délku jedné úrovně).
Měření hladiny stylem málo/akorát nebo málo/akorát/hodně také stačí technikův návrh a opět je to jen o přečtení stavu na jednom/dvou pinech.

Vedel :slight_smile:

Ale plne sa stotoznujem s Piityy-im.