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:

Diskusia – 5. diel - Arduino - Projekty s LED diódami a potenciometrom

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
Avatar
Roman Štěpánek :18.2.2023 13:52

Článek se mi líbí moc, ale už ty kódy nedokážu rozlousknout.
To už mi přijde těžší k orientaci, než to předchozí.
Jak u rozsvícení led na desce, tak toho potenciometru.

Avatar
Odpovedá na Roman Štěpánek
Dominik Němeček:18.2.2023 15:53

Jsem rád, že se ti článek líbil. Co konkrétně na kódech nechápeš? :)

Avatar
Roman Štěpánek :18.2.2023 16:00

Ahoj, dík za odpověď.
Oproti předcházejícím lekcím, kde se začalo opravdu od píky, rezistory, ledky, základy, tady je to mnohem složitější.
Hlavně mi moc chyběl úplný kód, abych ho mohl porovnat s tím, kde dělám chyby.
Kdybys mi ho mohl poslat, tak už bych se tím prokousal, jinak bych tedy napsal, kde všude jsem nechápal vysvětlení.
Díky Roman

Avatar
Odpovedá na Roman Štěpánek
Dominik Němeček:18.2.2023 16:28

Celý kód první úlohy:

//==OVLÁDÁNÍ LED PŘES SERIOVÝ MONITOR==

// Definování pinů
#define LED_ARD 13

// Proměnné
byte pocet_bliknuti = 0;
bool pomocna_promena = false;

void setup()
{
  pinMode(LED_ARD, OUTPUT);
  Serial.begin(9600);
}

void loop()
{
  if (!pomocna_promena)
  {
    Serial.println("Kolikrat ma LED zablikat?");
    pomocna_promena = true;
  }

  if (Serial.available() > 0)
  {
        pocet_bliknuti = Serial.parseInt();
        for (int i = 1; i <= pocet_bliknuti; i++)
        {
              digitalWrite(LED_ARD, HIGH);
              delay(1000);
              digitalWrite(LED_ARD, LOW);
              delay(1000);
        }

  Serial.print("Zvoleny pocet bliknuti je: ");
  Serial.println(pocet_bliknuti);
  Serial.println("-------------------------");
  pomocna_promena = 0;
  }
}

Celý kód druhé úlohy:

//==OVLÁDÁNÍ LED PŘES POTENCIOMETR==

// Definování pinů
#define LED_ZELENA 2
#define LED_ZLUTA 3
#define LED_ORANZOVA 4
#define LED_CERVENA 5
#define POTENCIOMETR A0

// Proměnné
int hodnota_potenciometr;

void setup()
{
  pinMode(LED_ZELENA, OUTPUT);
  pinMode(LED_ZLUTA, OUTPUT);
  pinMode(LED_ORANZOVA, OUTPUT);
  pinMode(LED_CERVENA, OUTPUT);
  pinMode(POTENCIOMETR, INPUT);
  Serial.begin(9600);
}

void loop()
{
  hodnota_potenciometr = analogRead(POTENCIOMETR);
  Serial.print("Hodnota potenciometru je: ");
  Serial.println(hodnota_potenciometr);

  // Využití ternárního výrazu
  digitalWrite(LED_ZELENA,(hodnota_potenciometr > 290) ? HIGH : LOW);
  digitalWrite(LED_ZLUTA,(hodnota_potenciometr > 435) ? HIGH : LOW);
  digitalWrite(LED_ORANZOVA,(hodnota_potenciometr > 725) ? HIGH : LOW);
  digitalWrite(LED_CERVENA,(hodnota_potenciometr > 1015) ? HIGH : LOW);

}

Kódy máš zde, kdyby nebylo něco jasné, tak mi napiš. :)

Editované
Avatar
Odpovedá na Dominik Němeček
Roman Štěpánek :18.2.2023 16:44

Moc díky!!! Asi jsem někde přehlédl, že mám zadat hodnotu kolikrát do sériového monitoru !!!
Moc díky za celé kódy!!!
Roman

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é 5 správy z 5.