Arduino UNO- zelenáč se zelená

Raspberry, Arduino, Mini-PC a další

Moderátor: Moderátoři

Zpráva
Autor
Uživatelský avatar
jura80
Příspěvky: 908
Registrován: 05 lis 2011, 01:00
Bydliště: Boskovice
Kontaktovat uživatele:

Arduino UNO- zelenáč se zelená

#1 Příspěvek od jura80 »

Tak už jsem taky podlehl Arduino mánii a jedno nejlevnější UNO si nechal poslat wod ťinťonga z Ebay. Včera jsem samo rozblikal LED a cvičně k tomu přidal ještě jednu (jako že multivibrátor). Tak nějak se tomu budu ve volných chvilkách věnovat.;)

Co mě trochu překvapilo, že tomu záleží na velkých a malých písmenkách...

int led = 12;
int led2=13;


void setup()
{
pinMode(led, OUTPUT);
pinMode (led2, OUTPUT);
}

void loop()
{
digitalWrite(led, HIGH);
delay(300);
digitalWrite(led, LOW);
digitalWrite (led2, HIGH);
delay(300);
digitalWrite (led2, LOW);
}
Nejsu žádným fóristem, ale když něco negómu, tož, přindu se zeptat. A když se nesnesitelně nudím, nebo když jsu na plech, někdy se může stát, že se i pokusím poradit. Zdraví Jura!

Uživatelský avatar
Zaky
Příspěvky: 6129
Registrován: 30 říj 2010, 02:00
Bydliště: Praha

#2 Příspěvek od Zaky »


Uživatelský avatar
nekmil
Příspěvky: 780
Registrován: 06 bře 2005, 01:00
Bydliště: Havířov

#3 Příspěvek od nekmil »

Takový jednoduchý program a 24 závorek + 10 středníků :D
To bude ještě boj než se s tím něco naučíš :) tak bojuj.

Uživatelský avatar
jura80
Příspěvky: 908
Registrován: 05 lis 2011, 01:00
Bydliště: Boskovice
Kontaktovat uživatele:

#4 Příspěvek od jura80 »

Taky jsem sám sebe překvapil. A díky za odkaz, nevěděl jsem, že jsou jazyky, kterým je to šumák, a jazyky, co bazírují na "pravopis" tak hodně.

Budu bojovat, po malých chviličkách. Je dost málo času, bohužel. Ale jináč mám s touhle hračičkou velký plány. Prvně asi půjde -dU nabíječka, kterou budu postupně zdokonalovat, jak se budu učit.

To Arduino mě napadlo proto, protože jsem nedávno navrhl řízení krok. motorku pro pohon montáže dalekohledu a přišlo mě, že to při daných požadavcích vyšlo zbytečně složitě- viz obr.
Přílohy
pohon_eq1.gif
(208.02 KiB) Staženo 240 x
Nejsu žádným fóristem, ale když něco negómu, tož, přindu se zeptat. A když se nesnesitelně nudím, nebo když jsu na plech, někdy se může stát, že se i pokusím poradit. Zdraví Jura!

Uživatelský avatar
Zaky
Příspěvky: 6129
Registrován: 30 říj 2010, 02:00
Bydliště: Praha

#5 Příspěvek od Zaky »

Možná už s tím budu trapný, ale než se trápit s Arduinem, když začínáš, vřele bych doporučil toto: http://www.cypress.com/documentation/de ... rammer-and , je to úplně jiná liga a při tom je to velice uživatelsky přátelské kvůli zdařilému IDE. Na vše jsou příklady, velmi pěkně je udělaná dokumentace. Existují i levnější procesory, kit s PSOC4 bez debuggeru (který můžeš použít z výše uvedené desky) stojí $4. A budeš programovat v C a ne jen slepě používat něčí knihovny napsané v C++, což je znatelně složitější se naučit, pokud bys chtěl víc, než právě používat knihovny. Procesory jsou 32 bit ARM, tedy výkonově úplně jinde, než nějaké osmibity. Navíc mají v sobě hradlové pole, které toho taky dost umí a posouvá tak PSOC úplně jinam, než když něco stavíš pouze na jednočipu. Já byl jakémukoli programování dost imunní až do doby, než jsem narazil právě na PSOC.

