MateuszW Lipiec 8, 2015 Udostępnij Lipiec 8, 2015 do 02.07 - Wyświetlacze LCD a odcinka brak 🙁 Link do komentarza Share on other sites More sharing options...
Treker (Damian Szymański) Lipiec 8, 2015 Udostępnij Lipiec 8, 2015 MateuszW, zgadza się, brak, ale z premedytacją. Po ostatniej części kursu Arduino dotyczącej praktycznego wykorzystania serwomechanizmów oraz dodatkowych informacji o UART nie pojawiły się jeszcze żadne rozwiązania zadań domowych. Daje wszystkim czas na nadrobienie lekcji, widocznie niektórych dopadło wakacyjne lenistwo 🙂 W międzyczasie polecam najnowszą, ostatni a już część kursu podstaw elektroniki - omawiającą przekaźniki oraz inne elementy stykowe. Link do komentarza Share on other sites More sharing options...
MateuszW Lipiec 9, 2015 Udostępnij Lipiec 9, 2015 Ja obecnie staram się "wrzucić" mojego omijacza przeszkód z arduino na płytkę uniwersalną (ATmega8A 16Mhz + L293DNE), ale ponieważ elektronika u mnie na dość średnim poziomie to i średnio mi idzie 😃 Dlatego też nie zajmowałem się zadaniami domowymi jeszcze. Link do komentarza Share on other sites More sharing options...
Treker (Damian Szymański) Lipiec 9, 2015 Udostępnij Lipiec 9, 2015 MateuszW, a z czym masz największy problem? Link do komentarza Share on other sites More sharing options...
Polecacz 101 Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Produkcja i montaż PCB - wybierz sprawdzone PCBWay! • Darmowe płytki dla studentów i projektów non-profit • Tylko 5$ za 10 prototypów PCB w 24 godziny • Usługa projektowania PCB na zlecenie • Montaż PCB od 30$ + bezpłatna dostawa i szablony • Darmowe narzędzie do podglądu plików Gerber Zobacz również » Film z fabryki PCBWay
MateuszW Lipiec 9, 2015 Udostępnij Lipiec 9, 2015 Treker, w tej chwili zdaje się że z zakłóceniami w układzie z L293D. A raczej napewno bo uC "dziwnie" się zachowuje, jak serwa zaczynają działać i dość spore spadki napięcia zaobserwowałem. Chyba za prosty układ zrobiłem 🙂 Link do komentarza Share on other sites More sharing options...
Treker (Damian Szymański) Lipiec 9, 2015 Udostępnij Lipiec 9, 2015 MateuszW, no niestety bez odpowiedniego filtrowania oraz osobnego zasilania dla silników będzie ciężko 🙂 Link do komentarza Share on other sites More sharing options...
MateuszW Lipiec 9, 2015 Udostępnij Lipiec 9, 2015 Treker, właśnie nie chcę dwóch źródeł ciągnąć 🙂 ale pogrzebałem trochę na forum, znalazłem kompendium mostków H, sekcja o zakłóceniach pomogła, użyłem diody, dodałem kondensator i dzielnik napięcia, wpiąłem się przed stabilizator i podłączyłem do VCC silników w L293D i już widać poprawę. Trzeba przyznać, że znajduję tu bardzo dużo przydatnych informacji 🙂 Pozdrawiam. Link do komentarza Share on other sites More sharing options...
Treker (Damian Szymański) Lipiec 9, 2015 Udostępnij Lipiec 9, 2015 MateuszW, dzielnik napięcia? To raczej nie brzmi dobrze... Opisz dokładnie, co teraz z robiłeś. Zamiast dwóch źródeł zasilania możesz zastosować dwa osobny regulator napięcia dla silników i kondensatory. Link do komentarza Share on other sites More sharing options...
MateuszW Lipiec 9, 2015 Udostępnij Lipiec 9, 2015 Treker, no właśnie dzielnik nie zdał egzaminu 😃 Zasadniczo chciałem zasilić wszystko z 6xAA czyli +/- 9V przy czym przez stabilizator układy logiczne a bez stabilizacji napęd, ale obawiam się że dla przerobionych SG90 na dłuższą metę nie wyjdzie to na dobre 😃 więc chciałem obniżyć napięcie rezystorami ale wydaje mi się, że wydajność prądowa "padła". Przy okazji zaobserwowałem ciekawe zjawisko:D a mianowicie rezystory dawały ponad 6V ale jak wpiąłem L293 to napięcie spadło do 2,5V. Dlatego zrobię chyba jak mówisz, po prostu dam 2 stabilizatory 5V. 🙂 Link do komentarza Share on other sites More sharing options...
Treker (Damian Szymański) Lipiec 9, 2015 Udostępnij Lipiec 9, 2015 L293D to proste, ale stare układy. Jedną z głównych Wad tej konstrukcji jest właśnie wysoki spadek napięcia 🙁 Link do komentarza Share on other sites More sharing options...
damian11 Lipiec 15, 2015 Udostępnij Lipiec 15, 2015 Zadanie domowe 5.1 Wystarczy zamienić typ zmiennej wypełnienie na byte i usunąć warunek 🙂 Zadanie domowe 5.2 Pewnie da się prościej, ale proszę : #define LED 9 int wypelnienie = 0; int zmiana = 5; void setup() { pinMode(LED,OUTPUT); } void loop() { analogWrite(LED,wypelnienie); if(wypelnienie<255) { wypelnienie+= zmiana; } if( wypelnienie==255) { while(wypelnienie!=0) { wypelnienie-=zmiana; analogWrite(LED,wypelnienie); delay(50); } } delay(50); } Liczę, że pojawi się kolejna część kursu o wyświetlaczu LCD 🙂 [ Dodano: 16-07-2015, 12:58 ] Zadanie domowe 5.3 🙂 #include <Servo.h> //Biblioteka odpowiedzialna za serwa Servo serwo; //Tworzymy obiekt, dzięki któremu możemy odwołać się do serwa int pozycja = 0; //Aktualna pozycja serwa 0-180 int zmiana = 6; //Co ile ma się zmieniać pozycja serwa? int przerwa = 200; void setup() { serwo.attach(9); //Serwomechanizm podłączony do pinu 9 } void loop() { if (pozycja < 180) { //Jeśli pozycja mieści się w zakresie delay(przerwa); serwo.write(pozycja); //Wykonaj ruch } else { //Jeśli nie, to powrót na początek pozycja = 0; przerwa = 0; } pozycja += zmiana; //Zwiększenie aktualnej pozycji serwa przerwa += 50; } [size=9][ [i][b]Dodano[/b]: 16-07-2015, 16:37[/i] ][/size] Zadanie domowe 5.4 #include <Servo.h> String katS; byte kat; Servo servo; void setup() { servo.attach(9); Serial.begin(9600); Serial.println("Podaj kat jaki chcesz ustawic :)"); } void loop() { if(Serial.available()>0) { katS = Serial.readStringUntil('\n'); kat = katS.toInt(); if(kat<=180 && kat>=0) { servo.write(kat); Serial.println("Gotowe! Ustawiony kat to: "+ katS); } else Serial.println("Kat powinien miec wartosc <0:180> !"); } delay(50); } 1 Link do komentarza Share on other sites More sharing options...
damian11 Lipiec 16, 2015 Udostępnij Lipiec 16, 2015 Zadanie domowe 5.5 #include <Servo.h> #define SERVO_PIN A5 int odczytADC; int kat; Servo servo; void setup() { servo.attach(9); Serial.begin(9600); Serial.println("Zmien kat za pomoca potencjometru"); } void loop() { odczytADC = analogRead(SERVO_PIN); kat = map(odczytADC,0,1023,0,180); //Serial.println(kat); servo.write(kat); delay(50); } Link do komentarza Share on other sites More sharing options...
Treker (Damian Szymański) Lipiec 16, 2015 Udostępnij Lipiec 16, 2015 damian11, gratuluje rozwiązań. Rozumiem, że programy działają poprawnie? Na przyszłość umieszczaj kody programów w tagach , tym razem poprawiłem je za Ciebie 🙂 Nie zapominaj o komentarzach, brakuje ich przy 1 i 3 programie. Warto mieć taki nawyk. Oczywiście kolejna część kursu się pojawi, tylko tak jak pisałem ciągle czekam, aż chociaż kilka osób pokaże rozwiązania do ostatniej części kursu (czyli 6). Chyba wszystkich kursantów ogarnęło wakacyjne lenistwo 😉 Link do komentarza Share on other sites More sharing options...
Elvis Lipiec 16, 2015 Udostępnij Lipiec 16, 2015 Co do zadania 5.2 - program działa dla zmiennej "zmiana" = 5. Ale czy będzie działał dla innej wartości? Np. zmiana = 4? Co zrobić, żeby nadal działał poprawnie? Link do komentarza Share on other sites More sharing options...
Treker (Damian Szymański) Lipiec 16, 2015 Udostępnij Lipiec 16, 2015 Elvis, rozumiem, że to pytanie sprawdzające dla autora kodu 🙂? Link do komentarza Share on other sites More sharing options...
Pomocna odpowiedź
Bądź aktywny - zaloguj się lub utwórz konto!
Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony
Utwórz konto w ~20 sekund!
Zarejestruj nowe konto, to proste!
Zarejestruj się »Zaloguj się
Posiadasz własne konto? Użyj go!
Zaloguj się »