Skocz do zawartości

Kurojatka

Użytkownicy
  • Zawartość

    14
  • Rejestracja

  • Ostatnio

  • Wygrane dni

    1

Kurojatka wygrał w ostatnim dniu 4 marca 2016

Kurojatka ma najbardziej lubianą zawartość!

Reputacja

1 Neutralna

O Kurojatka

  • Ranga
    2/10

Informacje

  • Płeć
    Mężczyzna
  • Zawód
    Inżynier mechaniki
  1. Jestem strasznym zieleńcem jeżeli chodzi o programowanie. Jedyne, co zrobiłem póki co, to funkcja dzieląca drogę między położeniem aktualnym a zadanym na kilka odcinków, następnie realizująca ruch co składową drogi z różnymi delay-ami. Po odpowiednim doborze czasu przerw działało nawet ładnie, bez skoków, chociaż ciężko to było nazwać płynnym ruchem. Niestety w tym czasie reszta programu stoi i szlak mnie trafia , wszystko się wali. Bardzo mi zależy na pracy serwa bez zrywów - z rozpędem i hamowaniem. Możesz podać jakiś przykład funkcji, o której pisałeś?
  2. Cześć! Przeszukiwałem może i nie cały internet, ale w zakresie przeróbki serw mowa jest o usunięciu blokady 180st. lub usuwaniu układu. A ja mam taką zachciankę: potrzebuję serwa min. 0-135st., którego prędkością da się sterować (to znaczy bez delay-ów w kodzie). Są serwa, którym oprócz położenia możemy zadawać prędkość obrotową? Jedyny pomysł w tym zakresie, jaki mi przychodzi do głowy, to do serwa 360st. (pośrednio) do wału serwa zamocować potencjometr, i programowo zadawać serwu obroty do momentu osiągnięcia odpowiedniego napięcia na tym potencjometrze za pomocą "while" czy czegoś takiego, ale to rozwiązanie mało mi odpowiada. Ma ktoś jakiś pomysł?
  3. Moment = siła * ramię. Jeżeli na orczyk silnika o długości 1cm zamontujesz 7kg to silnik jeszcze to podniesie. Za to na dwa razy większym ramieniu, da radę podnieść tylko połowę, i tak dalej.
  4. Zadanko domowe - LED-owe ... #define trigger 12 #define echo 11 void setup() { Serial.begin (9600); pinMode(trigger, OUTPUT); pinMode(echo, INPUT); int liczbaDiod = 0; pinMode(0, OUTPUT); digitalWrite(0, LOW); pinMode(1, OUTPUT); digitalWrite(1, LOW); pinMode(2, OUTPUT); digitalWrite(2, LOW); pinMode(3, OUTPUT); digitalWrite(3, LOW); pinMode(4, OUTPUT); digitalWrite(4, LOW); pinMode(5, OUTPUT); digitalWrite(5, LOW); pinMode(6, OUTPUT); digitalWrite(6, LOW); pinMode(7, OUTPUT); digitalWrite(7, LOW); pinMode(8, OUTPUT); digitalWrite(8, LOW); } void loop() { int dystans2 = pomiar(); //wykonaj pomiar, zwróć wartość w cm int liczbaDiod = map(dystans2, 0, 50, 9, 1); //przelicz zakres pomiarowy 50cm na liczbę diod Serial.print("dystans2 ="); Serial.println(dystans2); for (int a = 0; a < liczbaDiod; a++) { //załącz diody od 1 do liczbaDiod digitalWrite(a, HIGH); } delay(1000); //pauza, dla lepszego efektu for (int a = 0; a < 9; a++) { //wyłącz wszystkie diody, same nie zgasną ;-P dla widoczności kolejnego pomiaru digitalWrite(a, LOW); } } int pomiar() { long czas, dystans; digitalWrite(trigger, LOW); delayMicroseconds(2); digitalWrite(trigger, HIGH); delayMicroseconds(10); digitalWrite(trigger, LOW); czas = pulseIn(echo, HIGH); dystans = czas / 58 + 1; //przeliczenie jednostek na cm return dystans; } No i teraz tak: wszystkie diody musiałem opisać jak wyżej, czy da się to skrócić?
  5. Ok. Podłączyłem z zasilacza, działa pięknie. Dla pewności znieczuliłem na zmiany mniejsze niż 5 stopni. Dzięki.
  6. Takie coś znalazłem: linijka 8 przykład programu na czujnik. serwomechanizm.attach(11); //Serwomechanizm podłączony do pinu 9 Poza tym, mała modyfikacja zadania domowego: ustawianie 2 serw za pomocą potencjometrów, wysyłanie położenia do kompa. Nie działało najlepiej, więc dodałem diody przy wykryciu aktywności. Okazuje się, że się zapalały nawet bez zabawy potencjometrami. Nie mam pojęcia dlaczego (na przykład przy zbliżeniu palucha do obudowy potencjometru). #include <Servo.h> Servo Serwo1; Servo Serwo2; int odczyt1 = 0; int odczyt1a = 0; int odczyt2 = 0; int odczyt2a = 0; void setup() { Serial.begin(9600); //Ustawienie prędkości transmisji Serwo1.attach(1); //Serwomechanizm 1 Serwo2.attach(2); //Serwomechanizm 2 pinMode(3, OUTPUT); //Dioda1 digitalWrite(3, LOW); pinMode(4, OUTPUT); //Dioda2 digitalWrite(4, LOW); } void loop() { //odczytanie nastaw potęcjometrów odczyt1 = analogRead(A1); odczyt2 = analogRead(A2); //Dioda, jezeli zmiana delay(250); odczyt1a = analogRead(A1); odczyt2a = analogRead(A2); if(odczyt1 == odczyt1a) { //brak zmiany na potęcjmetrze 1 digitalWrite(3, LOW); } else { odczyt1 = map(odczyt1, 0, 1023, 0, 180); //Przetworzenie bitów na kąt Serwo1.write(odczyt1); digitalWrite(3, HIGH); //załącz diodę1 Serial.println(odczyt1); //informacja zwrotna } if(odczyt2 == odczyt1a) { //brak zmiany na potęcjmetrze 1 digitalWrite(4, LOW); } else { odczyt2 = map(odczyt2, 0, 1023, 0, 180); //Przetworzenie bitów na kąt Serwo2.write(odczyt2); digitalWrite(3, HIGH); //załącz diodę1 Serial.println(odczyt2); //informacja zwrotna } } Działało by chyba lepiej, po wsadzeniu drugiego IF w pierwsze...
  7. Podłączyłem na innej maszynie z win8.1. Działa bez zarzutu. U siebie zainstalowałem VirtualBox, a na nim winXP, ale póki co "drugi" system (nie wiem dlaczego) w ogóle nie widzi portów... ktoś wie, jak skonfigurować COMporty w VirtualBox? Ok, dopisek - może komuś pomoże . Dopadłem starego kompa - dawcę organów. Win7Ultimate, wszystko zainstalowane analogicznie do obecnego sprzętu i... tam działa. Przełożyłem płytkę z USB ale to nic nie dało więc jeżeli ktoś miał podobne objawy do moich to macie pecha. Jedyne, co mogę wydedukować, to problem tkwi gdzieś na płycie głównej komputera. Ja się poddaję, będę testował programy na dawcy organów. A co do kursu to wielkie dzięki, mój arduino wali teraz morsem po oczach. Pozdrawiam!
  8. Orginalne. Czytałem o sposobach, podobno działających na Home i Professional... ale u mnie nic
  9. Witam! Mam podobny problem do DawidG - program się kompiluje ale już nie wgrywa. avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0xe2 Problem w niezainstalowanych w pełni sterownikach - których jako niepodpisane mój Windows 7 Ultimate 64-bit nie chce i już. Próbowałem wskazywać mu sterowniki ręcznie z dysku, tak Arduino.ini, Arduin Uno, jak i Arduino Uno R3. Pojawia się "System Windows odnalazł oprogramowanie sterownika dla tego urządzenia, ale napotkał błąd podczas próby zainstalowania". Ponawianie prób po restarcie bez wymagania podpisów nic nie daje, "bdcedit.exe/set nointegritychecks ON" również. Macie może pomysły, co jeszcze próbować?
  10. Z mojej strony dzięki - fajna wyszukiwarka. Pozdrawiam.
  11. Słucham, czytam, rozumiem. Szanuję wkład, bądź co bądź poświęcacie swój czas. Niemniej spróbuję coś takiego zrobić, najwyżej się nie uda, więc wiem już, że to trudne (tudzież niemożliwe jak na pierwszy projekt), ale spróbuję już. Co to schematu: Mam nadzieję, że coś widać... mam kilka projektów w lepszym stanie zaawansowania - ten jest jak widać w powijakach i rysowany poniekąd na biegu. A więc tak: ZASADA DZIAŁANIA: Cztery czujniki, cztery odpowiadające im silniki (tutaj pierwszy problem, żeby robot nie reagował na ruch własnych skrzydeł). Schemat po prawej stronie u góry: Ktoś chce złapać robocik (tudzież jest włączony za blisko przeszkody) - podrywa się do lotu i manewruje tak długo, aż przestanie cokolwiek wykrywać. Wtedy ląduje. Tu od razu mój główny problem: jak to podłączyć? Chciałem rozwiązać to za pomocą elementów logicznych czyli chyba tak: czujnik "1" reaguje - podaje napięcie na silniki 2-4 przez oporniki, oraz na swój silnik "1" bez opornika, a więc większe napięcie - większa częstotliwość (chyba ok). Czujniki przestają cokolwiek odbierać - wszystko się wyłącza i robot leci na łeb na szyję na dół, bo nie wiem jak to podłączyć, żeby silniki dalej pracowały aby opadał spokojniej. BUDOWA: - z lewej strony od góry: cztery skrzydła, środek masy centralnie pomiędzy. Większa częstotliwość drgań jednego ze skrzydeł powoduje większą siłę na nim, a więc ruch w stronę przeciwną. A-A czyli przekrój przez skrzydełko, B-B - ideowa zasada działania obracających się skrzydełek. Opadają - opór powietrza obraca je do pozycji poziomej, dalej nie pozwala na to zderzak, tworzy się powierzchnia nośna. Skrzydełko idzie w górę, na tej samej zasadzie powierzchnia nośna maleje. Żeby odpowiedzieć na pytanie: tak byłem na RCGroup, bardzo dziękuję, fajna stronka. Całości nie przeleciałem oczywiście, chociaż myślę, że teraz widać iż mam na myśli nieco inny mechanizm niż prezentowane (przynajmniej w większości) tam - silnik napędzający skrzydła równomierne i skręt lotkami z tyłu czy coś... Dziękuję za zainteresowanie, mam nadzieję, że conieco wyjaśniłem.
  12. Szanse zawsze są. Cokolwiek miało znaczyć zniesmaczenie dziewiątym miesiącem (znów wcisnąłbym tutaj "hihi", ale bądźmy konsekwentni w odbieraniu krytyki...). Powiem tak: dziękuję za rady, każda jedna cenną jest. Zimny kubeł też każdemu przyda się czasami, więc jestem wdzięczny (ale i złośliwy, wybaczcie proszę) za ukazywanie mi dziur w rozumowaniu. Lecz powtarzam: mój stopień zieloności w temacie jest bliski stu procent. A więc celem tego projektu nie jest przede wszystkim działanie, a na pewno nigdy nie był to lot rodem z forum proponowanym przez Marka. Celem jest nauka. Według moich (hmm... przemyśleń?) najbardziej w tej chwili potrzebuję wiedzy na temat układów logicznych a i projektowania układów samych w sobie... Prawo Ohma, mój Boże, tak dawno temu! Ale... to swoją drogą. Ale pragnę ponowić pytanie: Czy ma ktoś pomysł na źródło do pozyskania elektromagnesu, możliwie małego gabarytowo? Nie chcę samodzielnie zwijać czterech silników, bo nigdy nie będą zbliżone parametrami a i daleko za duże, za ciężkie i paskudne ogólnie Bo jeżeli z tego, projektem przeze mnie nazwanego, pomysłu coś wyjdzie, mam zamiar to opisać w innym, bardziej adekwatnym dziale.
  13. O ja pierniczę, ale manto dostałem znienacka, czyżbym kogoś uraził? Co do silników obrotowych - no właśnie chciałem to ominąć, tak dla, powiedzmy to, urozmaicenia. Tyle od laika, jestem jednak przekonany, że jak już poduczę się co nieco, pewnie wrócę do rozwiązań prostszych, powszechniejszych i pewnie mniej zawodnych Co do uwag pana Marka: nie wiem co to MTOW, nie pamiętam nic o Rejnoldzie i w zasadzie to jak masz ochotę wykładać: wykładaj. Moja znajomość mechaniki płynów skończyła się na równaniu Bernoulliego. Co do projektu (tak, ot wygórowane słowo które wydaje się kłuć w oczy - jestem zdecydowany zamienić na bardziej odpowiadający synonim, proszę o wytyczne ), to mam zamiar ominąć jak najwięcej obliczeń. Z założenia cztery "silniki" (źródła drgań - powiedzmy sobie), o zmiennej częstotliwości sterowanej napięciem (chyba się tak da, prawda? Nie popieram tych twierdzeń jakoś ugruntowaną wiedzą) mają napędzać skrzydełka - tutaj stelaż druciany owinięty na przykład stretchem. Ruch do góry - skrzydełka skręcone do pionu, ruch w dół - skrzydełka poziomo, ruch wymuszany przez opory powietrza (Pierwotnie chciałem zrobić skrzydła z ruchomymi piórami poruszane krzywkami - wyszła mi niesamowita waga! hihi). Zasada działania: czujnik odległości ( jeden z czterech, każdy odpowiada skrzydełku) odpala silniki, w tym jeden z nich dostaje większego kopa od pozostałych i dzięki temu całość porusza się w jakimś kierunku (najlepiej przeciwnym do wykrytego obiektu). Wymiary się jeszcze określi (jak zmienię odcień zieleni - obecnie R0G100B0), to może poruszanie zacznie faktycznie przypominać lot. Generalnie to ma być... znów to słowo... "projekt" na którym mam zamiar się czegoś nauczyć. Potem się zobaczy, czy będzie jakaś nadzieja na drugą, funkcjonującą wersję. Dzięki za forum - ciekawe. Pozdrawiam
  14. Witam! Mam zamiar zbudować latające mucho-ważko-niewiadomo co. Wszystko w trakcie projektu, chwilowo odbijam się pomiędzy elektroniczną niewiedzą a samymi napędami. Chodzi mi o ruch posuwisto-zwrotny na wyjściu, możliwie duża częstotliwość, skok im większy tym lepszy, lecz to akurat nie odgrywa pierwszorzędnej roli, natomiast przede wszystkim musi być możliwie lekki i niewielki gabarytowo. Pytanie do Was: macie jakieś pomysły na rozwiązanie problemu z napędem? Może rozebranie buzzera z obudowy ukaże rozwiązanie? Ktoś próbował? Pozdrawiam
×
×
  • Utwórz nowe...