Skocz do zawartości

Wojt

Użytkownicy
  • Zawartość

    4
  • Rejestracja

  • Ostatnio

Reputacja

1 Neutralna

O Wojt

  • Ranga
    1/10
  1. Tak to wygląda. Różnica jest duża i nie jest to na pewno wina pojedynczej diody, bo przy podłączeniu innej albo zamianie miejscami jest to samo.
  2. Coś tam się udało wykombinować Problem jedynie z diodami... Przy każdym przełączniku, jedna działa dobrze, a druga ledwo się "żarzy", kiedy powinna świecić, nawet gdy nie ma rezystora i nie bardzo wiem co z tym zrobić, w ostateczności zrezygnuję z diód i zostawię same przełączniki #include <Servo.h> #include <Wire.h> #include <Adafruit_PWMServoDriver.h> Adafruit_PWMServoDriver pwm = Adafruit_PWMServoDriver(); Servo servo; int swich = 2; int high = 600; int low = 150; void setup() { pinMode(swich, INPUT_PULLUP); pinMode(3, INPUT_PULLUP); pinMode(4, INPUT_PULLUP); pinMode(5, INPUT_PULLUP); pinMode(6, INPUT_PULLUP); pinMode(7, INPUT_PULLUP); pinMode(8, INPUT_PULLUP); pinMode(9, INPUT_PULLUP); pinMode(10, INPUT_PULLUP); pinMode(11, INPUT_PULLUP); pinMode(13, OUTPUT); digitalWrite(13, HIGH); pwm.begin(); pwm.setPWMFreq(1000); Wire.setClock(400000); } void loop() { int state2; int state3; int state4; int state5; int state6; int state7; int state8; int state9; int state10; int state11; state2 = digitalRead(2); state3 = digitalRead(3); state4 = digitalRead(4); state5 = digitalRead(5); state6 = digitalRead(6); state7 = digitalRead(7); state8 = digitalRead(8); state9 = digitalRead(9); state10 = digitalRead(10); state11 = digitalRead(11); if (state2 == HIGH){ pwm.setPWM(0, low, 0); } if (state2 == LOW){ pwm.setPWM(0, 0, high); } if (state3 == HIGH){ pwm.setPWM(1, low, 0); } if (state3 == LOW){ pwm.setPWM(1, 0, high); } if (state4 == HIGH){ pwm.setPWM(2, low, 0); } if (state4 == LOW){ pwm.setPWM(2, 0, high); } if (state5 == HIGH){ pwm.setPWM(3, low, 0); } if (state5 == LOW){ pwm.setPWM(3, 0, high); } if (state6 == HIGH){ pwm.setPWM(4, low, 0); } if (state6 == LOW){ pwm.setPWM(4, 0, high); } if (state7 == HIGH){ pwm.setPWM(5, low, 0); } if (state7 == LOW){ pwm.setPWM(5, 0, high); } if (state8 == HIGH){ pwm.setPWM(6, low, 0); } if (state8 == LOW){ pwm.setPWM(6, 0, high); } if (state9 == HIGH){ pwm.setPWM(7, low, 0); } if (state9 == LOW){ pwm.setPWM(7, 0, high); } if (state10 == HIGH){ pwm.setPWM(8, low, 0); } if (state10 == LOW){ pwm.setPWM(8, 0, high); } if (state11 == HIGH){ pwm.setPWM(9, low, 0); } if (state11 == LOW){ pwm.setPWM(9, 0, high); } delay(50); }
  3. Tak też zrobię! Dziękuję wszystkim kolegom za cenne rady, spróbuję na razie zrobić sprawny układ dla 1 kompletu (serwo, przełącznik, dwie diody). Jeśli wyjdzie dla jednego to dla 10 też A jak powinien wyglądać kod dla takiego układu z uwzględnieniem biblioteki Adafruit?
  4. Witam, Dopiero zaczynam moją przygodę z Arduino i mam zamiar zrealizować projekt systemu sterowania rozjazdami na mojej makiecie kolejowej. Każdy rozjazd ma być przesuwany za pomocą zamontowanego pod makietą serwomechanizmu SG90 (razem 10 serwomechanizmów). Każde serwo reagować ma na zmianę pozycji swojego przełącznika dwupozycyjnego - w momencie przełączenia, zmienić pozycję o około 30 stopni i w niej pozostać, przy zmianie pozycji przełącznika do pierwotnej - serwo również ma wrócić do pozycji pierwotnej. Dodatkowo, przy każdym przełączniku mają być dwie diody, zawsze świecić ma się jedna z nich w zależności od pozycji, w jakiej znajduje się dany serwomechanizm. Posiadam Arduino Uno, oraz Adafruit servo shield pozwalający na podłączenie do 16 serw. Stąd moje pytanie do bardziej doświadczonych kolegów: czy przy użyciu Adafruit mogę coś takiego zrobić? Czy w ogóle przełączniki dwupozycyjne z dźwignią są do zastosowania w tego typu projekcie? Uwagi dotyczące połączeń i zaprogramowania mile widziane, za każdą pomoc z góry dziękuję
×
×
  • Utwórz nowe...