Skocz do zawartości

adrianrogalski

Użytkownicy
  • Zawartość

    2
  • Rejestracja

  • Ostatnio

Reputacja

1 Neutralna

O adrianrogalski

  • Ranga
    1/10
  1. Zadania domowe :DD 5.3 #include <Servo.h> Servo serwomechanizm; int pozycja = 0; int zmiana = 6; int czas = 150; int zmianaCzasu = 50; void setup() { serwomechanizm.attach(10); } void loop() { if(pozycja < 180){ serwomechanizm.write(pozycja); //wykonaj ruch }else{ pozycja = 0; } pozycja += zmiana; delay(czas); czas += zmianaCzasu; //za każdym zapętleniem zwiększaj opóźnienie o wartosc w zmianie czasu } ZAD 5.4 #include <Servo.h> Servo serwomechanizm; int pozycja = 0; String userInput = ""; void setup() { Serial.begin(9600); serwomechanizm.attach(10); Serial.println("Wpisz kąt o jaki ma się obrócić serwo"); } void loop() { if(Serial.available() > 0){ userInput = Serial.readStringUntil('\n'); //jeżeli w buforze znajdą się jakieś dane przypisz je do userInput pozycja = userInput.toInt(); //zmien typ na int if(pozycja <= 180 && pozycja >= 0){ //jeżeli pozycja jest w zakresie <0,180> ustaw ją na serwo serwomechanizm.write(pozycja); delay(20); } else{ //w innym wypadku wyświetl komunikat Serial.println("Podaj liczbe z zakresu <0,180>"); } } } ZAD 5.5 #include <Servo.h> Servo serwomechanizm; int potencjometr = 0; int pozycja = 0; void setup() { serwomechanizm.attach(10); } void loop() { potencjometr = analogRead(A5); pozycja = map(potencjometr, 0, 1023, 0, 180); //zmien odczyty z przetwornika ADC na zakres od 0 do 180 serwomechanizm.write(pozycja); //ustaw pozycje serwa na podstawie wartości z map() delay(20); //małe opóźnienie w celu redukcji ewentualnych szumów }
  2. Hej mam problem z zadaniem 4.5 program nie chce wczytywać danych kiedy jest w instrukcji if dotyczącej wciśnięcia przycisku. Zaczyna działać dopiero kiedy oddzielam reszte if'ow(kod nr.2) i zastanawiam sie czym jest to spowodowane. #define zielona 10 #define zolta 13 #define czerwona 11 #define przycisk 12 #define potencjometr A5 int wartoscLosu = 0; String userInput = ""; int intInput = 0; int proby = 0; void setup() { Serial.begin(9600); pinMode(czerwona, OUTPUT); pinMode(zielona, OUTPUT); pinMode(zolta, OUTPUT); pinMode(przycisk, INPUT_PULLUP); Serial.println("Losuj"); } void loop() { if (digitalRead(przycisk) == LOW) { wartoscLosu = analogRead(potencjometr); Serial.println("Podaj liczbę"); if (Serial.available() > 0) { userInput = Serial.readStringUntil('\n'); Serial.println(userInput); intInput = userInput.toInt(); if (intInput <= (wartoscLosu + 50) && intInput >= (wartoscLosu - 50) ) { digitalWrite(zielona, HIGH); digitalWrite(czerwona, LOW); digitalWrite(zolta, LOW); Serial.println("Wygrałeś"); } else if (proby < 2) { digitalWrite(zolta, HIGH); digitalWrite(zielona, LOW); digitalWrite(czerwona, LOW); proby++; } else { digitalWrite(czerwona, HIGH); digitalWrite(zielona, LOW); digitalWrite(zolta, LOW); Serial.println("Przegrałeś"); } } } } #define zielona 10 #define zolta 13 #define czerwona 11 #define przycisk 12 #define potencjometr A5 int wartoscLosu = 0; String userInput = ""; int intInput = 0; int proby = 0; void setup() { Serial.begin(9600); pinMode(czerwona, OUTPUT); pinMode(zielona, OUTPUT); pinMode(zolta, OUTPUT); pinMode(przycisk, INPUT_PULLUP); Serial.println("Losuj"); } void loop() { if (digitalRead(przycisk) == LOW) { wartoscLosu = analogRead(potencjometr); Serial.println("Podaj liczbę"); } if (Serial.available() > 0) { userInput = Serial.readStringUntil('\n'); Serial.println(userInput); intInput = userInput.toInt(); if (intInput <= (wartoscLosu + 50) && intInput >= (wartoscLosu - 50) ) { digitalWrite(zielona, HIGH); digitalWrite(czerwona, LOW); digitalWrite(zolta, LOW); Serial.println("Wygrałeś"); } else if (proby < 2) { digitalWrite(zolta, HIGH); digitalWrite(zielona, LOW); digitalWrite(czerwona, LOW); proby++; } else { digitalWrite(czerwona, HIGH); digitalWrite(zielona, LOW); digitalWrite(zolta, LOW); Serial.println("Przegrałeś"); } } }
×
×
  • Utwórz nowe...