RcClub.eu
https://rcclub.eu/

Arduino - jak zacząć.
https://rcclub.eu/viewtopic.php?f=108&t=6601
Strona 25 z 28

Autor:  Boogie [ wtorek, 20 września 2016, 22:25 ]
Tytuł:  Re: Arduino - jak zacząć.

Ja również zabrałem się za Arduino. Kupiłem jeden z zestawów za ok 40 USD. Trochę się pobawiłem LEDami, trochę poczytałem o tym jak działają poszczególne elementy, jak się programuje itd.

I tak się złożyło, że do następnego projektu potrzebuję sterowanie do LEDów mocy. To tylko jedna z rzeczy, bo potrzebuję też sterowania serwami, ale to już inna sprawa. Ale jeśli chodzi o to sterowanie LEDami to mam Arduino UNO, podłączyłem LED przez tranzystor TIP122 odpowiednio do masy i jednego z wyjść cyfrowychoraz zasilanie do VCC i masy. Wrzuciłem prosty programik testowy do ściemniania/rozjaśniania LEDów (przyrostowy, z czasem zwiększa jasność LEDów) i wszystko pięknie działa.
Nie chcę latać z taką "kobyłą" jaką jest UNO, więc kupiłem NANO. Samo nano przetestowałem i działa. Wrzucam ten sam program, robię to samo podłączenie i niestety nic... nie działa. Czy ktoś może mnie skierować na właściwą drogę?

Autor:  Ellipsis [ wtorek, 20 września 2016, 23:31 ]
Tytuł:  Re: Arduino - jak zacząć.

Kod programu? (Chociaż ten kawałek z definicją portu wyjścia i potem kawałkiem włączającym)
Zdjęcie podłączenia?

Autor:  darek_op [ środa, 21 września 2016, 07:35 ]
Tytuł:  Re: Arduino - jak zacząć.

Sprawdz, czy wyjście którym sterujesz diody z NANO jest wyjściem z obsługą PWM.

Autor:  Boogie [ środa, 21 września 2016, 11:43 ]
Tytuł:  Re: Arduino - jak zacząć.

Na razie stosuję wewnętrzny program, bez sterowania PWMem. Załączam zdjęcia obydwu układów. W praktyce różnią się tylko tym, że zmieniłem Uno na Nano.
Kod:

int nLedDrive = 10;
int x;

void setup() {
  pinMode(nLedDrive, OUTPUT);
  digitalWrite(nLedDrive, HIGH);
}

void loop() {
 
  for (x =  0; x < 256; x++){
    analogWrite(nLedDrive, x);
  }
}


Chyba coś mam nie tak z zasilaniem tego nano i w tym może tkwić problem.

Edit:
Udało mi się to w końcu jakoś uruchomić. Prawdopodobnie coś nie stykało na tej uniwersalnej płytce. Teraz tylko muszę "nauczyć" go sterowania z aparatury.

Drugi problem:
Mam zrobioną kamerę na serwach. Przy standardowym sterowaniu serwo trzyma taką pozycję jaką mu zadamy z drążka. Jak zrobić sterowanie "przyrostowe", żeby np. ruszyć drążkiem w lewo, wówczas kamera ruszy się w lewo i po powrocie do neutrum drążka, serwo trzymało ostatnią zadaną pozycję. Czy ktoś z Was widział może gotowy kod czy muszę się pobawić w jakieś funkcje (programowanie nie jest moim ulubionym zajęciem)?

Załączniki:
nano.jpg
nano.jpg [ 330.02 KiB | Przeglądane 3973 razy ]
uno.jpg
uno.jpg [ 330.49 KiB | Przeglądane 3973 razy ]

Autor:  Ellipsis [ środa, 21 września 2016, 12:52 ]
Tytuł:  Re: Arduino - jak zacząć.

Oczywiście przed ładowaniem programu do Nano zmieniasz typ płytki w Arduino IDE?
Załącznik:
uno_nano.jpg
uno_nano.jpg [ 56.43 KiB | Przeglądane 3960 razy ]


Port o nazwie 10 to nóżka 14(w nano) lub 16 (w uno) Atmegi. Dlatego nie działa.

Więc albo przepnij kabelek z portu 10 na 12 w nano, albo wybierz właściwą płytkę w IDE a program sam to zmieni w ramach kompilacji i tego co się dzieje w czasie zmiany kodu w język maszynowy :mrgreen:

Autor:  Boogie [ środa, 21 września 2016, 12:56 ]
Tytuł:  Re: Arduino - jak zacząć.

