Skocz do zawartości
Zamknięcie Forum PC LAB

Szanowny Użytkowniku,

Informujemy, że za 30 dni tj. 30 listopada 2024 r. serwis internetowy Forum PC LAB zostanie zamknięty.

Administrator Serwisu Forum PC LAB - Ringier Axel Springer Polska sp. z o.o. z siedzibą w Warszawie: wypowiada całość usług Serwisu Forum PC LAB z zachowaniem miesięcznego okresu wypowiedzenia.

Administrator Serwisu Forum PC LAB informuje, że:

  1. Z dniem 29 listopada 2024 r. zakończy się świadczenie wszystkich usług Serwisu Forum PC LAB. Ważną przyczyną uzasadniającą wypowiedzenie jest zamknięcie Serwisu Forum PC LAB
  2. Dotychczas zamowione przez Użytkownika usługi Serwisu Forum PC LAB będą świadczone w okresie wypowiedzenia tj. do dnia 29 listopada 2024 r.
  3. Po ogłoszeniu zamknięcia Serwisu Forum od dnia 30 października 2024 r. zakładanie nowych kont w serwisie Forum PC LAB nie będzie możliwe
  4. Wraz z zamknięciem Serwisu Forum PC LAB, tj. dnia 29 listopada 2024 r. nie będzie już dostępny katalog treści Forum PC LAB. Do tego czasu Użytkownicy Forum PC LAB mają dostęp do swoich treści w zakładce "Profil", gdzie mają możliwość ich skopiowania lub archiwizowania w formie screenshotów.
  5. Administrator danych osobowych Użytkowników - Ringier Axel Springer Polska sp. z o.o. z siedzibą w Warszawie zapewnia realizację praw podmiotów danych osobowych przez cały okres świadczenia usług Serwisu Forum PC LAB. Szczegółowe informacje znajdziesz w Polityce Prywatności

Administrator informuje, iż wraz z zamknięciem Serwisu Forum PC LAB, dane osobowe Użytkowników Serwisu Forum PC LAB zostaną trwale usunięte ze względu na brak podstawy ich dalszego przetwarzania. Proces trwałego usuwania danych z kopii zapasowych może przekroczyć termin zamknięcia Forum PC LAB o kilka miesięcy. Wyjątek może stanowić przetwarzanie danych użytkownika do czasu zakończenia toczących się postepowań.

dluga.marta

Forumowicze
  • Liczba zawartości

    24
  • Rejestracja

  • Ostatnia wizyta

Odpowiedzi dodane przez dluga.marta


  1. Proszę o pomoc w napisaniu kilku programów Arduino.

    Zadanie 1
    Połącz układ zawierający 2 czujniki DS18B20 i oprogamuj je tak, aby:
    - przekroczenie temperatury 300C przez dowolny czujnik było sygnalizowane zapaleniem czerwonej diody
    - obniżenie temperatury do 240C powodowało zgaszenie diody czerwonej i zapalenie zielonej.

     

    Zadanie 2
    Oprogramuj układ, który w zależności od zmierzonego napięcia odczytanego z potencjometru zapali odpowiednio diody, wg schematu:
    - Dla U = (2V – 3V) zapal L1 x 2 (zamigaj 2 razy diodą L1) ; czas migania 1s x 2
    - Dla U = (3,5V – 4,5V) zapal L3 x 4 (zamigaj 4 razy diodą L3) ; czas migania 0,5s x 4

    Uwaga: Programując układ, wykorzystaj instrukcję switch;

     

    ZADANIE 3
    Zmodyfikuj tak Listing 3, aby w przypadku błędnego koloru, program odesłał info o błędzie na konsolę.

    kod Arduino

    Listing3  tekstowe sterowanie świeceniem diód #define zielona 8 #define czerwona 9
    String odebraneDane = "";
    void setup() {
    Serial.begin(9600);
    pinMode(zielona, OUTPUT); //Ustaw WE/WY
    pinMode(czerwona, OUTPUT);
    digitalWrite(zielona, LOW); //Wyłącz diody
    digitalWrite(czerwona, LOW);
    }
    void loop() {
    if(Serial.available() > 0) {
    odebraneDane = Serial.readStringUntil('\n');
    if (odebraneDane == "zielona") {
    digitalWrite(zielona, HIGH); // włącz diodę zieloną
    delay(1000);
    digitalWrite(zielona, LOW); }
    if (odebraneDane == "czerwona") {
    digitalWrite(czerwona, HIGH); //włącz diodę czerwoną
    delay(1000);
    digitalWrite(czerwona, LOW);
    } } }

     

    Zadanie 4
    Zmodyfikuj tak Listing 4 aby:
    - czerwona dioda sygnalizowała napełnienie zbiornika (przekroczenie pojemności) (przycisk zwarty – czerwona dioda)
    - zielona stan napełniania zbiornika (zbiornik może jeszcze być napełniany),przycisk rozwarty
    - jednocześnie zachowaj sygnalizację dla zamknięcia okna(przycisk zwarty – dioda zielona); rozwarty – czerwona.

    Listing4
    #define diodaCzerwona 8
    #define diodaZielona 9
    #define openClose 10
    void setup(){
    Serial.begin(9600); //Uruchamiamy transmisję
    pinMode(diodaCzerwona, OUTPUT); //Wyjście diody czerwonej
    pinMode(diodaZielona, OUTPUT); //Wyjście diody zielonej
    pinMode(openClose, INPUT_PULLUP); //rezystor podciągający
    digitalWrite(diodaCzerwona, LOW); //Wyłączenie obu diod
    digitalWrite(diodaZielona, LOW);
    }
    void loop() {
    if (digitalRead(openClose) == LOW) { //Jeśli jest zwarty
    digitalWrite(diodaZielona, HIGH); //Zapal zieloną
    digitalWrite(diodaCzerwona, LOW); //Zgaś czerwoną
    } else { //Jeśli openClose nie jest wciśnięty
    digitalWrite(diodaZielona, LOW); //zgas zieloną
    digitalWrite(diodaCzerwona, HIGH); //zapal czerwoną
    Serial.println("Uwaga! Alarm! ");
    while (digitalRead(openClose) == HIGH) {
    //czekaj się w pustej pętli do ponownego badania openClose
    delay(25); //Wprowadż opóźnienie 25ms, niweluj zakłócenia
    }
    }
    }

     

×
×
  • Dodaj nową pozycję...