Stránka 1 z 1

Pomoc s programem

Napsal: 01 lis 2021, 11:27
od prusa98
Zdravím, prosím nenašel by se tu nekdo kdo by mi udělal kód pro tento priklad?

Re: Pomoc s programem

Napsal: 01 lis 2021, 12:33
od KamilV
Kdo bude "ten zlej", co to řekne? Dobře, dnes já.

Ne. Nenajde.
Ačkoliv by klidně mohl.
Ale vypadá to dost jako úloha, kterou jsi někde dostal (škola, kurz, zaměstnání...) a je neetické, aby Ti ji někdo vypracoval.

Je tu ale mraky lidí, kteří Ti s tím pomohou. Dělat ale musíš sám. Ukaž, co jsi udělal. Řekni, na čem ses zasekl. Pomoc přijde velmi rychle.

Re: Pomoc s programem

Napsal: 01 lis 2021, 12:50
od prusa98
Děkuji zaradu ale potřebuji pomoct od začátku. Nikdy jsem ten program neviděl. Opravdu bych byl rad zajakoukoliv radu. Vím ze na začátku musím napsat asi tu rovnici ale přesně nevím jak nikde jsem to nenašel.

Re: Pomoc s programem

Napsal: 01 lis 2021, 13:03
od martinius96
Snažil som sa pomôcť na FB v tvojom príspevku v skupine Arduino a Raspberry poradna CZ & SK pred 4 dňami.
Vynaložil som svoj čas a poslal som ti tam program s jedným z X možných riešení, ako je to možné urobiť...

Asi si si riešenie na Pastebin nevšimol, ktoré bolo na konci môjho komentára k príspevku, tak schválne to tu máš znova, aby to nevyšlo úplne nazmar. Skús si program spustiť a skúmaj, čo jednotlivé časti programu robia. Potom si do programu doplň komentáre ku každému riadku kódu. Ak nevieš, čo jednotlivé časti programu (funkcie a pod.) robia, pozri si Arduino Reference https://www.arduino.cc/reference/en/, kde máš ku každej funkcii popis + elementárny príklad na ktorom sa dá pochopiť ako funguje a zároveň ako sa používa.

Kód: Vybrat vše

void setup() {
  Serial.begin(115200);
  pinMode(13, OUTPUT);
  Serial.println(F("Enter three numbers to calculate how many seconds"));
  Serial.println(F("the LED will blink for"));
  Serial.println(F("first # + second # x third #"));
  String str;
  int first, second, third;
  Serial.println(F("Enter the first number:"));
  while (1) {
    if (Serial.available() > 0) {
      str = Serial.readStringUntil('\n');
      first = str.toInt();
      break;
    }
  }
  Serial.println(first);
  Serial.println(F("Enter the second number:"));
  while (1) {
    if (Serial.available() > 0) {
      str = Serial.readStringUntil('\n');
      second = str.toInt();
      break;
    }
  }
  Serial.println(second);
  Serial.println(F("Enter the third number:"));
  while (1) {
    if (Serial.available() > 0) {
      str = Serial.readStringUntil('\n');
      third = str.toInt();
      break;
    }
  }
  Serial.println(third);
  Serial.print(String(first) + " + " + String(second) + " x " + String(third) + " = ");
  int res = first + second * third;
  Serial.println(res);
  Serial.print(F("The LED should stay on for "));
  Serial.print(res);
  Serial.println(F(" seconds"));
  digitalWrite(13, HIGH);
  Serial.println("LED on at: " + String (millis()));
  delay(res * 1000);
  digitalWrite(13, LOW);
  Serial.println("LED off at: " + String (millis()));
}

void loop() {

}
UART výstup:
Obrázek

Re: Pomoc s programem

Napsal: 04 lis 2021, 14:56
od prusa98
Děkuji moc. Snažíme se to podle toho pochopit. Ze začátku to vubec neslo, ale když změním serialbegin na 9600 tak to funguje. Čím to je ? Opravdu moc děkuju.

Re: Pomoc s programem

Napsal: 04 lis 2021, 15:17
od ondraN
Musíš si nastavit rychlost sériové linky stejnou v programu i v IDE (ta je defaultně 9600).