Skocz do zawartości

mihuu

Użytkownicy
  • Zawartość

    10
  • Rejestracja

  • Ostatnio

Reputacja

0 Neutralna

O mihuu

  • Ranga
    2/10
  1. #include <Wire.h> #include <LiquidCrystal_I2C.h> LiquidCrystal_I2C lcd(0x27, 16, 2); const int przycisk = 3; const int przyciskdod = 8; const int przyciskode = 9; const int dioda = 10; const int diodawb = 13; const int LED = 11; int buttonState = 0; int czas = 100; void setup() { pinMode(dioda, OUTPUT); pinMode(przycisk, INPUT); pinMode(przyciskode, INPUT); pinMode(przyciskdod, INPUT); pinMode(diodawb, OUTPUT); pinMode(LED, OUTPUT); digitalWrite(diodawb, LOW); digitalWrite(LED, HIGH); lcd.init(); lcd.begin(16, 2); lcd.backlight(); lcd.setCursor(0, 0); lcd.print("Czas"); lcd.setCursor(10, 0); lcd.print(czas); lcd.setCursor(0, 1); lcd.print("zgrzewania (ms):"); } void loop() { if (digitalRead(przycisk) == HIGH) { digitalWrite(LED, LOW); digitalWrite(dioda, HIGH); delay(czas); digitalWrite(dioda, LOW); delay(3000); digitalWrite(LED, HIGH); } else { digitalWrite(dioda, LOW); } if (digitalRead(przyciskdod) == HIGH) { czas += 50; lcd.clear(); lcd.setCursor(0, 0); lcd.print("Czas"); lcd.setCursor(10, 0); lcd.print(czas); lcd.setCursor(0, 1); lcd.print("zgrzewania (ms):"); } if (digitalRead(przyciskode) == HIGH) { czas -= 50; lcd.clear(); lcd.setCursor(0, 0); lcd.print("Czas"); lcd.setCursor(10, 0); lcd.print(czas); lcd.setCursor(0, 1); lcd.print("zgrzewania (ms):"); } }
  2. Takie szybkie pytanie, bo nie chce zakladac nowego tematu. Mam zadeklarowaną zmienną czas, która początkowo ma wartość 100 - czyli 100ms. Chciałbym teraz za pomocą przycisków zwiększać lub zmniejszać tę wartość o 50ms. Mój fragment kodu obsługi przycisków: if (digitalRead(przyciskdod) == HIGH) { czas = czas + 50; lcd.clear(); lcd.print("Czas zgrzewania:"); lcd.setCursor(5, 1); lcd.print(czas); } if (digitalRead(przyciskode) == HIGH) { czas = czas - 50; lcd.clear(); lcd.print("Czas zgrzewania:"); lcd.setCursor(5, 1); lcd.print(czas); } Przyciski działają, ale zamiast zmiany o 50ms są dodawane lub odejmowane jakieś przypadkowe liczby... Co robię tu źle?
  3. Tzn. co masz kolego na myśli? Żeby wyjście czujki dać bezpośrednio na przekaźnik SSR? Ale nie będzie przypadkiem za niskie napięcie? Z czujki wychodzi chyba niecałe 4V, a SSR'a przełącza 5v...?
  4. Była mowa o kilku sekundach... "Arduino działa od razu, tyle że na początku uruchamia bootloadera, a twój program po paru sekundach." Chyba, że wkradł się błąd i faktycznie chodzi o milisekundy więc wtedy OK Czyli wracając do tranzystora - jaki by się nadał? Bo oczywiście byłoby to rozwiązanie najlepsze, pobór byłby tylko na czuwającym czujniku ruchu.
  5. No właśnie... Czyli zanim zapalą się diody, ktoś może już przejść przez korytarz...
  6. Rozwiązanie bardzo interesujące... Mam tylko pytanie jakiego tranzystora najlepiej użyć i jak go prawidłowo wpiąć? I co chyba ważniejsze, to czy poprzez takie rozwiązanie nie będzie żadnych opóźnień w działaniu układu? Bo zanim czujnik poda napięcie na tranzystor, ten uruchomi Arduino, które zacznie pracę? Ile czasu Arduino się uruchamia, a może działa od razu po podaniu zasilania?
  7. A powiedzcie mi proszę przy okazji, czy jeżeli będę miał Arduino połączone pod pin 5V lub VIN, to czy mogę jednocześnie podłączyć je kablem USB pod komputer - celem pogrzebania w kodzie? Nie pogryzą się te dwa źródła zasilania jak będą aktywne jednocześnie? A czujniki ruchu mam HC-SR501 - ponoć pobierają pomijalną ilość prądu podczas czuwania Coś na poziomie 50uA chyba.
  8. No chcę do projektu wykorzystać właśnie Arduino Pro mini 5V, które i tak już samo z siebie mało pobiera... (Arduino z czujnikami pewnie będzie pobierało około 20mA na godzinę), co po np. 8h daje 160 mA - co mimo wszystko zeżre baterię 2500mA w 15 dni. Do tego trzeba doliczyć kilka zapaleń diod, które też będę zasilał z tych akumulatorków, na początek dam jednego PowerLeda 1W, który chyba zużywa coś koło 300mA (około 5mA na jedna minutę pracy). Jego łączny czas pracy na 8h będzie znikomy. Dlaczego pomyślałem o usypianiu, które w takim przypadku pozwoliłoby super zaoszczędzić prądu. Najbardziej chciałbym to zasilać z 5-6 akumulatorków AA poprzez maleńki stabilizator 5v oparty na LM1117. Jest to projekt typowo hobbystyczny, ale od czegoś trzeba zaczynać, aby zgłębiać wiedzę dalej
  9. Witam Wszystkich na forum Od jakiegoś czasu wkręciło mnie to całe Arduino i trochę sobie dłubię. Chciałbym zrobić pierwszy projekcik (dla wielu pewnie banalnie prosty), a mianowicie czujnik ruchu oparty na dwóch czujnikach ruchu i przekaźniku SSR włączającym diodę LED lub jakąś taśmę LED. Takie nocne oświetlenie na korytarzu powiedzmy O ile samo zaprogramowanie nie stanowi problemu, to mam zagwozdkę jak maksymalnie oszczędzić prąd, bo zasilanie ma być z akumulatorków. Pomyślałem o funkcji usypiania, ale tu pojawia się pytanie. Czy po uśpieniu będą aktywne czujniki ruchu, a jeżeli tak, to czy będą w stanie wybudzić Arduino? Oczywiście nie zda tu egzaminu usypianie na określony czas, ponieważ w międzyczasie może pojawić się ruch i nie uruchomi się oświetlenie...
×
×
  • Utwórz nowe...