Arduino UNO- zelenáč se zelená
Moderátor: Moderátoři
Arduino UNO- zelenáč se zelená
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);
}
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!
Kdo by to byl řekl např. http://openeschool.com/tutorial/1177/c- ... e-language
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.
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 241 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!
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.
- ZdenekHQ
- Administrátor
- Příspěvky: 25593
- Registrován: 21 črc 2006, 02:00
- Bydliště: skoro Brno
- Kontaktovat uživatele:
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[?]
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[?]
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.nekmil píše:Takový jednoduchý program a 24 závorek + 10 středníků
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.
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).
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!
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.
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.
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.
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.LukinoOl píše: napíšeš si vlastní a bez hromady nevyužitého balastu, stejně zjistíš, že vlastní implementace bez knihoven je lepší
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
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).