Uživatelský avatar
ZdenekHQ
Administrátor
Administrátor
Příspěvky: 25593
Registrován: 21 črc 2006, 02:00
Bydliště: skoro Brno
Kontaktovat uživatele:

#6 Příspěvek od ZdenekHQ »

Já si můžu case-sensitive v asm překladači zapnout, defaultně je to vypnutý. Asi by to mělo jít i u vyšších jazyků.
Pro moje oslovení klidně použijte jméno Zdeněk
Správně navržené zapojení je jako recept na dobré jídlo.
Můžete vynechat půlku ingrediencí, nebo přidat jiné,
ale jste si jistí, že vám to bude chutnat[?
]

Uživatelský avatar
mtajovsky
Příspěvky: 3694
Registrován: 19 zář 2007, 02:00
Bydliště: Praha

#7 Příspěvek od mtajovsky »

nekmil píše:Takový jednoduchý program a 24 závorek + 10 středníků :D
Syntaxe bez závorek a středníků se spoléhá na odřádkování a případně odsazení řádků - viz například Python, což je, s prominutím, na prd. V C je pomocí závorek a středníků jasně dáno, co k čemu patří a celý program se může napsat třeba na jeden řádek.

jura80 << pokud máte s programováním MCU větší plány, než jen rozblikat LED nebo opajcovat zdroják na teploměr, pak bych doporučil na chvilku Arduino odložit, nainstalovat si nějakou free expres verzi Visual C++, sednout si s učebnicí C/C++ a projít si nějaký kurs a v jeho rámci udělat nějaké konzolové prográmky. Jinak bude vaše cesta za ovládnutím Arduina plná "podivných" překvapení typu "case sensitive".

Case sensitive je v C velkým benefitem. Umožňuje nastavit různá pravidla, která zvyšují čitelnost programu. Například, že symbolické konstanty se píší kapitálkami, proměnné malými písmeny, funkce v camel notaci a podobně. Pak se na první pohled pozná, co je co. Je dobré si stanovit nějaká pravidla a ta dodržovat. Největší hnus je, když například někdo míchá camel a podtržítkovu notaci dohromady:

Kód: Vybrat vše

#define PI 3.14         // OK
int muj_index;           // OK
float getValue(void);    // tohle je taky OK
char* Hnusny_Nazev_Pro_Retezec;  // tohle není OK
char pekny_nazev_pro_retezec[20]; // tohle už je lepší
Naposledy upravil(a) mtajovsky dne 16 lis 2017, 01:34, celkem upraveno 1 x.

Uživatelský avatar
jura80
Příspěvky: 908
Registrován: 05 lis 2011, 01:00
Bydliště: Boskovice
Kontaktovat uživatele:

#8 Příspěvek od jura80 »

Díky za tip. Takže jestli tomu rozumím, je to v podstatě něco jako Arduino, jen se to programuje ve standardním jazyku (takže by jsem mohl kdykoli přejít na jinčí procesory nebo programování PC), je k tomu dokonce aj quick start guide a stojí to jen 4USD?

Teď, když už mám to UNO, není lepší si nějakou dobu spíš pohrát s ním, a pak, po získání zkušenosti, se vrhnout do něčeho lepšího?

Ta C++, dejme tomu, ale ptám se, budu na to mít dost času, proniknout do toho do hloubky? A budu pak vidět výsledky, co mě budou motivovat k dalšímu hraní si? Jinak ale o pajcování nestojím, to je hrozná nuda...

Jinak Arduino mně doporučil známý, co se taky zajímá o astro, když jsem se zmínil o tom, že dělám na tom pohonu a že to vychází docela složitě (ať tak nebo tak, dneska budu konečně objednávat PCB).
Nejsu žádným fóristem, ale když něco negómu, tož, přindu se zeptat. A když se nesnesitelně nudím, nebo když jsu na plech, někdy se může stát, že se i pokusím poradit. Zdraví Jura!

