Jak začít s AVR, jaký programátor si vybrat ?

Chcete si postavit robota, ale tak nějak nevíte kudy do toho?
aladin
Příspěvky: 140
Registrován: 12 kvě 2013, 06:43

Re: Jak začít s AVR, jaký programátor si vybrat ?

Příspěvek od aladin » 29 říj 2017, 21:42

ok, co třeba ADS7828 a pod?
MerkurRobot.cz
KlubTechniku.cz
Stavebnice.com

David
Příspěvky: 35
Registrován: 19 dub 2013, 18:05

Re: Jak začít s AVR, jaký programátor si vybrat ?

Příspěvek od David » 13 lis 2017, 22:45

Zdravím,
předem se omlouvám za svůj dotaz zřejmě hodný naprosté "AVR lamy", ale nějak se holt začít musí. :roll:
Jestliže budu mít snahu "nahrát" programy do procesoru ATMEGA8L-8, chápu správně, že bude zapotřebí sestava HW zvěčněná na třetí fotografii / obrázku ... https://elementztechblog.wordpress.com/ ... vr-usbasp/ nebo můžete doporučit jiné řešení ?

Předem děkuji za případné tipy.

David

Uživatelský avatar
Dex
Administrátor
Příspěvky: 829
Registrován: 16 úno 2013, 14:26

Re: Jak začít s AVR, jaký programátor si vybrat ?

Příspěvek od Dex » 13 lis 2017, 22:58

Pokud mne pamět neklame, dá se použít jako programátor i Arduino a to má doma asi každý.
"all your robots are belong to us"
robodoupe.cz | rxd.cz | codetory.cz

DavidO
Příspěvky: 461
Registrován: 01 kvě 2013, 21:27

Re: Jak začít s AVR, jaký programátor si vybrat ?

Příspěvek od DavidO » 13 lis 2017, 23:26

Nazdar jmenovče :D
Ano, tou sestavou na třetím obrázku to půjde, stejně tak to půjde i s pomocí nějakého Arduina, jak psal Dex (je na to v Examplech sketch "ArduinoISP").

Rozmysli si, jestli chceš do té nové ATmegy8 nahrát svůj kód, anebo bootloader, pomocí kterého pak budeš nahrávat svůj kód v budoucnu.

Mrkni třeba sem: https://learn.sparkfun.com/tutorials/po ... okup-guide a sem: https://www.arduino.cc/en/Tutorial/ArduinoISP (tohle je popis jak tam nahrát bootdloader). Nenech se zmást, že bys pak třeba musel používat Arduino, to z toho nijak neplyne. Můžeš, nemusíš.

Nebo tady: http://www.instructables.com/id/Turn-Yo ... to-an-ISP/ (programuse s tím ATtiny85, ale to je fuk, princip je stejný)

DavidO
Příspěvky: 461
Registrován: 01 kvě 2013, 21:27

Re: Jak začít s AVR, jaký programátor si vybrat ?

Příspěvek od DavidO » 13 lis 2017, 23:47

pajasry píše:
29 říj 2017, 21:23
S arduinem už zkušenosti mám, ale dostávám se do situací, v kterých analogové piny nestáčí, a proto chci zkusit Avr, jen "holé" Avr čipy.
Tak v tom případě bych napsal program v C/C++, přeložil gcc a nahrál pomocí avrdude podobně, jak to dělá Arduino IDE, ale sám. Klidně s Arduino hardware, ale hlavně s vynecháním Arduino IDE. Podívej se na projekt AVR Libc, to jsou dost dobré knihovny a jestli už máš nainstalované Arduino, tak pod ním už AVR Libc, gcc i avrdude máš, takže nic dalšího instalovat nemusíš, jen použiješ z příkazové řádky nebo pomocí make (a nějakého Makefile který buď najdeš sám, nebo si tu řekni).
Anebo můžeš drsňácky hrábnout do orloje a číst z A/D převodníku v Arduino sketchi sám i tam, kde to případně není namapované na ty Arduiňácké piny Aněco (tedy samozřejmě pokud na příslušném pinu A/D je).
Pokud ten kontroler dostatek A/D portů nemá, tak holt použít nějaký extender, třeba jak psal Aladin.

pgerla
Příspěvky: 314
Registrován: 11 dub 2013, 00:17

Re: Jak začít s AVR, jaký programátor si vybrat ?

Příspěvek od pgerla » 14 lis 2017, 06:43

