Arduino - Wersja do druku +- HomeMade (http://sp-hm.pl) +-- Dział: Oprogramowanie (/forum-84.html) +--- Dział: Technika programowania mikroprocesorów (/forum-85.html) +--- Wątek: Arduino (/thread-1713.html) |
RE: Arduino - SP9MRN - 28-09-2013 17:22 ok. sprawdź testowo czy biblioteka encodera jest poprawnie zainstalowana. najprościej - czy potrafisz skorzystać z przykładów dołączonych do biblioteki. W jaki sposób ją zainstalowałeś (gdzie, czy zgadza się nazwa katalogu, itp) MAc RE: Arduino - SP6AUO - 28-09-2013 18:05 Dziękuję za zainteresowanie.Już, mam program skompilowany bez błędów. Nie umiem kopiować katalogu.Tam gdzie jest do pobrania katalog encodera wszystkie pliki otwierałem i dopiero cały tekst kopiowałem do arduino.exe.Potem zapisywałem jako plik.Stworzyłem katalog Encoder_Polling i wszystkie pliki do katalogu.Katalog Encoder_Polling do katalogu libralies w katalogu arduino_1.0.5. Coś pisałeś o instalowaniu.Pobrałem arduino do windows ver.1.0.5. rozpakowałem i to wszystko.klikam na arduino.exe i od razu jestem w otartym okienku.Mam drugą wersję tego programu którą dostałem przy zakupie arduino uno na CD i tą wersję się instaluje.Która jest dobra tego nie umiem określić.Obecnie wykorzystuję wersję bez instalacji pobraną z arduino.Na niej testowałem miganie diody.Teraz biorę się za montaż drutowy .Trzeba to wszystko do kupy połączyć,ale już jestem zadowolony.Mam skompilowany program.Robię to wszystko na laptopie LENOVO w systemie XP.Już jestem bogatszy w wiedzę.Mac, dziękuję za zainteresowanie.Pozdrawiam RE: Arduino - SP9MRN - 30-09-2013 10:51 Na przyszłość - na githubie - tam gdzie ściągałeś encoder, po prawej stronie na dole jest przycisk "download ZIP". ściągasz nim całą bibliotekę. W środku jest katalog o nazwie takiej jak nazwa biblioteki - i cały katalog wrzucasz albo do folderu "libraries" w katalogu z rozpakowanym "arduino IDE" albo do katalogy "libraries" w folderze z Twoimi projektami. Ja wrzucam do własnego katalogu, bo mi się wtedy nie mieszają oryginalne biblioteki z dodatkowymi i nie gubię się w czasie aktualizacji. Uwaga - czasami zdarza się, że nazwa katalogu z Githuba nie zgadza się z nazwą bibloteki i trzeba ją zmienić - ale w tym przypadku jest poprawnie. MAc mrn RE: Arduino - SP6AUO - 30-09-2013 13:16 Witam Maćku.Dzięki. Wykonałem wg twojej instrukcji i katalog oryginalny jest już pobrany, rozpakowany i siedzi na swoim miejscu.Mam takie efekty na wyświetlaczu na dolnej linijce 10.000.000MHz, na górnej STEP= 10,100,1000,10000,10,100,1000 cały czas wędruje.Coś trzeba chyba zrobić z pinem 6. int encoderPin_A = 4; int encoderPin_B = 5; int PushButt = 6; // pin encodera PushButton To jest zmiana kroku,ale na co zamknąć ten przełącznik. Na zdjęciach nie widać.Są tam jakieś rezystory i kondensatory Może Ktoś ma jakieś sugestie.Za wszystko dziękuję. RE: Arduino - SP9MRN - 30-09-2013 14:58 wieczorem popatrzę Istotny jest ten kawałek: void obsluga_buttona() { if (digitalRead(PushButt)) { // nie wcisniety - nierob nic } else { //wcisniety ............................................. } Z niego wynika, że jeżeli button jest 1 (high) to ma nie robić nic, jeżeli low, to z każdym kolejnym naciśnięciem zmienia krok. U ciebie wisi w powietdzu, zatem skacze po kolejnych krokach. W kodzie nie widzę, żeby był wewnętrznie podciągany, zatem wystarczy podłączyć go (tzn pin6) przez 10k do plusa i przestanie skakać. Generalnie tak: 1. 10k do + 2. druki koniec opornika do pin6 3. włącznik między pin6 a masą no pierwszy rysunek w ulubionej magicznej książce: http://pgdev.pighixxx.com/ABC/SET/s1.pdf tu są wszystkie:http://www.pighixxx.com/abc-arduino-basic-connections/ wystarczy klinąć w numerek "seta" to się pdf ściągnie. Polecam wszystkim. 73 MAc RE: Arduino - SP6AUO - 30-09-2013 16:39 Idzie jak po sznurku.Twoja instrukcja działa. Po włączeniu jest 10Hz i trzyma.Dopiero po krótkim zwarciu do gnd następuje zmiana na 100Hz.I tak dalej.Myślę,że pin4 i pin5 też trzeba podciągnąć przez 10k do +5V i podłączyć impulsator. Później kupię prawdziwy encoder copal.Mam w tej chwili podłączone:arduino uno, I2C, wyświetlacz 1602, przycisk (zmiana kroku), skompilowany i wgrany program.Zostało podpiąć impulsator (mam taki za 3zł) i moduł AD9850.Pozdrawiam. RE: Arduino - SP9MRN - 30-09-2013 17:32 na pierwszy rzut oka w kod - to encoder jest normalnie - wspólnym do masy a A i B do odpowiednich nóg. może nawet jest to bez znaczenia bo ciągle porównuje stan poprzedni (przed obrotem) z obecnym. dodatkowo do poprzedniego posta: Zamiast podłączania dodatkowego rezystora można włączyć wewnętrzny rezystor w Arduino. Spełni tą samą funkcję co zewnętrzny - potrzebna jest dodatkowa linijka kodu: digitalWrite(PushButt, HIGH); wpisana zaraz po: pinMode(PushButt, INPUT); ona ustawia na tym pinie stan wysoki. Podłączamy tylko przycisk do masy. Dolny rysunek pod napisem "using internal pullups" w załączonym pedeefie. MAc mrn RE: Arduino - SP6AUO - 30-09-2013 20:29 Wykonane.Jest HIGH i działa.Jest jeszcze jeden problem.Podczas weryfikacji int dir = encoder_data(); //sprawdz Encoder if(dir > 0) //jeśli w prawo to ... { Freq = Freq + Krok; //zwieksz f o krok } else if (dir { TU POKAZUJE BŁĄD Freq = Freq - Krok; //zmniejsz f o krok } else { } delay(50); tak dopisałem else if (dir < 0) { i to zweryfikowało. RE: Arduino - SP9MRN - 30-09-2013 21:21 Dokładnie tak - ewidentnie zjedzony przy kopiowaniu na stronę kawałeczek kodu. widać to wyraźnie wskutek przesunięcia klamry do górnej linijki. ;-) MAciek RE: Arduino - SP6AUO - 02-10-2013 7:24 Witam Maćku.Mam jeszcze taki problem.Górna linijka świeci,a dolna cały czas mruga. Czy znajdzie się na to jakaś rada. |