Skocz do zawartości

Przeszukaj forum

Pokazywanie wyników dla tagów 'Servo'.

  • Szukaj wg tagów

    Wpisz tagi, oddzielając przecinkami.
  • Szukaj wg autora

Typ zawartości


Kategorie forum

  • Elektronika i programowanie
    • Elektronika
    • Arduino i ESP
    • Mikrokontrolery
    • Raspberry Pi
    • Inne komputery jednopłytkowe
    • Układy programowalne
    • Programowanie
    • Zasilanie
  • Artykuły, projekty, DIY
    • Artykuły redakcji (blog)
    • Artykuły użytkowników
    • Projekty - DIY
    • Projekty - DIY roboty
    • Projekty - DIY (mini)
    • Projekty - DIY (początkujący)
    • Projekty - DIY w budowie (worklogi)
    • Wiadomości
  • Pozostałe
    • Oprogramowanie CAD
    • Druk 3D
    • Napędy
    • Mechanika
    • Zawody/Konkursy/Wydarzenia
    • Sprzedam/Kupię/Zamienię/Praca
    • Inne
  • Ogólne
    • Ogłoszenia organizacyjne
    • Dyskusje o FORBOT.pl
    • Na luzie

Kategorie

  • Quizy o elektronice
  • Quizy do kursu elektroniki I
  • Quizy do kursu elektroniki II
  • Quizy do kursów Arduino
  • Quizy do kursu STM32L4
  • Quizy do pozostałych kursów

Szukaj wyników w...

Znajdź wyniki, które zawierają...


Data utworzenia

  • Rozpocznij

    Koniec


Ostatnia aktualizacja

  • Rozpocznij

    Koniec


Filtruj po ilości...

Data dołączenia

  • Rozpocznij

    Koniec


Grupa


Imię


Strona