Uživatelský avatar
zedisdet
Příspěvky: 85
Registrován: 21 bře 2015, 01:00
Bydliště: Noyal Pontivy

#9 Příspěvek od zedisdet »

mtajovsky: Proč je jazyk co používá "odřádkování" naprd? Python je díky tomu krásně čitelný.

Uživatelský avatar
rnbw
Příspěvky: 32312
Registrován: 21 bře 2006, 01:00
Bydliště: Bratislava

#10 Příspěvek od rnbw »

Syntax pythonu je otrasna. Ak chces nieco na skusku upravit (pridat cyklus), musis upravovat odsadenie ako 🤐. Nema to blokove komentare, takze nemozes zakomentovat kus kodu.

Uživatelský avatar
zedisdet
Příspěvky: 85
Registrován: 21 bře 2015, 01:00
Bydliště: Noyal Pontivy

#11 Příspěvek od zedisdet »

rnbw: Tak nevím co jsi to zkoušel ale pleteš se. V Python3 prostředí IDLE je odsazeni celého bloku otázka dvou kliknutí nebo jedné kl. zkratky. A zakomentování celého bloku se dela třemi uvozovkami """ kód """ Python tě prostě nutí aby z toho programu nebyl salát a to holt hodně lidí nedává. Python má jen jednu nevýhodu která je zároveň výhoda a to že je to interpret takže není tak výkonný ale výhoda je že je tím pádem multiplatformní. Tím že program nekompiluje tak se dá spustit od woken , linux , os2 a další. Když by to bylo nepoužitelné těžko by se v tom psali tak velké projekty jako Gimp, Inkscape a další a další. Jen teda nevím otom že by se Python používal pro Arduino. V Raspberry je jako nativní jazyk.

Uživatelský avatar
LukinoOl
Příspěvky: 66
Registrován: 09 čer 2016, 02:00

#12 Příspěvek od LukinoOl »

Několik bodů k diskuzi:
a, case sensitive je velmi užitečná vlastnost, pro zoufalé uživatele oken to bývá havárka
b, používat knihovny nikdo nikoho nenutí, napíšeš si vlastní a bez hromady nevyužitého balastu, stejně zjistíš, že vlastní implementace bez knihoven je lepší
c, nabádat ke koupi 32bit, pokud sotva dáš blink, je dost mimo, taky asi komunita ohledně Cypress 32bit asi nebude moc velká
d, každý jazyk má svá pro a proti, to je nekonečná diskuze

Tazatel chce prostě s něčím začít, tak mu neberte ideály.

L:

PS: Soulas s mtajovsky.

Uživatelský avatar
mluno
Příspěvky: 227
Registrován: 18 dub 2011, 02:00
Bydliště: Benešov (u Prahy)

#13 Příspěvek od mluno »

LukinoOl píše: napíšeš si vlastní a bez hromady nevyužitého balastu, stejně zjistíš, že vlastní implementace bez knihoven je lepší
To můžu několikrát podtrhnout. Ale je to dost velká práce. Já často dělám kompromis, že vezmu z knihoven to, co se mi hodí (což jsou obvykle funkce na nejnižších úrovních) a zbytek si doplnim. Zase mi přijde zbytečný dělat knihovny od nuly pro něco, pro co už jsou. Vlastní knihovny, pro můj vlastní hw (třeba externí SRAM) jsem dělal možná dvě, tři. Jinak většinou člověk najde na internetu něco, z čeho může vyjít a je tak zbavený té nejšpinavější práce.

Osobně používám AVR studio od Atmelu, vývojové prostředí arduino IDE mi moc k srdci nepřirostlo. Jsem holt rozmazlený vymoženostmi jako doplňování kódu (napíšu POR a dám ctrl+mezerník a nabídne se mi hned PORTA PORTB.... a já si jen vyberu), procházení podle identifikátorů (stačí kliknout na Go a jsem hned na deklaraci identifikátoru) a další vymoženosti, které arduino IDE nemá ani na úrovni starého Delphi.

