Skocz do zawartości

Philip

Użytkownicy
  • Zawartość

    101
  • Rejestracja

  • Ostatnio

  • Wygrane dni

    3

Wszystko napisane przez Philip

  1. Philip

    Praca po maturze

    Z pełnym etatem może być ciężko. Wielu pracodawców oczekuje kilkuletniego doświadczenia i zawodu. Mówię z czym się spotkałem sam składając CV jakiś czas temu. Liczą się też dodatkowe kursy programowania, grafiki, na obsługę urządzeń, sep. Ogólnie im masz więcej do pochwalenia się tym lepiej. Byleby to jak najlepiej ująć to w CV i nie napisać za dużo. Tak jak napisał kolega wyżej. Możesz pochwalić się co robiłeś. Pokazać pracodawcy na rozmowie. Będzie to na pewno na plus. Warto też pamiętać o wpisie CV o przetwarzaniu danych osobowych wielu o tym zapomina. Pozdrawiam
  2. To jest jakiś silnik do górnictwa, bo na takie napięcia znamionowe nie wszędzie się je stosuje?
  3. Philip

    SEP czy Technik Elektronik

    Kurs trwa nawet do trzech dni pod rząd i następnie egzamin.
  4. Philip

    SEP czy Technik Elektronik

    Uprawnienia SEP są upoważnieniem do wykonywania konkretnych czynności np. pracy przy obiektach pod napięciem, liniach nn, SN. One dają jakąś wiedzę z zakresu bezpieczeństwa, BHP, pierwszej pomocy, w minimalnym stopniu z elektryki, ale nie można ich brać jak kurs na technika i nie czynią Cię elektrykiem czy elektronikiem. Jeśli chciałbyś pracować w zawodzie, to one są koniecznością. Bez nich w " " nie można włożyć wtyczki do gniazda 230V
  5. Philip

    Problem z Arduino UNO R3 klon

    Cześć, Musisz używać portu, który jest przypisany dla Arduino, nie dowolnego. Otwórz menedżer urządzeń i sprawdź. Kod programu to najzwyklejszy blink. Dla pewności, że nie zrobiłeś nic źle, otwórz plik Blink z przykładów w Arduino IDE i wgraj go. Jeśli się okaże, że dalej nic, to Arduino masz walnięte.
  6. Nie wyłączałem ostrzeżeń kompilatora. Nawet nie wiedziałem, że tak się da Przy aktualnym kodzie kompilator nic nie wyrzuca.
  7. Tak moja pomyłka i tak też było wcześniej w kodzie. Teraz tylko przepisywałem to dla poprzedniego posta.
  8. Aktualny kod jak powyżej, a serial port: ... ... Do you want to switch on the power supply? Attention! The power supply will be switched on! 230V will be switched on! Keep hands out of metal and live parts. Please accept. Accepted 0 1 2 3 4 5 1 2 3 4 5 6 7 jest Wcześniejszego kodu nie mam, bo wszystko w jednym sketchu, ale było coś takiego dla tych dwóch stanów (od buzzera i ledzika): case alarm1: int t = 0; for(t;t>=6;t++){ if(aktualnyCzas - zapamietanyCzas == 1000UL){ Serial.println(t); zapamietanyCzas = aktualnyCzas; state = !state; digitalWrite(BUZZER,state); if(t>=6){ stan = alarm2; digitalWrite(BUZZER,LOW); } } } break; ///////////////////////////////////////////////////// case alarm2: int i = 0; for(i;i>=6;i++){ if(aktualnyCzas - zapamietanyCzas == 1000UL){ zapamietanyCzas = aktualnyCzas; state = !state; digitalWrite(LED,state); Serial.println(i); if(i==7){ stan = podanieNapiecia; digitalWrite(LED,LOW); } } } break; Serial wyglądał tak: ... Do you want to switch on the power supply? Attention! The power supply will be switched on! 230V will be switched on! Keep hands out of metal and live parts. Please accept. Accepted 0 0 0 0 0 0 0 0 0 0 Program cały czas był w jednym miejscu i wyświetlały się zera i buzzer cały czas brzęczał i nie było wyjścia z pętli for i przejścia do stanu alarm2 diody
  9. Zmienne typu int i oraz t muszą być zadeklarowane jako globalne, nie lokalne dla pętli for czy danego stanu, bo cały czas się zerują. W każdym nowym obiegu ich wartość jest zero. Wrzuciłem sobie wszystko do seriala i ładnie widać co się dzieje. Druga sprawa zapis inkrementacji i++ nie działa, ale to już nieważne. Wrzucam kawałek kodu jak to wygląda, jak by ktoś miał podobny problem. int i = 0; int t = 0; void setup () { ... } void loop (){ ... case jakisStan: if(aktualnyCzas - zapamietanyCzas == 1000UL){ i = i+1; zapamietanyCzas = aktualnyCzas; state = !state; digitalWrite(LED,state); Serial.println(i); if(i==7){ stan = podanieNapiecia; digitalWrite(LED,LOW); } } break; ... } Sam sobie poradziłem. Przerwania też pomogły, więc problemu już nie ma. Dzięki za pomoc @Elvis @ethanak i @Hudyvolt Pozdrawiam Philip
  10. Takie mierniki wskazówkowe są bardzo delikatne, szczególnie galwanometry. Jeśli ci upadł mógł ulec uszkodzeniu mechanizm mierzący dźwięk. Ciężko ci coś podpowiedzieć nie widząc fizycznie miernika. Może te druciki przy upadku wyskoczyły skądś. Ciężko gdybać.... Kilka razy miałem styczność z zepsutymi miernikami analogowymi. Rozebrałem je i po złożeniu coś nie dociskało, nie chowało się, coś się może nadłamać. Musisz dokładnie sprawdzić czy nie jest uszkodzony mechanizm.
  11. Super projekt. Estetycznie, profesjonalnie i bardzo użyteczne urządzenie Takie pytanie: czy sam zaprojektowałeś wszystkie płytki PCB? Pozdrawiam
  12. Czasem dużo nie potrzeba. Do regulacji prądu żarówki żarowej wystarczy zwykły ściemniacz, czyli potencjometr. Żarówka żarowa z wolframowym żarnikiem sama w sobie jest rezystorem o pewnej rezystancji. Tylko to nie może być też taki zwykły potencjometr. Wiadomo o pewnej mocy.
  13. Spróbuję przerobić cały kod na kod z przerwaniami. Możliwe, że kod się dziwnie zatrzymuje w niektórych stanach i nie umie od razu w nie wejść.
  14. #define PRZYCISK 6 #define LED 7 #define BUZZER 8 #define WYJ 9 #include "Bounce2.h" Bounce debouncer = Bounce(); //Debouncing enum { czyWcisnietoPrzycisk = 1, zapytanie1, zapytanie2, alarm1, stopAlarm, alarm2, podanieNapiecia, oczekiwanieNaWylaczenie, czyWylaczyc }; boolean state = false; int stan = 1; String odebraneDane = ""; int aktualnyCzas = 0; int zapamietanyCzas = 0; int zapamietanyCzas2 = 0; void setup() { Serial.begin(9600); //Inicjalizacja komunikacji szeregowej //Deklaracja pinMode(PRZYCISK,INPUT_PULLUP); pinMode(LED,OUTPUT); pinMode(BUZZER,OUTPUT); pinMode(WYJ,OUTPUT); debouncer.attach(PRZYCISK); debouncer.interval(5); digitalWrite(LED,!state); //Test leda i buzzera digitalWrite(BUZZER,!state); delay(1000); digitalWrite(LED,state); digitalWrite(BUZZER,state); delay(1000); } void loop() { aktualnyCzas = millis(); debouncer.update(); int wartosc = debouncer.read(); if(Serial.available()>0) { odebraneDane = Serial.readStringUntil('\n'); } switch(stan){ case czyWcisnietoPrzycisk: if(aktualnyCzas - zapamietanyCzas == 5000UL){ zapamietanyCzas = aktualnyCzas; Serial.println("..."); } if(wartosc == LOW){ stan = zapytanie1; } break; ///////////////////////////////////////////////////// case zapytanie1: if(aktualnyCzas - zapamietanyCzas == 5000UL){ zapamietanyCzas = aktualnyCzas; Serial.println("Do you want to switch on the power supply?"); } if(odebraneDane == "yes"){ Serial.println("Attention! The power supply will be switched on!"); //Akceptacja zapytania stan = zapytanie2; } if(odebraneDane == "no"){ Serial.println("Mistake! I go to observance state."); stan = czyWcisnietoPrzycisk; } break; ///////////////////////////////////////////////////// case zapytanie2: if(aktualnyCzas - zapamietanyCzas == 5000UL){ zapamietanyCzas = aktualnyCzas; Serial.println("230V will be switched on! Keep hands out of metal and live parts. Please accept."); } if(odebraneDane == "ok"){ zapamietanyCzas = aktualnyCzas; Serial.println("Accepted"); stan = alarm1; } break; ///////////////////////////////////////////////////// case alarm1: for(int t=0;t<6;t++){ if(aktualnyCzas - zapamietanyCzas2 == 1000UL){ Serial.println("hmm"); zapamietanyCzas2 = aktualnyCzas; state = !state; digitalWrite(BUZZER,state); } if(t==6){ stan = stopAlarm; } } break; ///////////////////////////////////////////////////// case stopAlarm: //noTone(BUZZER); digitalWrite(BUZZER,LOW); stan = alarm2; break; ///////////////////////////////////////////////////// case alarm2: int i; if(aktualnyCzas - zapamietanyCzas == 1000UL){ i++; zapamietanyCzas = aktualnyCzas; state = !state; digitalWrite(LED,state); } if(i==6){ stan = podanieNapiecia; } break; ///////////////////////////////////////////////////// case podanieNapiecia: Serial.println("jest"); //digitalWrite(WYJ,HIGH); stan = oczekiwanieNaWylaczenie; break; ///////////////////////////////////////////////////// case oczekiwanieNaWylaczenie: if(wartosc == LOW){ stan = czyWylaczyc; } break; ///////////////////////////////////////////////////// case czyWylaczyc: if(aktualnyCzas - zapamietanyCzas == 5000UL){ zapamietanyCzas = aktualnyCzas; Serial.println("Are you sure to switch off the power supply?"); } if(odebraneDane == "yes"){ Serial.println("nie ma"); //digitalWrite(WYJ,LOW); stan = czyWcisnietoPrzycisk; } if(odebraneDane == "no"){ Serial.println("There was mistake. I go back to work state."); stan = alarm2; } break; ///////////////////////////////////////////////////// } } Wrzucam cały kod. Próbowałem różnych rzeczy. Ciekawi mnie dlaczego cały czas jest ta pętla for i jeszcze z takim kilkusekundowym opóźnieniem zanim się rozpocznie.
  15. Drodzy Panowie ten fragment kodu jest dobry, ale coś innego musi powodować zapętlanie się tej pętli for. Program też dziwnie wchodzi z długim opóźnieniem w ten stan "alarm1" a tak nie powinno być.
  16. To ja wiem i próbowałem również tego. Tak się właśnie dzieje. To jest jeden z case'ów i program się na nim zatrzymuje. Spróbuję dziś wieczorem tak zrobić @Elvis
  17. Tyle to ja wiem. Tak mam w kodzie, ale pętla odtwarza się ponownie i ponownie, bo nic jej nie przerywa. Program nie reaguje na ten warunek.
  18. case alarm1: int t; for(t=0;t<=6;t++){ if(aktualnyCzas - zapamietanyCzas == 1000UL){ zapamietanyCzas = aktualnyCzas; state = !state; digitalWrite(BUZZER,state); } } if(t==6){ stan = stopAlarm; } break; Witam, Mam taki fragment kodu na Arduino. Program cały czas pozostaje w pętli for. Jak powołać się na konkretny jej obieg, aby z niej wyjść? Jest do tego może jakaś funkcja? Przeczuwam, że rozwiązanie problemu jest banalnie proste. Pozdrawiam
  19. Widać, że schemat jest dość poglądowy, ale wydaje się, że wszystko masz tam dobrze. Planujesz zamknąć to w jakiejś obudowie, zrobić płytkę do tych transoptorów, stabilizatora, przekaźnika? Czujniki ruchu będą zamocowane od siebie w pewnej odległości, więc też przydałoby się je jakoś zabezpieczyć przed dostaniem się wody, czy żyjątek. Pozdrawiam
  20. Philip

    Sterownik Akwariowy Bella

    Teraz w 100% się z tobą zgodzę
  21. Philip

    Sterownik Akwariowy Bella

    Nie zgodziłbym się. Widziałeś kiedyś taki stycznik TSM-1 LEGRAND? On ma duże wymiary @lukaszd82Jak kogoś poprawiasz, to pisz prawdę. To jest jedna z zasadniczych różnic pomiędzy stycznikami, a przekaźnikami. Ich wymiary właśnie, a co za tym idzie zdolność do wyłączania prądów. https://www.tim.pl/stycznik-16a-3p-400v-ac-2z-2r-tsm-1-3211-150002?gclid=EAIaIQobChMImNnHs8yQ6QIVQcKyCh2Lxg1SEAYYASABEgIuCPD_BwE
  22. Domyślam się, że dałeś rezystor 1k na bazę. Do zwiększenia wzmocnienia prądowego rezystacja na bazie musi być większa, aby popłynął mniejszy prąd. Wtedy stosunek β rośnie, bo mianownik maleje. Musisz zrobić to eksperymentalnie. Dobieraj coraz to większe wartości rezystorów i sprawdzaj prąd na kolektorze. Ja tak na szybko wziąłem tranzystor BC337 max. 0,8A. Napięcie zasilania 6V. Rezystor na bazie 22k, kolektorze 100Ω. Prąd bazy wyniósł 0.0756mA, a kolektora 18,06mA. β≈240 To też zależy od tego co podłączasz na kolektorze. To co miernik pokazuje to inna sprawa, niż rzeczywistość. Nie oznacza, to że za każdym razem będziesz miał wzmocnienie na tak wysokim poziomie. Pozdrawiam
  23. To prawda, ale jeśli masz odpowiedni marker, a na rynku jest ich sporo to możesz rysować ścieżki o odpowiedniej grubości. To nie jest dużym problemem. Trzeba też nabrać wprawy. W tej metodzie również możesz mieć przygotowaną wcześniej płytkę. Wydruk płytki przykładasz do laminatu i przebijasz markerem na drugą stronę.
  24. Polecam zajrzeć tu. https://pl.m.wikipedia.org/wiki/Transfiguracja_(elektrotechnika) To jest tzw. transfiguracja. Można w ten sposób przekształcać obwody elektryczne z gwiazdy na trójkąt i z trójkąta na gwiazdę. Są do tego odpowiednie wzory. Tak jak kolega @Gieneq napisał. Połączenia gwiazdy i trójkąta najczęściej są używane w dużych urządzeniach elektr. np. silniki klatkowe, transformatory energetyczne, z którymi elektronicy szczególnie młodzi raczej się nie spotkają. Też w tym miejscu dochodzi się do obwodów trójfazowych. To jest inne podejście. Pozdrawiam
  25. Ja polecam metodę wytrawiania za pomocą markera. Jest ona szybka i skuteczna. Szczególnie dla początkujących. Nie trzeba się męczyć z papierem kredowym. Pozdrawiam
×
×
  • 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.