Page
Toto je stránka, která slouží jako rozcestník na experimenty s menší verzí Arduina. ATtiny85 má 8 kB flash paměti, 512 SRAM a 512 EEPROM. Může se to zdát málo, ale i do takové malé paměti dokážete dostat dost velký program. ATtiny85 je můj oblíbený mikrokontrolér a pouze ve výjimečných situacích jej nahrazují s mikrokontrolérem ATtiny84, který má k dispozici více pinů a trošku lepší periferie.
Hlavním důvodem je cena. Tento mikrokontrolér koupíte za Euro a když se něco stane, nic se neděje. Kromě toho je elementární poskládat pomocí něj jednoduchý obvod, který bude blbuvzdorný, lze jej připojit i na vyšší napětí (pomocí regulátoru napětí) a můžete s ním pomocí digitálních pinů snadno ovládat jiné obvody.
Jak programovat ATtiny85 pomocí Arduina naleznete v samostatném článku Arduino jako ISP programátor. Existuje i druhá možnost, že si poskládáte vývojovou desku a na ní ho naprogramujete pomocí USBasp.
Aby bylo možné mikrokontrolér programovat, je třeba do Arduino IDE doinstalovat podporu. Postup platí pro IDE 1.6.4 a vyšší:
Předchozí jádro je dobré na základní programování ATtiny85. Pokud ale chcete mikrokontrolér využít více, je vhodné se poohlédnout po více propracovaných jádrech. Ty podporují změnu mnoha parametrů. Například změny nastavení fuses, různých zdrojů hodin a optimalizace kódu při překladu.
V základním nastavení je k dispozici 5 digitálních pinů. Je možné mikrokontrolér přepnout i do stavu, kdy použije namísto resetu i poslední pin, to je ale jednorázová záležitost a více ho nelze programovat pomocí Arduina. Proto tuto možnost ani nebudeme brát v úvahu. Jednotlivé piny se ovládají následovně:
K dispozici jsou tři piny:
K dispozici jsou tři vstupy:
Existuje ještě čtvrtý pin, ale ten je na stejném pinu jako RESET a jeho využití není jednoduché.
ADC převody ale poskytují více možností a ty zkoumám v samostatném článku o ADC.
Práce s EEPROM funguje stejně jako v běžném Arduinu. Pokud si chcete programování usnadnit, inspirujte se v článku o praktickém používání EEPROM.
Pokud k tomu nejsou nějaké závažné důvody, třeba nechat mikrokontrolér na továrním nastavení 1 MHz. Pokud je důležitá rychlost, lze jej přepnout na 8 MHz a v případě extra požadavky na rychlost se dá jít až do 20 MHz, ale už jen za cenu pinů 3 a 4. Nastavování rychlosti je popsáno v článku Arduino jako ISP programátor.
Informace o obsazení pinů 3 a 4 není zcela správná. Existuje možnost přepnout ATtiny85 i do režimu, že i při vyšší rychlosti používá vnitřní oscilátor. Jmenuje se PLL a pomocí něho se dají dosahovat i vyšší rychlosti. Nejjednodušeji to uděláte tak, že použijete jádro ATTinyCore a nastavíte si to v menu. Nezapomeňte pak použít funkci menu Vypálit zavaděč (Burn bootloader).
Opět platí to co v předešlém odstavci. Pokud si chcete přidávat práci, můžete jej programovat nízkoúrovňové prostředky. V ATtiny85 ale máme k dispozici 8 kB paměti a to na programy běžné velikosti postačuje. Proto je mnohem pohodlnější psát digitalWrite, než se trápit s bitovými operacemi na portu.
Jedině pokud jde o rychlost nebo významnější úsporu paměti, tehdy třeba přistupovat k optimalizačním technikám. Platí staré programátorské pravidlo, že zákazníkovi je úplně jedno, kolik let života jste věnovali programu na blikání LEDkou, když to bude fungovat, do zdrojového kódu vám nikdy nepoleze.
Seznam projektů s ATtiny85. Pokud se chcete věnovat programování mikrokontroléru víc, je vhodné si postavit vývojovou desku. V projektech najdete desky v DIP provedení a desky se SMD součástkami. Stmívač LED pásku byl můj pilotní projekt, na kterém jsem se učil. Ale překvapivě se vydařil a tento model stmívače používá přibližně 10 mých známých na mnou vyrobených deskách a neznámý počet tvůrců desek, kteří se tímto projektem inspirovali.
Seznam článků o ATtiny85. O tomto mikrokontroléru jsem napsal mnoho článků, proto jsem se je snažil rozdělit na logické skupiny.
Na těchto stránkách jsem o Arduinu nikdy nepsal přímo pro začátečníky. Důvodem bylo, že o Arduinu naleznete na Internetu dostatek příkladů, které vás naučí elementární základy jeho programování. S mikrokontrolérem ATtiny85 je to jiné. Příkladů je málo a těžko najdete takové příklady, které by byly dostatečně jednoduché. To se snažím v této sérii udělat a popisované témata a příklady dělám tak, aby po přečtení série těchto článků mohl i méně zkušený uživatel programovat tyto malé mikrokontroléry.
Naše dítě mělo nedávno dva roky a jeho nejoblíbenější slova jsou auto a blik. Pojďme si takovýto blik vyrobit pomocí mikrokontroléru ATtiny85. Program Blik je nejzákladnějším programem pro Arduino, na kterém se naučíte základy ovládání vývodů z mikrokontroléru. V tomto článku si probereme tyto základy a přidáme k nim i cosi navíc.
V předchozím článku jsem to zapomněl zmínit. Mikrokontrolér ATtiny85 je dodáván v továrním nastavení na frekvenci 1 MHz. V tomto článku si vysvětlíme, jak toto nastavení změnit a nastavit vyšší frekvenci pomocí pojistek.
Tlačítka jsou jednoduché součástky, pomocí kterých můžete komunikovat s mikrokontrolérem. Obvykle se využívají mikrospínače, které najdete i v běžné spotřební elektronice. V dnešním článku si vysvětlíme základní použití tlačítek a naprogramujeme si i jednoduchý stavový automat, ve kterém budeme muset ošetřit zákmity tlačítek.
ATtiny85 má 3 PWM výstupy. Jsou umístěny na pinech 0, 1 a 4. V tomto článku si ukážeme, jak se PWM používá. PWM (pulse widht modulation) je zkratka pro pulzně šířkovou modulaci signálu pomocí změny střídy (šířka impulzu). Je to efektivní cesta k regulaci elektrického výkonu, dodávaného do zátěže. Uživatelé Arduina se s tímto pojmem setkávají když regulují jas LED diody, nebo otáčky ventilátoru.
V tomto článku se budeme věnovat A/D převodníku v mikrokontroléru ATtiny85. Vycházet budeme z předchozích článků, ve kterých jsme popisovali A/D převodník v Arduinu Uno. V tomto článku si ukážeme základní použití převodníku a vyjmenujeme si odlišnosti. Odlišnostem se budeme podrobně věnovat v některém z dalších článků.
Před několika lety jsem napsal článek ATtiny85 - Blik. Tehdy jsem napsal několik příkladů a nejmenší z programů měl po kompilaci délku 468 bajtů. Nyní si ukážeme program, který se chová stejně a má jen 76 bajtů. Pojďme si tento blik vyrobit pomocí mikrokontroléru ATtiny85.
Různé způsoby programování mikrokontroléru.
Programátor USBasp slouží k pohodlné programování mikrokontrolérů. Pokud používáte Windows 10, budete muset použít podepsané ovladače, aby programátor fungoval. Připravil jsem pro vás video, kde je celý postup instalace podepsaných ovladačů vysvětlen.
Ostatní články, které nebylo možné zařadit do žádné kategorie.
Vyzkoušel jsem malý 1,5 F kondenzátor spolu s mikrokontrolérem ATtiny85. Vyrábí ho firma Panasonic a pracuje s napětím maximálně 5,5 V. Kondenzátor je určen pro zálohování nízkoenergetických zařízení. Použil jsem mikrokontrolér ATtiny85 na frekvenci 1 MHz, čím jsem podmínku nízkoenergetického zařízení splnil. Chcete vědět, jak dlouho mikrokontrolér pracoval?
Narození druhého dítěte bylo inspirací pro tento projekt. Potřebovali jsme snadno přenositelný zdroj světla, na kterém lze plynule nastavit jas. Využil jsem zkušenosti z projektu Bambíno a ATtiny13A a vytvořil jsem projekt LED světla, které je napájeno 4,5 V baterií. Toto LED světlo je ovládáno mikrokontrolérem ATtiny85, ale program je kompatibilní i pro ATtiny13A.
Mikrokontrolér ATtiny85 má dva 8bitové timery. Pomocí nich lze ovládat stmívání LED diod. 8 bitů je ale málo v případě, že chcete mít změnu jasu přizpůsobenou lidskému oku. Gama korekce způsobuje viditelné skoky ve změně jasu, zejména při nízké hodnotě jasu. Mikrokontrolér ATtiny85 umožňuje pomocí timeru 1 vytvořit i lepší rozlišení. V tomto článku si ukážeme, jak se to dělá.
Před nedávnem jsem představil na těchto stránkách SMD vývojovou desku pro mikrokontrolér ATtiny85. V dnešním článku bych ji chtěl ukázat v akci. Tato vývojová deska se včlenil mezi mé další desky, které používám na breadboardu. Navrhuji je proto, abych nemusel neustále zastrkávat do breadboardu velké množství drátěných vodičů. Jejich množství se zredukuje na minimum. Je to vidět i na ilustrační fotografii.
Před dvěma lety jsem naprogramoval simulaci ohně pro Arduino Uno. V tomto článku se pokusíme tuto simulaci udělat pomocí mikrokontroléru ATtiny85. Aby nebyl program úplně stejný, simulaci mírně upravíme tak, aby se dalo blikání ohně nastavovat.
Petrík už není Bambino a cvakání vypínačem ho už nebaví. Na jeho místo nastoupila Cica Mica a ráda si cvaká vypínačem. Zopakuje se úspěch první krabičky, v níž bylo ATtiny13A? To nevíme. Ale teď jsem použil ATtiny85 a rafinovaný program, který náhodně vyměňuje 4 sekvence blikání LED diodou.
Už několik měsíců píšu seriál pro začátečníky o mikrokontroléru ATtiny85. Tento mikrokontrolér můžete používat jako miniaturní náhradu Arduina. Ale miniaturizace sebou přináší i problémy. Mikrokontrolér má málo pinů a ne vždy je možné na něm používat i sériový port. Proto jsem si vybral tento malý 7-segmentový displej, abych pomocí něho v dalších pokračováních seriálu zobrazoval jednoduché informace. Displej si můžete bez problémů pořídit v čínských e-shopech. Na seznámení se s displejem je vhodné si přečíst článek Arduino a displej TM1637.
V tomto článku si vyrobíme miniaturní teploměr. Použijeme na to mikrokontrolér ATtiny85 a integrovaný obvod DS18B20. Výsledek budeme zobrazovat na displeji TM1637. Zapojení součástek je jednoduché a celý projekt si lze postavit na breadboardu.
23.05.2021