Skocz do zawartości

spwr

Użytkownicy
  • Zawartość

    16
  • Rejestracja

  • Ostatnio

Reputacja

0 Neutralna

O spwr

  • Ranga
    2/10

Informacje

  • Płeć
    Mężczyzna
  1. Jeśli chodzi o podłączenie kondensatorów to na bank były podłączone dobrze, tylko nie wiem dlaczego serwa nie działają, pierwszy raz jak podłączyłem 1 serwo to nie połączyłem mas z arduino teraz wiem ze tak nie można. Ale drugi raz jak podlaczylem układ ( juz poprawnie, z innym sprawnym serwem) to tez mi sie chyba to serwo przepalilo. Nie chce juz zasilac z osobnego zrodla serw i z osobnego arduino. Moje pytanie brzmi czy jest możliwość zasilic serwa i arduino z jednego zrodla ? Bo z tego co wiem to te serwa pobieraja duzy prąd przy rozruchu i ponoc sie bedzie arduino resetowalo, wiec nie wiem jak temu zaradzic.
  2. Witam. Narysowałem ( nieco łopatologicznie) układ składający się z : -Arduino uno\ -6 serwomechanizmów 3 standardowych i 3 micro -6 potencjometrów B10k ( 1 potencjometr steruje jednym serwem) -zasilacz 5V/4A który ma zasilać serwa -ładowarka do telefonu zasilająca Arduino -6 kondensatorów (2200uF, 1000uF) -dwie płytki PCB Próbowałem przetestować ten układ podłączając póki co tylko jedno serwo, które najwyraźniej się popsuło, bo już nie działa. Dwa kondensatory elektrolityczne wysadziło chociaż uważałem na to żeby były wpięte poprawnie :/ Ponoć serwa trzeba zasilać osobnym źródłem, bo pobierają bardzo dużo prądu przy rozruchu i Arduino moze przez to wariować (resetować się). Nie mam już pomysłu co jest nie tak proszę o pomoc.
  3. Jaki miałby to być kondensator ? Mam na myśli typ i pojemność. No i nie wiem czy dobrze rozumiem. Ma być przylutowany do (+) i (-) każdego z 6 potencjometrów ? Sorry ze zadaje takie dla niektórych moze banalnie wyglądajace pytania, ale jestem laikiem w tej kwestii.
  4. Witam, pokrótce przedstawię wam projekt. Zamierzam zrobić robota o 6 serwomech. SG90 mini zasilane za pomocą zasilacza 5V/4A, a arduino z ładowarki do telefonu. Każde serwo bedzie sterowane za pomocą potencjometru o R = 10kOhm i wszystko działa tak jak powinno, ale ma wspolne źródło z arduino. I teraz nie wiem czy gdy bedzie ich 6 to podłączyć je z (+) i (-) zasilacza czy do arduino. Jesli do zasilacza to czy ta rezystancja R= 10k wystarczy?
  5. Zamieszczam poprawiony kod, ale nadal niestety jest lipa. Funkcja nie zwraca wartości wygenerowaanej "x" do loop'a. void setup() { pinMode(5, OUTPUT); pinMode(6, OUTPUT); pinMode(7, OUTPUT); pinMode(8, OUTPUT); pinMode(9, OUTPUT); pinMode(0, INPUT_PULLUP); pinMode(1, INPUT_PULLUP); pinMode(2, INPUT_PULLUP); pinMode(3, INPUT_PULLUP); pinMode(4, INPUT_PULLUP); } void loop() { x = generowanie_liczby(); if ((x==5) && (digitalRead(0)==0)) digitalWrite(5, LOW); else if ((x==6) && (digitalRead(1)==0)) digitalWrite(6, LOW); else if ((x==7) && (digitalRead(2)==0)) digitalWrite(7, LOW); else if ((x==8) && (digitalRead(3)==0)) digitalWrite(8, LOW); else if ((x==9) && (digitalRead(4)==0)) digitalWrite(9, LOW); } int generowanie_liczby() { int x = random(5,10); digitalWrite(x, HIGH); // generowanie pinu z zakresu <5,9> } Spróbowałem zrobic to na switchu tak jak mówiłeś ale nie wiem jak i gdzie dodac przyciski :/ switch(x) { case 5: digitalWrite(5, LOW); break; case 6: digitalWrite(6, LOW); break; case 7: digitalWrite(7, LOW); break; case 8: digitalWrite(8, LOW); break; case 9: digitalWrite(9, LOW); break; }
  6. Niestety nie działa to, już nie wiem co tutaj pozmieniać :/
  7. Witam, zrobiłem układ skladajacy sie z 5 diod i 5 przycisków. Gra ma polegac na tym, ze zapala sie losowa dioda i jesli nacisne przycisk odpowiadajacy za daną diode to ona ma zgasnac i zapalic sie inna itd. Mój problem polega na tym, ze nie wiem jak zrobic zeby funkcja "generowanie_liczby()" zwracała wygenerowana liczbe do loopa. Oto kod: void setup() { pinMode(5, OUTPUT); pinMode(6, OUTPUT); pinMode(7, OUTPUT); pinMode(8, OUTPUT); pinMode(9, OUTPUT); pinMode(0, INPUT_PULLUP); pinMode(1, INPUT_PULLUP); pinMode(2, INPUT_PULLUP); pinMode(3, INPUT_PULLUP); pinMode(4, INPUT_PULLUP); } void loop() { generowanie_liczby(); digitalWrite(x, HIGH); delay(3000); if ((x==5) && (digitalRead(0)==0)) digitalWrite(5, LOW); else if ((x==6) && (digitalRead(1)==0)) digitalWrite(5, LOW); else if ((x==7) && (digitalRead(2)==0)) digitalWrite(5, LOW); else if ((x==8) && (digitalRead(3)==0)) digitalWrite(5, LOW); else if ((x==9) && (digitalRead(4)==0)) digitalWrite(5, LOW); } int generowanie_liczby() { int x = random(5,10); // generowanie pinu z zakresu <5,9> return x; }
  8. Witam! Mój manipulator bedzie posiadał 6 serwomech. (3 micro SG90 i 3 Redox L360 standard). I zupełnie nie wiem jaki dac zasilacz zeby to zadziałało. Mam jeden ale nie wiem czy da rade. Zamieszczam zdjecie poniżej. Druga sprawa dotyczy przetwornic, jakie kupić? Mozecie wyslac jakies konkretne i czy jak mam w projekcie dwa typy serw to bede potrzebowal dwie przetwornice? Pozdrawiam. __________ Komentarz dodany przez: Treker
  9. Witam napisałem taki oto kod, ale czy da się to jakoś napisać prościej, bo jakby było np 30 diod, to pisać tyle komend było by bardzo czasochłone. Myslalem nad switch/case, ale nie wiem jak sie do tego zabrać, moglby ktoś rzucic okiem ? Dzięki z góry ! Zadanie 4.6 void setup() { pinMode(12, OUTPUT); pinMode(11, OUTPUT); pinMode(10, OUTPUT); pinMode(9, OUTPUT); pinMode(8, OUTPUT); Serial.begin(9600); } void loop() { int LEWY_FOTOREZYSTOR = analogRead(A5); //Odczytywana wartość z lewego fotorezystora int PRAWY_FOTOREZYSTOR = analogRead(A4);//Odczytywana wartość z prawego fotorezystora Serial.print("Odczyt (L): "); Serial.print(LEWY_FOTOREZYSTOR); Serial.print(" Odczyt (R): "); Serial.println(PRAWY_FOTOREZYSTOR); delay(100); if (LEWY_FOTOREZYSTOR<30 && PRAWY_FOTOREZYSTOR <30) { digitalWrite(8, LOW); digitalWrite(9, LOW); digitalWrite(10, HIGH); digitalWrite(11, LOW); digitalWrite(12, LOW); } else if (LEWY_FOTOREZYSTOR > 30 && LEWY_FOTOREZYSTOR <= 60) { digitalWrite(8, LOW); digitalWrite(9, LOW); digitalWrite(10, LOW); digitalWrite(11, HIGH); digitalWrite(12, LOW); } else if (LEWY_FOTOREZYSTOR > 60) { digitalWrite(8, LOW); digitalWrite(9, LOW); digitalWrite(10, LOW); digitalWrite(11, LOW); digitalWrite(12, HIGH); } else if (PRAWY_FOTOREZYSTOR > 30 && PRAWY_FOTOREZYSTOR <= 60 ) { digitalWrite(8, LOW); digitalWrite(9, HIGH); digitalWrite(10, LOW); digitalWrite(11, LOW); digitalWrite(12, LOW); } else if (PRAWY_FOTOREZYSTOR > 60) { digitalWrite(8, HIGH); digitalWrite(9, LOW); digitalWrite(10, LOW); digitalWrite(11, LOW); digitalWrite(12, LOW); } }
  10. Mam inne wartości, bo eksperymentowałem. I nie moge znaleźć tego złotego środka. Myslalem ze jak dam ( 0 , 50 , 0 , 180) to najwyzsza wartosc w terminalu bedzie rowna 50 co bedzie odpowiadalo maksymalnemu wychyleniu serwa czyli 180. Analogicznie gdy tam 70 i 103. To jaka wartośc powinienem ustawić zmiast 50 ? Skad mam ją wziąć ?
  11. Witam, próbowałem zrobić wskaźnik poziomu światła w następujący sposób. #include <Servo.h> int odczytanaWartosc = 0; Servo myservo; void setup() { myservo.attach(11); Serial.begin(9600); } void loop() { int odczytanaWartosc = analogRead(A5); odczytanaWartosc = map(odczytanaWartosc, 0, 70, 0, 180); myservo.write(odczytanaWartosc); Serial.println(odczytanaWartosc); delay(200); } Nie chciałem kopiować słowo w słowo kodu źródłowego dlatego napisalem cos sam na podstawie podobnego kodu ( serwo + potencjometr ). Ogólnie prgram działa tylko czasem wariuje. Sprawdziłem, że jeśli przyłoże latarke z telefonu do fotorezystora to w terminalu pokazuje sie maxymalna wartość 225, przy założeniu, że odczytanaWartosc = map(odczytanaWartosc, 0, 103, 0, 180); a jesli zmienie odczytanaWartosc = map(odczytanaWartosc, 0, 50, 0, 180); wartosc w terminalu wynosi nawet 450. Nie wiem czym to jest spowodowane i nie wiem jak to skalibrowac w odpowiedni sposób. Pozdrawiam
  12. Witam. Od razu mowie ze przeszukalem forum w kwestii fotorezystora, ale spotkalem sie z roznymi metodami. To znaczy w kursie forbota jest napisane, że potrzebny bedzie rezystor 1k [Ohm], a gdzie indziej ze 10k [Ohm]. I teraz nie wiem który wybrać. No i mam do dyspozycji tylko rezystory 100 Ohm i 4,7k Ohm dlatego drugie pytanie brzmi czy jesli mam wziac rezystor 1k to czy mam uzyc np 4 polaczonych rezystorow 4,7k co daje około 1,175 k Ohma oporu, a troche wiekszy chyba nie zaszkodzi? A jesli bede musial uzyc 10k rezystora to czy mozna go zastapic szeregowo dwoma 4,7k co z kolei da 9,4k? Dodam jeszcze, że jest to fotorezystor 5mm GL5516 5-10K.
  13. Witam ! Męczę się już od jakiegos czasu z tym czujnikiem, nie wiem gdzie jest błąd. Podłączenie raczej jest okej, zdjęcie załączam poniżej. Rezystor jaki został użyty ma rezyst. 4,7kΩ. Dodam, że cos niechcąco zmieniłem w opcjach arduino i że czasami nie czyta mi portu (COM3).Dioda Tx miga cały czas.
  14. Siema, znalazlem dwa silniki i sie zastanawiam czy moge je podlaczyc do arduino i jakos zaprogramować. Ten wiekszy jest opisany i ma jakieś dwa wyprowadzenia z boku, zupelnie nie wiem po co one są. Dodam ze wymontowalem go ze starego VIDEO. Podlaczylem oby dwa pod baterie AA i działają, tylko nie wiem czy jak podlacze pod arduino to sie nie popsuje. Nie potrzebuje jakis przekaźników czy coś w ten deseń ?
  15. Nie niestety nie mam, ale dodam ze jak obrociłem diode to zaczelo cos sie dziać. Zaczeły migać, co prawda nie tak jak napisane w programie ale jednak coś było. A co do rezystancji to wynosi 100 Ω.
×
×
  • Utwórz nowe...