Arduino jako takové příliš nepoužívám, ale taky jsem to nevydržel (při ceně 198 korun) a jeden klon jsem si koupil, takže jednu destičku mám. Na jednodušší akce to stačí. Předtím jsem používal a dosud používám samotný AVR od tiny13 po mega128 (radši mám mega1284, nemá tolik periferií jako mega128, ale je dostupný v DIL a tak se dá používat v kontaktním poli) Díky tomu jsem zjistil, jak pohodlné je použití bootloaderu, do té doby jsem programy loadoval z paralelního portu (ohlídal jsem si, aby i ten nejnovější PC ho měl) do SPI. Teďkon tam takto naloaduju bootloader (a příslušné pojistky, které ho povolí) a program už opakovaně nahrávám do sériového portu přes USB redukci. Sám boatloader má necelých 512 bajtů nebo wordů (to teď nevim), a ještě se mi nestalo, že bych se s programem dostal na takovou velikost, že by mi překážel.

Všichni jsme začínali stejně. Blikání LED je prostě základ a je to první věc, co člověk musí vyzkoušet. Pak teprve ledku nahradí něčím jiným. Můj první program pro AVR (tehdy tiny2313) ale vypadal nějak takto

Kód: Vybrat vše

A: NOP
   RJMP A
tím jsem zjistil, jestli to AVRassembler přeloží (byl tam i nějaký simulátor, tak jsem si to krokoval) a jestli to načte programátor atd. Pak jsem do té smyčky přidal blikání ledky (a nějaké zpoždění, abych ho viděl i mimo simulátor), vše tehdy v assembleru. Pak jsem teprve přidal import knihovny, abych se nemusel na port dostávat číslem. Céčko se mi za celou dobu, co jsem používal verzi 4 AVR studia nepovedlo nakonfigurovat (a na to co jsem tehdy dělal ten assembler stačil), ve verzi 5 to potom šlo. On je i v těch nových simulátor, ale protože jsem většinou závislý na interakci s vnějším hw, tak ho použiju málokdy.

To byly jenom takové vzpomínky, jak jsem před ne tak dlouhou dobou začínal s mikrokontroléry. Bylo to ještě v době před masovým rozšířením arduina (slovo arduino jsem zaregistroval o dost později). Ne že bych nikdy neprogramoval, dělal jsem s DSP56F807 od motoroly a OMAP107 od texas instruments, ve škole jsme něco dělali s 80196 (bráška 80186) a možná by se ještě našlo pár typů, co mi prošlo rukama. Ale to prostě nebylo ono. To byla nějaká vývojová deska, drahá vývojová deska, k tomu musel být drahý programátor. V případě AVR se mi líbilo, že nepotřebuju drahý programátor (stačí pár drátů z paralelního portu, které jsem pro jistotu oproti původním plánům posílil hradlem, ale pořád mě ten "programátor" vyšel na nějakých max 50 korun a ne na tisíce) a že je vše potřebné dobře a přehledně zdokumentované. A při tehdejší ceně tiny2313 kolem 50 korun si mě AVRka získala i přes to, že jsem taky skoro nic neuměl (a při zjištění, že při přechodu na jiný procesor (tehdy třeba mega48) vyžaduje program jen drobné nebo žádné změny jsem doslova chrochtal blahem).

Uživatelský avatar
FHonza
Příspěvky: 1443
Registrován: 20 lis 2012, 01:00
Bydliště: Praha

#14 Příspěvek od FHonza »

LukinoOl píše:... napíšeš si vlastní a bez hromady nevyužitého balastu, stejně zjistíš, že vlastní implementace bez knihoven je lepší...
To možná tak platí u jednoduchých věcí jako je Arduino. U komplikovanějších platforem/projektů je to přesně naopak.

Uživatelský avatar
Atlan
Příspěvky: 4499
Registrován: 10 kvě 2004, 02:00
Bydliště: Košice

#15 Příspěvek od Atlan »

To bude prekvapenie az zisti ze delay 300 netrva vzdy 300 :D.
Arduino prostredie vie prekvapit a z jednoduchej veci vC pre avr sa stane nocna mora.

Odpovědět

Zpět na „Miniaturní počítače (Arduino, Raspberry a další)“