Skocz do zawartości

AndrzejWi

Użytkownicy
  • Zawartość

    16
  • Rejestracja

  • Ostatnio

Reputacja

7 Neutralna

O AndrzejWi

  • Ranga
    2/10
  1. Cześć. Mam taki oto problem, przy podłączeniu fotorezystora(ćwiczenie fotorezystor, dioda, potencjometr). Dioda mocno mruga gdy mam wartość na granicy, wskazania wartości na pinie do którego podłączony jest fotorezystor wartości w małym zakresie często się zmieniają. Wydaje mi się to raczej normalne, ale wolę was spytać. Jeśli nienormalne, to co może być nie tak? Jeśli normalne, to chyba tylko odpowiednim programem można to ogarnąć? Żeby było jasne, nie chcę konkretnego rozwiązania problemu(chyba że to może być z podłączeniami coś nie tak, albo z płytką). Jeśli program, to wolę sam powalczyć. Pozdrawiam serdecznie.
  2. int odczytanaWartosc = 0; int prog = 0; String a = "ustawione"; void setup() { pinMode(8, OUTPUT); Serial.begin(9600); } void loop() { odczytanaWartosc = analogRead(A5); prog = analogRead(A4); Serial.println(a + prog ) ; Serial.println( "odczyt= " + odczytanaWartosc ); delay(6000); if(odczytanaWartosc < prog) { digitalWrite(8, HIGH); }else{ digitalWrite(8, LOW);} } Witam. Natrafiłem na taki oto problem z wyświetleniem komunikatu, otóż, podłączyłem potencjometr, fotorezystor i diodę i chciałem zobaczyć, jak wygląda sprawy regulacji i aktualne wskazania z fotorezystora. Zatem wyświetlać miało tak: Ustawione = tutaj wartość odczyt= tutaj wartość I teraz jeżeli słowo przypisze do zmiennej i wstawię j/w, to wyświetla poprawnie, natomiast gdy wpiszę po println("słowo" + zmienna); , to wyświetla mi krzaczki w monitorze portu szeregowego. Gdzie popełniam błąd? Czego nie wiem? Pozdrawiam serdecznie
  3. void setup() { pinMode(8, OUTPUT); pinMode(7, INPUT_PULLUP); } void loop() { if(digitalRead(7) == LOW) //jeśli guzik ma stan niski { digitalWrite(8, HIGH); // dioda się świeci } if(digitalRead(7) == HIGH) //jeśli guzik ma stan wysoki { digitalWrite(8, LOW); // dioda się nie świeci } Podłącz przycisk i diodę. jak naciśniesz, to się zapali, jak puścisz zgaśnie. void setup() { pinMode(8, OUTPUT); pinMode(7, INPUT_PULLUP); } void loop() { while(digitalRead(7) == HIGH) //jeśli guzik ma stan wysoki { digitalWrite(8, LOW); // dioda się świeci delay(1000); // spowolnienie, żeby był efekt digitalWrite(8, HIGH); // dioda się nie świeci delay(1000); } } W tym wypadku, możesz uzyskać ten efekt, nie ruszając guzika. Dzięki pętli, sekwencja może trwać w nieskończoność, a przy warunku tylko raz i za każdym razem gdy chcesz mignąc, musisz nacisnąć guzik. Chłopaki gdzieś tutaj tłumaczyli i ja też o tym pisałem, że loop to taki while. A Ty twierdzisz, że if to to samo, no więc gdyby nie było loop, to nie mógłbyś uzyskać efektu migania samym if'em, możesz to uzyskać tylko dlatego, że loop jest potraktowane pętlą while i powoduje sekwencje. Inaczej mówiąc, te dwa programiki pokazują, co by się działo, gdybyś nie umieszczał tego w loop, tylko tak po prostu(gdyby się dało)
  4. Koło zostało wynalezione, dalej już widzę, bo do tej lekcji jeszcze nie widziałem.
  5. Dopiero teraz zaczynam się jarać, wzajemna komunikacja z kontrolerem daje dużo frajdy. Niby to programowanie, ale wyjście z programem poza komputer pozwala zrobić coś namacalnego, a nie tylko wirtualnego, teraz dopiero poczułem morze możliwości. Nie byłem tak zajarany 8 lat temu, jak napisałem pierwsze "hello world", jak dziś gdy "pogadałem z arduino". Dzięki za tę możliwość Panowie.
  6. Nawet kliknąłem, ale coś mi jeszcze umyka. Co do pytania z 3 punktami, to nie wiem, nie bywam w tym świecie, zawodowo nie zajmuję się programowaniem. Umiem tylko pisać programy, których sam potrzebuję i znam się tak na poziomie max b2 .
  7. "czysty kod" to mój taki skrót myślowy. Nie jestem przekozakiem programowania(programistycznie wychowałem się na php) i dla mnie istnieje rozróżnienie na dwie możliwości, czysty język, lub framework, Więc czy setup/loop, to coś takiego jak framework, czy taki powiedzmy podstawowy C/C++? Bo jeśli to drugie, to pytam tylko czy lepiej się uczyć na tych nakładkach, czy na czymś bardziej podstawowym. Przepraszam, jeśli nie wyrażam się dość jasno, być może to wynika z mojej ignorancji. Pozdrawiam serdecznie.
  8. No ok, alez Twojego doświadczenia, przy bardziej rozbudowanych projektach, lepiej pisać program w oparciu o setup/loop, czy lepiej od początku skupić się na nauce "czystego kodu"?
  9. A dziękuję, No taka pierdoła, a potrafi zablokować postęp. Muszę przywyknąć do używania miernika. Pozdrawiam serdecznie. edit Mam takie oto spostrzeżenie, proszę mnie poprawić jeśli się mylę, z mojej obserwacji wynika, że ta funkcja loop, to nic innego jak pętla while, z jedną tylko różnicą, w loop nie można podać jakiegoś argumentu. poza tym, zawartość loop, wykonuje się nonstop, czy zatem w przypadku, gdy chcemy np. aby dioda na płytce migała tylko w określony sposób, po naciśnięciu guzika np. to nie ma sensu umieszczać tego w while, skoro wystarczy warunek, który mówi o tym, że jeżeli mamy np. LOW na pinie 7, to dioda ma migać. Czy są jeszcze jakieś ograniczenia loop w stosunku do while? Programowanie w ten sposób różni się nieco od zwykłego programowania tym, że podłączony kontroler cały czas wykonuje określone operacje jeśli jest podłączony do zasilania i trzeba pamiętać o tym, aby go obwarować warunkiem, aby nic nie robił. Prosty przykład użycia pętli for, z ograniczoną liczbą powtórzeń, jeśli np. nie powiemy mu, ze ma wykonać określoną czynność x razy po kliknięciu, to nic nie da nam zadeklarowanie w pętli max. liczby obrotów, bo wykona ona np. 2 obroty i program znów wraca do obracania, czyli czy jest 2 czy nieskończoność, to i tak wychodzi na to samo.
  10. void setup() { pinMode(8, OUTPUT); //Dioda jako wyjście pinMode(7, INPUT_PULLUP); //Przycisk jako wejście digitalWrite(8, LOW); //Wyłączenie diody } void loop() { if (digitalRead(7) == LOW) { //Jeśli przycisk wciśnięty digitalWrite(8, HIGH); //Włącz diodę } else { //Jeśli warunek nie został spełniony (przycisk nie jest wciśnięty) digitalWrite(8, LOW); //Wyłącz diodę } } Tylko że to kod żywcem wyjęty z lekcji , więc nie wiem czy to coś da, tak samo wkleiłem go do arduino edit @Gieneq Dzięki za reakcję, sprawdziłem jeszcze raz, jeden z kabelków, którego używałem wczoraj nie styka gdzieś
  11. Kochani, w 1 przykładzie z przyciskiem, mam wszystko podłączone jak trzeba, program skopiowałem, żeby wykluczyć błąd i niestety wciśnięcie guzika nie powoduje żadnej reakcji, zmieniałem też pin i nic, macie pomysł gdzie może być problem?. Jeśli zamiast jak poniżej: pinMode(8, OUTPUT); //Dioda jako wyjście pinMode(7, INPUT_PULLUP); digitalWrite(8, LOW); //Wyłączenie diody zrobię: pinMode(8, OUTPUT); //Dioda jako wyjście pinMode(7, INPUT_PULLUP); digitalWrite(8, HIGH); //Wyłączenie diody To dioda po prostu świeci i już. Andrzej Ps ' Próbowałem też zrobić przykład ze strony arduino.cc, w którym miała się zapalić dioda koło pinu nr. 13. i też nie zadziałało, ponadto zamiast przycisku próbowałem za pomocą dwóch kabelków wpiętych w miejsca, gdzie były wtyki przycisku i zwierałem je na krótko, też nic ;/
  12. Witam. Dzięki serdeczne za podpowiedzi. Ja dopiero zaczynam przygodę z elektroniką i ciężko jest na początku połapać się, a na blogu jest tyle wszystkiego, że nie wiadomo od czego zacząć. Twoje wskazówki są bardzo cenne. Pozdrawiam serdecznie. Andrzej.
  13. Dziękuję serdecznie za odpowiedź i artykuł.:) A jak mógłbym prosić o jakiś namiar na teorię dotyczącą parametrów podzespołów, które dostałem z kursem, np. nie wiedziałem, że dioda wymaga akurat takiego natężenia. Pozdrawiam serdecznie
×
×
  • Utwórz nowe...