Znaleziono 12 wyników

  1. Drodzy koledzy chciałbym prosić o pomoc: Hobbistycznie buduje robota na wzór: W zasadzie interesuje mnie samo podwozie. Wydrukowałem i złożyłem wszystko w całość. Całość waży: 910g (podwozie, okablowanie, arduino uno, PCA9685, kabel do programowania) Zastosowałem: 1. Źródło energii ogniwa 3x 18650 4,2V DC 1200mA (waga: 150g - na tą chwile jest poza podwoziem) 2. 18x Servo MG-90S specyfikacja: 3. Płyta Arduino UNO 4. Kontroler PCA9685 nakładka na Arduino uno 5. Redukcja dla serv: 300W 20A DC-DC Buck Converter Step Down Module 6. Całość złożona: Na potrzeby startu: Arduino zasilone bateria 9V PCA9685 zasilone poprzez step down ustawiony na 5,5V Program: #include <Wire.h> #include <Adafruit_PWMServoDriver.h> Adafruit_PWMServoDriver pwm = Adafruit_PWMServoDriver(0x40); // I2C 0x40 #define SERVOMIN 100 // 0 stopni #define SERVOMAX 600 // 180 stopni 400 - 90 stopni #define SERVO_1 0 #define SERVO_2 1 #define SERVO_3 2 #define SERVO_4 3 #define SERVO_5 4 #define SERVO_6 5 #define SERVO_7 6 #define SERVO_8 7 #define SERVO_9 8 #define SERVO_10 9 #define SERVO_11 10 #define SERVO_12 11 #define SERVO_13 12 #define SERVO_14 13 #define SERVO_15 14 #define SERVO_16 15 void setup() { pwm.begin(); pwm.setPWMFreq(60); delay(10); // pozycja startowa Noga 1 pwm.setPWM(SERVO_11, 0, 120); delay(250); pwm.setPWM(SERVO_12, 0, 490); delay(250); pwm.setPWM(SERVO_13, 0, 400); delay(250); // pozycja startowa Noga 3 pwm.setPWM(SERVO_1, 0, 350); delay(250); pwm.setPWM(SERVO_2, 0, 100); delay(250); pwm.setPWM(SERVO_3, 0, 150); delay(250); // pozycja startowa Noga 6 pwm.setPWM(SERVO_14, 0, 315); delay(250); pwm.setPWM(SERVO_15, 0, 600); delay(250); pwm.setPWM(SERVO_16, 0, 600); delay(250); // pozycja startowa Noga 4 pwm.setPWM(SERVO_4, 0, 370); delay(250); pwm.setPWM(SERVO_5, 0, 600); delay(250); pwm.setPWM(SERVO_6, 0, 575); delay(250); // pozycja startowa Noga 2 // pwm.setPWM(SERVO_4, 0, 370); // brak wolnego slota // delay(250); pwm.setPWM(SERVO_7, 0, 150); delay(250); pwm.setPWM(SERVO_8, 0, 100); delay(250); // pozycja startowa Noga 5 // pwm.setPWM(SERVO_4, 0, 370); // brak wolnego slota // delay(250); pwm.setPWM(SERVO_9, 0, 550); delay(250); pwm.setPWM(SERVO_10, 0, 450); delay(250); } Mój problem: Robot podczas zasilenia nie wstaje do końca mimo małej masy Teraz pytanie czy źle zasilam shield? Czy dałem za małe opóźnienie pomiędzy serwami podczas podnoszenia się do pozycji startowej i za dużo serw naraz pracuje? Kod działa poprawnie gdy nie ma obciążenia Proszę o sugestie z góry dziękuje
  2. Cześć, nie dawno wpadłem na pomysł małego tuningu swoich zasłon. Przy użyciu ESP8266, dwóch servomotorów MG996R 360, 4 czujnikow kontkatronowych i wydruku 3D. Projekt jest zasilany z 5v ładowarki od jbl W lecie oraz w słoneczne dni oglądanie telewizji w moim domu jest niemalże niemożliwe. Dostęp do rolety po lewej stronie jest nieco utrudniony , przez stojąca pod oknem klatkę królika. Urządzenia tego typu są stosunkowo drogie. Więc wraz ze szwagrem wpadliśmy na pomysł zbudowania automatu, który będzie odpowiadał za sterowanie zaslonami/ roletami okiennymi. Póki co sterowanie ogranicza się do http i rolety sterowane sa pojedynczo przez ograniczenie prądowe zasilacza impulsowego. Lecz finalnie chcemy go rozbudować o moduł czujnika natężenia światła oraz o optocoupler podłączony do usb telewizora. Które po włączeniu tv będzie miało stan wysoki, sygnał z modułu optocouplera będzie docierał do esp i na podstawie odczytu z czujnika światła; Płytka będzie decydowała czy zasłonić oba okna, czy jedno będzie wystarczające. Zaś po jego wyłączeniu będą się one automatycznie podnosić, tak aby w domu nie było ciemno przez cały czas. Myślę że projekt jest stosunkowo ciekawy i prosty do wykonania dla majsterkowiczów. Przez zastosowanie serwa udało się zmniejszyć rozmiary samego urządzenia. W przypadku zastosowania silnika krokowego i przekładni były sporo większy. Link do prezentacji YouTube: Poniżej załączam listę komponentów: -1x Esp 8266 -4x czujniki kontaktronowe (okienne) https://allegro.pl/oferta/kontaktron-boczny-czujnik-do-okien-drzwi-b-1p-10973809269?snapshot=MjAyMi0wMS0zMVQyMzoxNjo1NS44NThaO2J1eWVyOzA2ZWI1NmEyMTQ3ODljNmVkMWIzM2QyZWMzNDJiNjEwOGI3MzE4OGQ3MTkxNDMxMmU4ZmRkYzMxN2UzOWRkM2U%3D -2x servo MG996R https://allegro.pl/oferta/serwo-mg996r-metalowe-zebatki-15kg-360-11755893673?snapshot=MjAyMi0wMS0zMFQxNToxNjowMS43NzdaO2J1eWVyO2Q4NzBmNjY2OTRkMzc0ZDA1NzkzNjBhNjA2ZThhZGI5NWFiZTY3Nzk5YmQ4Mzg3N2NhODI5OWVkNzhhMGUzNGE%3D -4m przewodu wykorzystywanego w instalacjach alarmowych -2x wtyk usb https://electropark.pl/pl/p/Wtyk-USB-typ-A/475 - zasilacz impulsowy 5v 2,5A -2x moduł czujnika światła https://electropark.pl/pl/p/Modul-natezenia-swiatla-fotorezystor/9542 -12X klips do mocowania przewodu https://www.castorama.pl/klips-z-tasm-na-przew-5mm-4szt-id-1108710.html
  3. dzień dobry mam problem z działaniem skryptu #include <Servo.h> Servo myservo; int val = 0; void setup() { Serial.begin(9600); myservo.attach(9); pinMode(7,INPUT_PULLUP); } void loop() { int pkt = 1; while (true) { if(digitalRead(7) == LOW) { if(pkt < 6) { pkt = 0; } else { if(pkt == 1) { myservo.write(90); delay(25); } if(pkt == 2) { myservo.write(100); delay(25); } if(pkt == 3) { myservo.write(110); delay(25); } if(pkt == 4) { myservo.write(115); delay(25); } if(pkt == 5) { myservo.write(125); delay(25); } if(pkt == 6) { myservo.write(135); delay(100); } } } } }
  4. #include <Servo.h> #include <LiquidCrystal_I2C.h> // biblioteka do LCD #include <Keypad.h> //biblioteka do klawiatury #include <Wire.h> Servo servo; int pos = 40; char* password ="2004"; //hasło int pozisyon = 0; int przycisk = 0; const byte rows = 4; const byte cols = 4; char keyMap [rows] [cols] = { {'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', 'C'}, {'*', '0', '#', 'D'} }; byte rowPins [rows] = {2, 3, 4, 5}; byte colPins [cols] = {6, 7, 8, 9}; Keypad myKeypad = Keypad( makeKeymap(keyMap), rowPins, colPins, rows, cols); LiquidCrystal_I2C lcd(0x3F, 16, 2); void setup(){ servo.attach(10); lcd.begin(); setLocked (true); przycisk = 0; } void loop(){ setLocked (true); char whichKey = myKeypad.getKey(); lcd.setCursor(0, 0); lcd.print(" Witam"); lcd.setCursor(0, 1); lcd.print(" Wpisz haslo"); if(whichKey == '*' || whichKey == '#' || whichKey == 'A' || // przyciski złe whichKey == 'B' || whichKey == 'C' || whichKey == 'D'){ przycisk=0; pozisyon=0; setLocked (true); lcd.clear(); lcd.setCursor(0, 0); lcd.print("ZLY PRZYCISK"); delay(1000); lcd.clear(); } if(whichKey == '0' || whichKey == '1' || whichKey == '2' || whichKey == '3' || //define keys whichKey == '4' || whichKey == '5' || whichKey == '6' || whichKey == '7' || whichKey == '9' || whichKey == '10'){ przycisk++; } if(przycisk == 5){ przycisk = 0; lcd.clear(); lcd.setCursor(0,0); lcd.write(" ZA DUZO"); lcd.setCursor(0,1); lcd.write(" ZNAKOW"); delay(1000); lcd.clear(); } if(przycisk == 1){ lcd.clear(); lcd.setCursor(0,1); lcd.write(" *"); } if(przycisk == 2){ lcd.clear(); lcd.setCursor(0,1); lcd.write(" **"); } if(przycisk == 3){ lcd.clear(); lcd.setCursor(0,1); lcd.write(" ***"); } if(przycisk == 4){ lcd.clear(); lcd.setCursor(0,1); lcd.write(" ****"); } if(przycisk == 4 && pozisyon < 3){ lcd.clear(); lcd.setCursor(0,0); lcd.write(" Złe"); lcd.setCursor(0,1); lcd.write(" Haslo"); delay(1000); przycisk = 0; lcd.clear(); } if(whichKey == password [pozisyon]){ pozisyon ++; } if(pozisyon == 4){ przycisk = 0; pozisyon = 0; setLocked (false); lcd.clear(); lcd.setCursor(0, 0); lcd.print("DOBRE HASLO"); delay(3000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("Skrytka zamknie"); lcd.setCursor(0, 1); lcd.print(" sie za minute"); delay(60000); lcd.clear(); } delay(100); } void setLocked(int locked){ if(locked){ servo.write(40); } else{ przycisk = 0; servo.write(130); } } Gdy wpisuję hasło nie pojawiają się * oraz gdy wpiszę błędne hasło nie wyświetla się "Zle haslo" tylko pojawia się niebieskie tło tak jak na zdjęciu.
  5. Cześć wszystkim. Udało mi się skompletować wszystkie potrzebne rzeczy do stworzenia pewnego mechanizmu. W skrócie mówiąc jest to mechanizm, który ma za zadanie po naciśnięciu przycisku otwierać klapkę. Pozycja otwarcia/zamknięcia klapki ustawiana jest za pomocą krańcówek. Niestety pojawił mi się problem z serwem (PowerHD LF-20MG-360 standard - praca ciągła 360 stopni). W momencie kiedy ma ono otwierać/zamykać klapkę potrafi nierówno pracować. Swój układ testowy zasilam z zasilacza ustawionego na 12V, ponieważ z takiego napięcia mam zasilane krańcówki. Reszta układu zasilana jest z przetwornicy 12V/5V (Pololu D24V22F5 - przetwornica step-down - 5V 2,5A). Spróbowałem sprawdzić, czy może pojedyncze elementy w moim układzie wpływają na pracę serwa. W tym celu napisałem program, który miał załączać serwo, gdy arduino otrzymywało sygnał albo z jakiegoś przycisku, albo z jakiejś krańcówki. Z każdego sygnału serwo chodziło równo. Niestety na docelowym programie serwo cały czas chodzi nierówno, a problem potęguje się jeżeli nastawię niską prędkość obrotową (np. 94 stopnie -serwo stoi przy 91*). Próbowałem naprawić problem poprzez wstawienie na wyjściu z przetwornicy kondensatora 470uF, ale jego obecność nic nie daje. Ostatecznie zauważyłem, że zmieniając wartość "delay" w kodzie programu udaje się trochę poprawić pracę serwo. Przy delay na poziomie 225ms serwo chodzi lepiej niż na 25ms, ale nadal nie jest to praca płynna. Ustawiając duże wartości delay, tracę możliwośc precyzyjnego sterowania klapką, bo zanim sygnał z krańcówki wyłączy serwo, to silnik nadal będzie się kręcił właśnie o tą wartość "delay". Poniżej przedstawiam swój kod, schemat układu i filmiki z pracy serwa (jeden na delay 25ms, drugi na 225ms). #include<Servo.h> Servo servo; void setup() { pinMode(10, INPUT); //przelacznik M pinMode(9, INPUT); //przelacznik D pinMode(8, INPUT); //krancowka na otwarciu pinMode(7, INPUT); //krancowka na zamknieciu pinMode(3, OUTPUT); //servo pin } void loop() { //ruch przesłony if(((digitalRead(10)==HIGH || digitalRead(9)==HIGH)&&(digitalRead(8)==LOW))) { servo.attach(3); servo.write(80); delay(25);} //servo otwiera przesłone else { digitalWrite(3,LOW);} //servo nie działa if((digitalRead(10)==LOW && digitalRead(9)==LOW && digitalRead(7)==LOW)) { servo.attach(3); servo.write(100); delay(25);} //servo zamyka przesłone else { digitalWrite(3,LOW);} //servo nie działa } Jeżeli filmiki są za mało wyraźne to postaram się je wrzucić w lepszej jakości. praca uklad.rar
  6. Witam Kupiłem ostatnio servomechanizm(https://botland.com.pl/pl/serwa-typu-standard/16493-serwo-powerhd-wh-65kg-standard-6929130065656.html). Chciałem uruchomić servo więc podłączyłem je do arduino przez wyjście "vin" i przez złącze DC podpiąłem 4 baterie aa (silnik jest zasilany od 6 - 8.4V) dla testu żeby zobaczyć jak działa. Servomechanizm nie drgnął tylko było słychać cichy terkot. Pomyślałem że 4 baterie AA są za słabe aby uciągnąć tak duże servo. Więc kupiłem akumulator SLA 6V 1.3Ah i podłączyłem do gniazda DC arduino. Sytuacja się powtórzyła i silnik tylko cichutko terkotał. Więc mam pytanie: czy coś jest nie tak z zasilaniem czy silnik jest zepsuty(jest nowy). Dodam że przy takim samym podłączeniu i programie w arduino inny servomechanizm(https://botland.com.pl/pl/serwa-typu-standard/6633-serwo-towerpro-mg-946r-standard.html) działa bez zarzutu przy podłączonych 4 bateriach AA. Z góry dziękuje
  7. Witam chciałem zbudować kroczącego robota na arduino i pojawił się problem wyczuwaniem podłoża przez nogę robota czy da się zrobić to poprzez pomiar prądu pobieranego przez serwo? Jeżeli da się to proszę o podpowiedź jak to zrobić i ewentualnie czego użyć.
  8. Witam! Mam mały problem z kursem arduiono w części dotyczacej serva. Arduino uno ma gniazdo do którego można podpiąć baterię. Maker uno działa jedynie przez usb. Mam servo z podsaw elektroniki 2 - redox s90 dostepnego tez w sklepie https://botland.com.pl/pl/serwomechanizmy/1684-serwo-redox-s90-micro.html# Czy może ktoś doradzić jak bezpiecznie podpiąć je pod kontroler? Eksperymenty lubie ale bez ryzyka uszkodzenia podzespołów. 🙂 Dzięki i pozdrawiam!
  9. Witam, mam problem z zasileniem arduino oraz serwomechanizmu. Otóż wymyśliłem to tak, że użyję akumulator Li-Po 1s w połączeniu z przetwornicą step-up (maksymalny prąd to 2A). Jednak po włączeniu wszystkiego serwo oraz arduino wariują. Natomiast gdy podłącze arduino do komputera poprzez usb a serwo do baterii lub zasilacza to wszystko działa poprawnie. Dodam też, że prędkość i kąt wychylenia serwa są sterowane poprzez moduł BT i gdy wszystko jest zasilane jest właśnie z baterii lub jednego zasilacza(atx) to moduł wysyła informacje z dużo wyższą częstotliwością (dioda TX miga znacznie szybciej i widać to na monitorze portu szeregowego).
  10. Mam problem z połączeniem kodu ardiunu. Napisałem działający kod na sterowanie dwoma silnikami przez mostek, oraz kod na sterowanie dwoma serwo. Kody te osobno działają lecz przy próbach połączenia kodów nic nie działa. Dopiero zaczynam programować w arduino. Wiem że to pewnie prosta sprawa dla kogoś kto już troche w tym siedzi ale to dla mnie początki. Pierwszy kod do sterowania silnikami: https://pastebin.com/eLdFuPBV?fbclid=IwAR2gle7I_ltJhNnZ5NYrGbPog7Eu33zzu-CwV8DazjPd6IxyswPJcXlZ5yw Kod do sterowania dwoma serwo: https://pastebin.com/Dmhz6TwH?fbclid=IwAR1jieyCyECJCqomrRivB8H0d_qAJRlPoy9_m85_Xi1HhayHlehIvkObiZA Schemat połączenia :
  11. modified 8 Nov 2013 by Scott Fitzgerald http://www.arduino.cc/en/Tutorial/Sweep */ #include <Servo.h> Servo myservo; // create servo object to control a servo // twelve servo objects can be created on most boards int pos = 0; // variable to store the servo position void setup() { myservo.attach(9); // attaches the servo on pin 9 to the servo object } void loop() { for (pos = 0; pos <= 100; pos += 1) { // goes from 0 degrees to 180 degrees // in steps of 1 degree myservo.write(pos); // tell servo to go to position in variable 'pos' delay(35); // waits 15ms for the servo to reach the position } for (pos = 100; pos >= 0; pos -= 1) { // goes from 180 degrees to 0 degrees myservo.write(pos); // tell servo to go to position in variable 'pos' delay(35); // waits 15ms for the servo to reach the position } delay(1000); } Witam serdecznie Jestem tu nowy i kompletnie zielony i liczę na Waszą pomoc Jest to program wgrany z przykładów do serva Troche zmieniłem kąty i czasy Oraz ostatnia komende którą wpisałem delay(1000); robi mi przerwy miedzy kolejnymi ruchami serwa moje proźby o pomoc sa nastepujące By ostatnia komenda delay chodziła losowo w zakresie czasu 1000 - 3000 By cała pętla powtarzała się losową ilość razy w zakresie 10- 50 ruchów serwa By po każdej takiej pętli - powiedzmy serwo robi losowo 25 ruchów następowała przerwa zanim program zacznie wykonywać kolejną pętle i tu też losowo czasy od 1 do 6 minut
  12. Witam wszystkich. Mam do sprzedania duza kolekcje sensorow/modulow do Raspberry Pi i Arduino. Moduly zakupilem podczas studiow, jednak studiuje sieci komputerowe i nie mialem czasu sie nimi pobawic. Uzylem doslownie paru, dlatego sprzedaje wszystko jako nowe. Ponizej zawartosc paczki od Soundfounder cena rynkowa 330zł: 1x Double Color LED 1x RGBLED 1x Auto-Flash LED 1x Relay module 1x Laser Emitter 1x Button 1x Tilt Switch 1x Vibration Switch 1x IR Receiver 1x Active Buzzer 1x Passive Buzzer 1x Reed switch 1x Photo-interrupt 1x AD/DAConvert-PCF8591 1x RainDrop Sensor 1x Joystick PS2 1x Potentiometer 1x Analog Hall Sensor 1x Hall Switch 1x Analog Temperature Sensor 1x Thermistor 1x Sound Sensor 1x Photoresistor 1x Flame Sensor 1x Gas Sensor 1x Remote Control 1x Touch Switch 1x HC-SR04 1x Temperature Sensor-DS18B20 1x Rotary Encode 1x Humiture Sensor 1x IR Obstacle 1x 1602 I2C 1x Barometer-BMP280 1x MPU6050 1x RTC-DS1302 1x Tracking Sensor 1x Breadboard 1x GPIO Extension Board 1x 40-pin Ribbon Cable for GPIO Board 2x Pin Anti-Reverse Cable 5x Pin Anti-Reverse Cable 5x Pin Anti-Reverse Cable 5x Pin Anti-Reverse Cable 1x pin ribbon cable 20x Jumper wires (Male to Female) 10x Jumper wires (Male to Male) 1x User Manual ARDUINO UNO REV3 [A000066] cena: 130 ARDUINO WIFI Shield cena: 200 Ethernet Shield cena: 40 Reszta zostala zakupiona ze strony botland.com.pl Podstawy elektroniki 2 - zestaw elementów + bezpłatny kurs ON-LINE cena: 69,90 Arduino poziom 2 - zestaw elementów + bezpłatny kurs ON-LINE cena: 139,90 Zestaw do budowy robota + bezpłatny kurs ON-LINE cena: 249 Zestaw światłolub cena: 14,90 I DUZO DUZO Wiecej. Prosze sprawdzic zdjecia w celu weryfikacji reszty. W razie pytan prosze dzwonic, pozdrawiam. Zapraszam do ogloszenia: https://www.olx.pl/oferta/sensory-moduly-do-arduino-raspberry-pi-elektronika-mechatronika-CID99-IDy0HAJ.html
×
×
  • 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.