Skocz do zawartości

Pomocna odpowiedź

Witam i wracam do tematu.

Panowie @ethanak i @dambo    Zweryfikujcie proszę mój pomysł. Zasugerowałem się wskazówkami i w ramach testów i dla bezpieczeństwa na osobnym arduino i PCA9685 podłączyłem 3 srewa.  Poproszę o korektę lub wskazówki. 

P.S.  Jak zrobić teraz żeby te serwa poruszały się wolniej?   Kombinuje z "delay", probówałem też zmnieijszyć "pozycja+..." 
 

#include <Wire.h>
#include <Adafruit_PWMServoDriver.h>

#define serwo1 1
#define serwo2 4
#define serwo3 8
Adafruit_PWMServoDriver pwm=Adafruit_PWMServoDriver();
#define MIN 200
#define MAX 600
#define MED 400
int pozycja;

void setup() 
{
  pwm.begin();
  pwm.setPWMFreq(60);  
}

void loop() 
{
  if(pozycja=200; pozycja<600)
    {
      pozycja=pozycja+10;
    }
    pwm.setPWM(serwo1,0, pozycja);
    pwm.setPWM(serwo2,0, pozycja);
  if(pozycja=600; pozycja>200)
    {
        pwm.setPWM(serwo3,0, pozycja);
    }
    
    delay(1000);
  
  
  if(pozycja=600; pozycja>200)
    {
      pozycja=pozycja-10;
    }
    pwm.setPWM(serwo1,0, pozycja);
    pwm.setPWM(serwo2,0, pozycja);

  if(pozycja=200; pozycja<600)
    {
      pwm.setPWM(serwo3,0, pozycja);
    }
   delay(1000); 
}

 

7 minut temu, Bemol napisał:

 



  if(pozycja=200; pozycja<600)
    {
      pozycja=pozycja+10;
    }

 

Co to takiego?

Prośba: zacznij może od nauczenia się przynajmniej podstaw języka w którym chcesz napisać program. Potem będziemy rozmawiać o tym, co ten program ma robić i jak go ulepszyć. W końcu w jakimś języku musimy porozmawiać...

To by się nawet nie skompilowało. Może sprawdź chociaż pobieżnie własne pomysły zanim poprosisz o pomoc. Zakładając jednak, że to jakaś literówka powinno być chyba tak:

if(pozycja=200 && pozycja<600){ /***/ }
    

 

tak?

Uczę się na tyle ile mam na to czasu i źródeł.  Nie zamierzam pracować nigdy jako programista, a tylko hobbystycznie poznać temat. 

Poporosiłem o korektę, nie o negowanie mnie za brak wiedzy czy umiejętności bo tę staram się zdobywać również przez popełnianie błedów. 
O dziwo przykład który umieściłem skompilował się bez problemu, a serwa ruszyły tak, jak tego oczekiwałem. Temat powstał ponieważ nie wiedziałem jak sprawić by dwa serwa poruszały sie w przeciwnym kierunku w tym samym czasie. 

 

25 minut temu, Bemol napisał:

Nie zamierzam pracować nigdy jako programista, a tylko hobbystycznie poznać temat. 

Ja też nie mam zamiaru pracować jako tłumacz - ale hobbystycznie znając angielski mogę się w tym języku porozumieć, poczytać dokumentację czy zrozumieć słowa piosenki.

24 minuty temu, Bemol napisał:

bo tę staram się zdobywać również przez popełnianie błedów. 

Ale przecież Ty nie popełniasz błędów, tylko piszesz bzdury usiłując "na pałę" coś napisać i cieszysz się że działa, chociaż nic z tego nie rozumiesz. Zupełnie jak małpa przy maszynie do pisania, której zupełnym przypadkiem wyszła pierwsza linijka Pana Tadeusza.

Jak sobie wyobrażasz pomoc? Na tym, że upierasz się przy jakiejś błędnej konstrukcji ktróra zupełnym przypadkiem częściowo działa tak jak chcesz, i żeby ktoś Ci powiedział jak zrobić równie błędną konstrukcję która będzie działać jeszcze bardziej jak chcesz? Przecież jeśli nie znasz składni języka to jedyna pomoc której możemy udzielić to napisanie czegoś za Ciebie... a to nie ten dział.

 

41 minut temu, Bemol napisał:

Uczę się na tyle ile mam na to czasu i źródeł.  Nie zamierzam pracować nigdy jako programista, a tylko hobbystycznie poznać temat. 

Poporosiłem o korektę, nie o negowanie mnie za brak wiedzy czy umiejętności bo tę staram się zdobywać również przez popełnianie błedów. 
O dziwo przykład który umieściłem skompilował się bez problemu, a serwa ruszyły tak, jak tego oczekiwałem. Temat powstał ponieważ nie wiedziałem jak sprawić by dwa serwa poruszały sie w przeciwnym kierunku w tym samym czasie. 

Każdy popełnia błędy, ja też się pomyliłem próbując poprawić Twój na co słusznie zwrócił uwagę @ethanak. Czasami konstruktywna krytyka uczy więcej niż 100 błędów przy czym mniej czasu zabiera i taniej wychodzi, tak więc same plusy. ;D

51 minut temu, ethanak napisał:

A to się co prawda skompiluje (przy czym dostaniesz co najmniej jedno ostrzeżenie), ale większego sensu nie ma

Teraz dopiero zauważyłem, że tam jest przypisanie. Tak, to też błąd.

Apropo przypisania, a czy czasem nie wprowadzono jakiejś nowych liberalizacji standardu w C18?

(edytowany)

W takim razie cały kurs arduino na forbocie jest do usunięcia skoro uczy źle. 

Gdybyście byli instruktorami powiedźmy, że nauki jazdy, a kursant rozwaliłby auto na drodze, powiedzielibyście "źle jeździsz"...?    Byliście w tym temacie dla mnie pomocni w stopniu znikomym. 

Cofnę się by opanować podstawy. Mimo wszystko dzięki Wam za odpowiedzi.  

Edytowano przez Bemol
27 minut temu, atMegaTona napisał:

czy czasem nie wprowadzono jakiejś nowych liberalizacji standardu w C18

O ile wiem C18 nie wprowadza nic nowego, ale mogę się mylić.

 

18 minut temu, Bemol napisał:

Cofnę się by opanować podstawy.

Niestety - musisz. Jeśli jako jeden z nielicznych uważasz że kurs Arduino jest zły - proponuję Kurs C a następnie Kurs C++ (w tej kolejności). Jak^WJeśli przeczytasz to zrozumiesz, dlaczego nie mogliśmy Ci pomóc i być może nawet (o ile w dzieciństwie nauczyłeś się takiego magicznego słowa) nawet grzecznie przeprosisz...

4 minuty temu, atMegaTona napisał:

ale nas zgasił jak peta.. 😕

Spoko, młody jest to szumi, jak będzie starszy to może się zrobi grzeczniejszy... a przynajmniej przestanie szumieć 🙂

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...