Mikuláš je tu! Získaj 90 % extra kreditov ZADARMO s promo kódom CERTIK90 pri nákupe od 1 199 kreditov. Len do nedele 7. 12. 2025! Zisti viac:
NOVINKA: Najžiadanejšie rekvalifikačné kurzy teraz s 50% zľavou + kurz AI ZADARMO. Nečakaj, táto ponuka dlho nevydrží! Zisti viac:
Funkce, kterou se snažíš použít je dostupná pouze pro registrované uživatele. Buďto se přihlas nebo si zdarma vytvoř nový účet.
Funkce, kterou se snažíš použít je dostupná pouze pro registrované uživatele. Buďto se přihlas nebo si zdarma vytvoř nový účet.

Diskusia – 12. diel - Arduino - Jazyk 2

Späť

Upozorňujeme, že diskusie pod našimi online kurzami sú nemoderované a primárne slúžia na získavanie spätnej väzby pre budúce vylepšenie kurzov. Pre študentov našich rekvalifikačných kurzov ponúkame možnosť priameho kontaktu s lektormi a študijným referentom pre osobné konzultácie a podporu v rámci ich štúdia. Toto je exkluzívna služba, ktorá zaisťuje kvalitnú a cielenú pomoc v prípade akýchkoľvek otázok alebo projektov.

Komentáre
Posledné komentáre sú na spodnej časti poslednej stránky.
Avatar
jadana
Člen
Avatar
Odpovedá na David Hart
jadana:20.12.2016 23:10

sice budu reagovat na rok starý dotaz, ale třeba to někomu jinému pomůže.
bohužel se pamět dynamicky nealokuje, ba právě naopak.
Pokud použiješ nejdříve kratší string, a poté delší, alokuje se nové místo pro ten delší string, a to původní se už nepoužije, čímž vzniká něco podobného, jako je fragmentace na disku.
Takže je skutečně dobré si alokovat nejdříve prostor pro nejdelší použitý string, pak nebude paměť zbytečně fragmentovat a nedojde tak rychle.

No snad jsem to popsal tak, že to bude k pochopení...

Avatar
Jiří z Pardubic:15.1.2017 22:05

Ahoj a hezký večer,
mám problém se čtením bytu. Zatím jsem nenašel řešení této jednoduché operace.

#include <SoftwareSerial.h>
byte z[] = {2, 3, 4, 5, 6, 7, 8, 9}; //defin. D2 az D9
int vysledek = 0; //výsledek cteni z D2 az D9 ...a to mi nejde!!!!!

void setup() {
Serial.begin(9600); //pro ladeni
for (int i = 2; i < 10; i++)
{
pinMode(z[i], INPUT);
}
}

void loop() { // z[i] potřebuji dostat do int vysledek
for (int i = 2; i < 10; i++)
digitalRead(z[i]);
}

Poradí mi někde? Děkuji.Jirka

Avatar
Adam Ježek
Tvůrce
Avatar
Odpovedá na Jiří z Pardubic
Adam Ježek:15.1.2017 22:07
vysledek = digitalRead(z[i]);
Odpovedať
Počkej chvíli, poradím se s křišťálovou koulí.
Avatar
Odpovedá na Adam Ježek
Jiří z Pardubic:15.1.2017 22:19

Děkuji, tušil jsem, že to bude jednoduché. Mám pouze Průvodce světem Arduina a tam jsem to nenašel.
Příjemný večer. Jirka

Avatar
Robert Neugebauer:27.2.2017 14:28

Ahoj, mám za sebou pár základních projektů s Arduinem, ale není mi jasná jedna asi základní věc. Příklad: chci na základě stisku daného tlačítka rozsvítit/zhasnout danou diodu. V první části programu si otestuji tlačítka a v druhé části dle výsledku rozsvítím či zhasnu LEDky. Ale co když potřebuji, aby každá ledka po stisku svítila jinak dlouho (2,5,10 s) a pak vypla. Když dám do programu k LEDce dám příkaz "delay" tak se celý program zastaví a tím pádem netestuje tlačítka a neovládám ostatní LEDky. Jak to tedy obecně dělat? Děkuji

Editované
Avatar
Adam Ježek
Tvůrce
Avatar
Odpovedá na Robert Neugebauer
Adam Ježek:27.2.2017 15:00

Vytvoř si proměnnou typu long pro každou ledku, nebo to dej do pole. Při rozsvícení LEDky si do proměnné ulož aktuální čas - vrátí ti ho funkce millis(). Pak v loopu jenom zkontroluješ, jestli uložená hodnota + počet sekund * 1000 je větší než to co aktuálně vrací millis(). Pokud ano, už uplynulo dost sekund od rozsvícení a můžeš zhasnout.

Odpovedať
Počkej chvíli, poradím se s křišťálovou koulí.
Avatar
Robert Neugebauer:27.2.2017 15:43

Aha, super. Děkuji moc. Chápu -li to správně, když budu mít nějaký složitější projekt (ovládání robota tlačítky + kontrola čidel, koncáků apod.), tak obecně nejdříve v první části programu načíst vstupy a v druhé nastavit výstupy a tak pořád dokola, protože možnost aby něco běželo současně Arduino nemá. Jako třeba nějaký podprogram "na pozadí". To je možné například externími zařízením, jako je třeba Audio Shield, který umí přehrávat MP3jku nezávisle na Arduinu.

Avatar
Josef Půta
Člen
Avatar
Josef Půta:26.4.2020 22:26

No a začínáme se blížit mému problému. Proč u tak jednoduchého příkladu je již užito "#include <SoftwareSerial.h> " ? Mám obecně problém se seriovou komunikací Arduino <> Processing, ale v diskutovaném prográmku to přeci je komunikace Serial.Vrite > terminal Arduina na PC monitoru a tam se zatím do žádné knihovny nesahalo nebo se mýlím?

Avatar
Roman Gregor
Člen
Avatar
Roman Gregor:8.11.2023 14:37

Nesoulad názvů funkce jednou blik() a pak blikni().

Posledné komentáre sú na spodnej časti poslednej stránky.
Robíme čo je v našich silách, aby bola tunajšia diskusia čo najkvalitnejšia. Preto do nej tiež môžu prispievať len registrovaní členovia. Pre zapojenie sa do diskusie sa zaloguj. Ak ešte nemáš účet, zaregistruj sa, je to zadarmo.

Zobrazené 9 správy z 19.