Tak jak napisałem w edytowanym poście, udało mi się całość uruchomić. Problemem było coś nie tak z samymi połączeniami na płytce uniwersalnej. To co chciałem działa. Czy mógłbyś się jednak odnieść do drugiej części wyedytowanego postu? Powoli się wciągnę w arduino to pokażę jaki mam pomysł na ciekawy projekt :) Oczywiście modelarski.

Autor:  Ellipsis [ środa, 21 września 2016, 13:58 ]
Tytuł:  Re: Arduino - jak zacząć.

Ustalmy, że serwo pracuje w zakresie od 0 do 180, gdzie 0 to maks w lewo a 180 to maks w prawo, a kanał RC pracuje w zakresie od 900 do 2100, gdzie 1500 to środek.

Można zrobić to w ten sposób, że każde wychylenie w lewo drążka (wartości mniejsze od 1500) będą powodowały odejmowanie od pozycji serwa tyle o ile drążek się wychylił a wychylenie drążka w prawo zwiększenie pozycji aż do 180.
Przykładowo:
1. Drążek na środku (1500) Serwo na środku (90)
2. Dajemy drążek trochę w lewo, załóżmy na 1300, serwo ustala się na powiedzmy 70
3. Puszczamy drążek, więc wraca na 1500 - serwo zostaje na 70
4. Dajemy drążek znów trochę w lewo, załóżmy ponownie na 1300, serwo ma się ustalić na bardziej w lewo czyli na 50
5. Puszczamy drążek, więc wraca na 1500 - a serwo zostaje na 50
6. W ten sposób po paru ruchach drążkiem w lewo osiągniemy minimum serwa czyli 0
7. Analogicznie każdy ruch drążkiem w prawo powyżej środka (1500) powinien powodować ruch serwa w prawo

Przy takiej konstrukcji warto pomyśleć o jakimś zerowaniu np na drugim kanale. Zwłaszcza jeśli to jest kamera.

Przykładów kodu jest parę, tu na Forum (Serwo sekwencjoner, 5 przekaźników sterowanych 5 kanałami z odbiornika RC, czy rcStepper) wszystko w dziale ZTS.
Pamiętaj, że Arduino dostaje bardzo często dane o pozycji drążka więc trzeba to zrobić sprytnie żeby w przeciągu 0,5 sekundy nie osiągnąć maksymalnego wychylenia.

Autor:  Boogie [ czwartek, 29 września 2016, 21:33 ]
Tytuł:  Re: Arduino - jak zacząć.

Dzięki, miałem sporo na głowie, więc dużo nie zdziałałem, ale udało mi się w międzyczasie podłączyć odbiornik i móc odczytywać z niego wartości PWMa oraz bez problemów sterować serwem. Problem mam natomiast przy sterowaniu LEDa. Przy tym poprzednim kodzie Pięknie rozjaśniają się LEDy, natomiast tutaj po pierwsze nie mogę w pełni sterować ich jasnością (tylko w pewnym zakresie), a po drugie mam problem z mruganiem diód (pewnie próbkowanie?).
Kod wygląda tak:
Kod:
#include <Servo.h>
byte PWM_PIN = 10;

int pwm_value;
Servo myservo;
void setup() {
  pinMode(PWM_PIN, INPUT);
  Serial.begin(115200);
  myservo.attach(9); 
}
void loop() {
  pwm_value = pulseIn(PWM_PIN, HIGH);
  Serial.println(pwm_value);
  pwm_value = map(pwm_value, 900, 2100, 0, 255);   
  myservo.write(pwm_value);                 
  delay(10);
}


Autor:  Ellipsis [ piątek, 30 września 2016, 08:18 ]
Tytuł:  Re: Arduino - jak zacząć.

W takim przypadku zawsze warto zajrzeć na stronę Arduino, a dokładniej na https://www.arduino.cc/en/Reference/Servo

Gdzie czytamy:

"Biblioteka Servo.h obsługuje do 12 serw na większości płyt Arduino i 48 serw na Arduino Mega. Na płytkach innych niż Mega, korzystanie z biblioteki wyłącza analogWrite () (PWM) funkcjonalność na pinach 9 i 10(...)Na Mega, do 12 serw mogą być wykorzystywane bez ingerencji z funkcją PWM; Zastosowanie 12 do 23 serw (na Medze)wyłączy PWM na pinach 11 i 12."

Autor:  Boogie [ piątek, 30 września 2016, 10:08 ]
Tytuł:  Re: Arduino - jak zacząć.

Jak mówiłem, jestem noga z elektroniki. Ale nawet po przełączeniu na inne piny, wynik pozostaje bez zmian.