DavidO píše:
13 lis 2017, 23:47
Anebo můžeš drsňácky hrábnout do orloje a číst z A/D převodníku v Arduino sketchi sám i tam, kde to případně není namapované na ty Arduiňácké piny Aněco (tedy samozřejmě pokud na příslušném pinu A/D je).
máte příklad čipu kde není A/D převodník mapován na pin ;) A není tudíž přístupný v arduino sketchi.

Jistě teď Vás zkouším, nehoním si ego o jednom A/D já vím. Tak hráběte do svého orloje. Těším se na odpověď.

DavidO
Příspěvky: 461
Registrován: 01 kvě 2013, 21:27

Re: Jak začít s AVR, jaký programátor si vybrat ?

Příspěvek od DavidO » 14 lis 2017, 09:14

pgerla píše:
14 lis 2017, 06:43
máte příklad čipu kde není A/D převodník mapován na pin ;) A není tudíž přístupný v arduino sketchi.
Na Arduino M0 Pro jsou definované pro uživatele jen A0-A5.
D0-D3, D8, D9, AREF se dají použít i jako 7 dalších analogový vstupů, ale ne standardním Arduino způsobem (a samozřejmě je to také za cenu "ztráty" příslušných digitálních pinů a analogové reference).
pgerla píše:
14 lis 2017, 06:43
Jistě teď Vás zkouším, nehoním si ego o jednom A/D já vím. Tak hráběte do svého orloje. Těším se na odpověď.
To je trochu protimluv, ne?
Když už sem přispíváte, tak se ptejte nebo raďte, ale nepruďte. Zamyslete se, jaký přínos měl Váš poslední příspěvek, ale sem to už nepište, do této odborné diskuse to nepatří.

aladin
Příspěvky: 140
Registrován: 12 kvě 2013, 06:43

Re: Jak začít s AVR, jaký programátor si vybrat ?

Příspěvek od aladin » 14 lis 2017, 11:20

No jo, Davide, prudiči byli a budou. Neodpoví na doplňující otázky a ... škoda slov.
Vím, že ardu nemusíš, ale víš, jak se dá nějak "ohnout" ARDUINO ide k tomu, abych použil nějak ty další analogové vstupy? nebo musím použít "plné" céčko?
MerkurRobot.cz
KlubTechniku.cz
Stavebnice.com

pgerla
Příspěvky: 314
Registrován: 11 dub 2013, 00:17

Re: Jak začít s AVR, jaký programátor si vybrat ?

Příspěvek od pgerla » 14 lis 2017, 11:45

Arduino alias nejrozšířenejší Atmega328 obsahuje teplotní čidlo. VY to nevíte :D Smutné, smutné. Je to marné, marné. Ani Aladinova lampa pak nepomůže.

DavidO
Příspěvky: 461
Registrován: 01 kvě 2013, 21:27

Re: Jak začít s AVR, jaký programátor si vybrat ?

Příspěvek od DavidO » 14 lis 2017, 12:10

aladin píše:
14 lis 2017, 11:20
Vím, že ardu nemusíš, ale víš, jak se dá nějak "ohnout" ARDUINO ide k tomu, abych použil nějak ty další analogové vstupy? nebo musím použít "plné" céčko?
To bych radši řešil s konkrétním projektem (a hlavně s konkrétním hardware). O co jde? (to je tedy otázka jak na aladina, tak na pajasry)

Čistě obecně, pokud chceš nadále mít jako základ svého kódu a vývojového prostředí Arduino a zároveň použít něco, co Arduino nemá zavedené, tak vidím tyhle možnosti:
1. přístup rovnou na registry, např. místo digitalWrite(Q,HIGH); bys psal PORTS |= 1<<něco (Q a S budiž nějaké konkrétní číslo/písmeno) tam, kde to nejde standardně (což by nejspíš vedlo k ošklivému a neudržovatelnému kódu, ale ještě se to dá ukočírovat, když to navrhneš jako knihovnu anebo aspoň oddělené funkce a nemastíš to rovnou do výkonného algoritmu)
2. doplnit si pins_arduino.h (a případně související definice) pro tvoji konkrétní desku tak, aby se ty porty, co ti chybí, zveřejnily a začaly tvářit standardně. Takže bys to pak mohl používat přímo s těma obvyklýma funkcema.
3. vytvořit si definici "svojí Arduino desky", kde si nadefinuješ, co je potřeba a podobně jako ve 2 budeš používat standardně.
(ale 2 a 3 může být dost práce a v konkrétním případě možná silně nepřiměřeně moc práce)

Odpovědět

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 0 hostů