Skocz do zawartości

xien

Użytkownicy
  • Zawartość

    3
  • Rejestracja

  • Ostatnio

Reputacja

0 Neutralna

O xien

  • Ranga
    1/10
  1. Przeniosłem układ na diody żeby sprawdzić czy faktycznie zasilanie nie wyrabia i okazało się, że zachowuje się tak samo. Kiedy arduino było podpięte jako isp Arduino | ATmega D10 -> RESET D11 -> MOSI D12 -> MISO D13 -> SCK to zauważyłem że po odpięciu MOSI, MISO, SCK układ działał ale przy odpięciu reset zachowywał się tak jak opisywałem czyli tak jakby działało tylko to co jest w setup(), być może to jest problemem ale czym to może być spowodowane?
  2. Hej, zbudowałem sobie takie samodzielne Arduino w oparciu o ATmega328p, jako mój programator służy arduino, z jego pomocą wgrałem bootloader na wyżej wymienioną atmege. I pojawił się problem gdy wgrywam za pomocą programatora(arduino as isp) program(miganie diodą) i podpinam zewnętrzne zasilanie, odpinam programator wszystko działa okej, ale gdy wgrałem sobie drugi program(sterowanie serwomechanizmem z pomocą modułu bluetooth HC-05) to jeśli jestem na zasilaniu z programatora(arduino) to program działa, natomiast jeśli odepnę i podłącze zewnętrzne zasilanie 5V to wtedy nie działa, (chyba) układ jest zasilony bo zapala się dioda z funkcji setup(), ale to co dzieje się w loop() tak jakby już nie działało bo nie ma mrugnięcia diodą a więc tym samym i sam serwomechanizm nie działa. Będę wdzięczny za wszystkie pomysły które mogą pomóc rozwiązać problem. Poniżej fragment kodu gdyby był potrzebny. Dodałem również schemat rozważałem rozdzielenie zasilania atmegi 5V i serwomechanizmy odzielnie na 6V(docelowo 4 serwomechanizmy), ale jeszcze nie wiem jak to się do końca łączy czy masy zasilania razem czy osobno czy w jakiś inny sposób(fajnie jakby ktoś się również tą wiedzą podzielił) ale na ten moment jest na jednym zasilaniu 5V całość atmega jak i 1 serwomechanizm. Na rx/tx dałem konwerter poziomów logicznych 5V/3.3V i jest też stabilizator żeby zrobić 3.3V. JP2 na schemacie to goldpiny na podpięcie serwa. #include <Servo.h> #include <SoftwareSerial.h> Servo s1; int bluetoothTx = 11; int bluetoothRx = 10; SoftwareSerial bluetooth(bluetoothTx, bluetoothRx); unsigned int servopos = 0; unsigned int servopos1 = 0; unsigned int servopos2 = 0; unsigned int realservo = 0; void setup() { s1.attach(9); bluetooth.begin(9600); pinMode(8, OUTPUT); digitalWrite(8, HIGH); } void loop() { if(bluetooth.available() >= 2) { digitalWrite(8, LOW); delay(700); digitalWrite(8, HIGH); servopos1 = bluetooth.read(); servopos2 = bluetooth.read(); realservo = servopos1 + (servopos2*256); Serial.print("Realservo - odczyt: "); Serial.println(realservo); if(realservo >=0 && realservo <=180) { digitalWrite(8, LOW); delay(300); digitalWrite(8, HIGH); digitalWrite(8, LOW); delay(300); digitalWrite(8, HIGH); s1.write(realservo); Serial.print("Pozycja serwo s1 "); Serial.println(realservo); delay(200); } }
  3. xien

    Wątek zbiorczy: powitania użytkowników

    Witam wszystkich na forum
×