Autor:  Ellipsis [ niedziela, 2 października 2016, 09:59 ]
Tytuł:  Re: Arduino - jak zacząć.

Masz trochę zły kod. Rozumiem, że chcesz pobrać położenie drążka z aparatury i to przetłumaczyć w programie na położenie serwa i jasność diody.
Potrzebujesz więc obsługę 3 pinów (dla diody, dla serwa i dla danych z odbiornika) a w kodzie masz obsługiwane tylko 2 piny. Napisałem na szybko taki programik i u mnie działa więc u Ciebie też będzie. Przy deklarowaniu pinów nie musisz oszczędzać miejsca, zwłaszcza że taki zabieg potem może odbić się czkawką.

zamiast:
byte PWM_PIN = 10;

daj:
int PWM_PIN = 10;

Autor:  Boogie [ środa, 12 października 2016, 11:12 ]
Tytuł:  Re: Arduino - jak zacząć.

Już doszedłem do tego co było nie tak i całość działa :) Dzięki za wskazówki!

Autor:  Artu [ czwartek, 13 października 2016, 08:41 ]
Tytuł:  Re: Arduino - jak zacząć.

Dla wielbicieli miniaturyzacji :mrgreen: Najmniejsza płytka kompatybilna z Arduino? BeanDuino! (:)

Autor:  Ellipsis [ niedziela, 30 października 2016, 12:57 ]
Tytuł:  Re: Arduino - jak zacząć.

To może biurkowy radar?




Obrazek


http://seeed.cc/project_detail.html?id=1846
http://www.thingiverse.com/thing:1777003

Autor:  Jano [ niedziela, 30 października 2016, 16:04 ]
Tytuł:  Re: Arduino - jak zacząć.

Od kilu tygodni czytam ten temat i jemu podobne że dostałem chęci do spróbowania.
Kiedyś elektronika bardzo mnie interesowała ale to już muzeum jest , obowiązywały takie skróty jak , el ecc tg ttl.Zrobiłem zamówienie u Ledy i czekam na towar.Nie będę wyszczególniał co zamówiłem.Jak dostanę przesyłkę to wstawię foto i mam nadzieję dowiedzieć się czy mam wszystko by rozpocząć zabawę.

Autor:  Osa [ niedziela, 30 października 2016, 17:21 ]
Tytuł:  Re: Arduino - jak zacząć.

Ellipsis napisał(a):
To może biurkowy radar?




Obrazek


http://seeed.cc/project_detail.html?id=1846
http://www.thingiverse.com/thing:1777003



Bardzo fajne, spróbuję.

Autor:  Meloow [ niedziela, 30 października 2016, 17:40 ]
Tytuł:  Re: Arduino - jak zacząć.

Na podobnej zasadzie u mnie dziala to

Obrazek

Wysłane z mojego HTC One przy użyciu Tapatalka

Autor:  Ellipsis [ niedziela, 30 października 2016, 22:18 ]
Tytuł:  Re: Arduino - jak zacząć.

I jeszcze jeździ. Fajnie.

Autor:  Ellipsis [ czwartek, 3 listopada 2016, 11:43 ]
Tytuł:  Re: Arduino - jak zacząć.

Za pomocą Arduino można pobić rekord w grze na Androida :geek: Instalujemy grę Stack: https://play.google.com/store/apps/details?id=com.ketchapp.stack&hl=pl

W której stawiamy kolejne klocki, o tak:


A teraz to samo w wykonaniu Arduino:

Autor:  piotrek75 [ wtorek, 8 listopada 2016, 23:45 ]
Tytuł:  Re: Arduino - jak zacząć.

Cześć
Dzisiaj coś tam troszkę popróbowałem się bawić, i o ile do Arduino pro mini za pomocą programatora USBasp
bez problemowo wgrywam programiki, to już za pomocą FTDI nie ma szans, co ciekawe wcześniej działał, ale to było dawno, w Arduino IDE w ogóle go nie ma , chociaż po podłączeniu pojawia mi się port COM4
Załącznik:
Prezentacja1.jpg
Prezentacja1.jpg [ 109.15 KiB | Przeglądane 4100 razy ]

W IDE powinien się pojawić FTDI , chyba że coś źle ustwiam. Z pięć razy go odinstalowywałem i na nowo instalowałem , jak na załączonym obrazku , w menedżerze urządzeń pisze że działa poprawnie.
Czy ktoś wie o co tu chodzi?

Strona 25 z 28 Strefa czasowa: UTC + 1
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/