Vianoce v ITnetwork sú tu! Dobí si teraz kredity a získaj až 80 % extra kreditov na e-learningové kurzy ZADARMO. Zisti viac.
Hľadáme nové posily do ITnetwork tímu. Pozri sa na voľné pozície a pridaj sa k najagilnejšej firme na trhu - Viac informácií.

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.

 
Odpovedať
18.2.2023 13:52
Avatar
Dominik
Tvůrce
Avatar
Odpovedá na Roman Štěpánek
Dominik:18.2.2023 15:53

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

 
Odpovedať
18.2.2023 15:53
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

 
Odpovedať
18.2.2023 16:00
Avatar
Dominik
Tvůrce
Avatar
Odpovedá na Roman Štěpánek
Dominik: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é 18.2.2023 16:30
 
Odpovedať
18.2.2023 16:28
Avatar
Odpovedá na Dominik
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

 
Odpovedať
18.2.2023 16:44
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.

Zatiaľ nikto nevložil komentár - buď prvý!