Skocz do zawartości

MrSnowman24688

Użytkownicy
  • Zawartość

    4
  • Rejestracja

  • Ostatnio

Informacje

  • Płeć
    Mężczyzna

Ostatnio na profilu byli

Blok z ostatnio odwiedzającymi jest wyłączony i nie jest wyświetlany innym użytkownikom.

Osiągnięcia użytkownika MrSnowman24688

Aktywny debiutant

Aktywny debiutant (2/19)

  • To już rok!
  • To już 5 lat!

Odznaki

0

Reputacja

  1. Jako zadanie domowe postanowiłem zrobić koguty policyjne z wykorzystaniem linijki i dwóch diod led, mniejsza o to, wyszło tak jak chciałem, postanowiłem więc trochę zmodyfikować ten program i dodać brzęczyk (prowizorka syreny policyjnej ), i tutaj nasuwają się pytania: 1. Jak to zrobić żeby brzęczyk wydawał jakąś tam konkretną melodyjkę podczas działania linijki, niezależnie od niej. Chodzi o to aby linijka i brzęczyk działały niezależnie od siebie, linijka pokazuje swoje podczas gdy brzęczyk ciągle gra. Pytanie dotyczy również tych dwóch diod, które chcę żeby świeciły w na swój sposób. 2. Dołączamy switcha. Jak zrobić aby po jego wciśnięciu program się uruchamiał (diody świecą, brzęczyk gra) , zaś po kolejnym wduszeniu program się wyłączał (nic nie świeci i nie gra). 3. Jest jakiś sposób na wyłączenie arduino gdy jest podłączone do zasilania? Załączam kod który obsługuje tylko linijkę WS2812. #include <Adafruit_NeoPixel.h> //Dołączenie biblioteki //Konfiguracja linijki Adafruit_NeoPixel linijka = Adafruit_NeoPixel(8, A0, NEO_GRB + NEO_KHZ800); void setup() { linijka.begin(); //Inicjalizacja linijka.show(); } void loop() { for(int i=0; i<8; i++){ //Kolor czerwony na całej linijce linijka.setPixelColor(i, linijka.Color(25,0 , 0)); } linijka.show(); for(int i=0;i<8;i++){ //Niebieski impuls do góry if(i==0){ linijka.setPixelColor(i, linijka.Color(0, 0, 200)); linijka.show(); } else if(i==8){ linijka.setPixelColor(i, linijka.Color(0, 0, 200)); linijka.setPixelColor(i-1, linijka.Color(25, 0, 0)); linijka.show(); } else{ linijka.setPixelColor(i, linijka.Color(0, 0, 200)); linijka.setPixelColor(i-1, linijka.Color(25, 0, 0)); linijka.show(); delay(50); } } for(int i=7;i>0;i--){ //Niebieski impuls w dół linijka.setPixelColor(i-1, linijka.Color(0, 0, 200)); linijka.setPixelColor(i, linijka.Color(25, 0, 0)); linijka.show(); delay(50); } }
  2. Witam! zad.5.2 2 pytanka: -Dlaczego występuje mignięcie diodą? -Dlaczego dioda nie gaśnie całkowicie? int wyp= 0; //wypełnienie int zmiana = 2; void setup() { pinMode(3, OUTPUT); Serial.begin(9600); } void loop() { while (wyp < 255) { //pętla rozświecająca diodę analogWrite(3, wyp); wyp = wyp + zmiana; delay(25); Serial.println(wyp); } //występuje szybkie mignięcie diodą while(wyp>0){ //pętla gasząca diodę analogWrite(3, wyp); wyp=wyp-zmiana; delay(25); Serial.println(wyp); } Serial.println(wyp); // pokazuje 0, lecz dioda nadal minimalnie się świeci delay(3000); Serial.println(wyp); // pokazuje 0, lecz dioda nadal minimalnie się świeci }
  3. Dzięki Treker 😃 "while(Serial.available()==0){}" rozwiązało problem. Mam nadzieję, że o to chodziło.
  4. Witam! Dopiero się uczę i potrzebuję pomocy. Próbowałem zrobić zadanie 4.5 ale niestety nie potrafię rozwiązać jednego problemu. [ podany kod służy jedynie do zademonstrowania problemu ] Chciałbym aby po naciśnięciu przycisku program czekał na podanie imienia i dopiero później przechodził do dalszej części programu. Obecnie wygląda to tak, że po wpisaniu imienia nic się nie dzieje. Dopiero po kolejnym naciśnięciu przycisku pojawia się tekst "Podaj imię:" oraz "Witaj " + odebraneDane + "!". String odebraneDane = ""; //Pusty ciąg odebranych danych void setup () { Serial.begin (9600); pinMode(8,INPUT_PULLUP); } void loop () { if (digitalRead(8) == LOW) { delay(300); Serial.println("Podaj imię:"); if(Serial.available() > 0) { odebraneDane = Serial.readStringUntil('\n'); Serial.println("Witaj " + odebraneDane + "!"); } } }
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.