Skocz do zawartości
Komentator

Kurs Arduino - #8 - Sterowanie silnikami DC, pętla for

Pomocna odpowiedź

(edytowany)

@Vova Kody wyglądają na poprawne, mam tylko uwagę co do komentarza z 2 kodu //Zaswiec diode 5 razy na 20 ms. Chyba komentarz ten nie pomaga w czytaniu kodu, a bardziej wprowadza w błąd 😞 A tak to super! Także śmiało działaj z innymi zadaniami.

A może też dodaj w przyszłych kodach procedury #define przy etykietowaniu pinów i jakiś stałych jak np. liczba obiegów pętli. Umieszczone na górze kodu powodują że czyta się o wiele lepiej i łatwiej coś poprawić. Gdybyś teraz miał zmienić pin silnika to musiałbyś poprawić to w kilku miejscach, a z prostą instrukcją dla preprocesora wartość takiej etykiety definiujesz raz, a kod wstawi się sam we wszystkich miejscach, gdzie użyjesz etykietę, przed kompilacją 🙂 

Edytowano przez Gieneq
  • Lubię! 1

Udostępnij ten post


Link to post
Share on other sites
15 minut temu, Gieneq napisał:

może też dodaj w przyszłych kodach procedury #define

@Gieneq... błagam... ja rozumiem że przyszedłeś do mikrokontrolerów ze świata Javy (no wiesz, te wszystkie "thinking in Java" i tak dalej) ale naucz się wreszcie języka którym tu się posługujemy bo piękniejszego przykładu oksymoronu dawno nie widziałem!

Udostępnij ten post


Link to post
Share on other sites

I znowu przy wsparciu forum  (posiliłem się rozwiązaniem kolegi bakardi92 ) zadanie 8.3 

String liczba = "";//Zmienna do wprowadzania tekstu
int ilosc = liczba.toInt();//Zmaina tekstu na liczby
void setup() {
  Serial.begin(9600);//Nawiazanie komunikacji przez UART
}
void loop() {
  if (Serial.available() > 0) {//Czy Arduino odebrało dane?
    liczba = Serial.readStringUntil('\n');//Zapisz danie do zmiennej 
    ilosc = liczba.toInt();//Przeksztalcenie ciagu znakow na liczby 
    for (int i = 0; i < ilosc; i++) {//Drukuj test gdy warunki sa spelnione  
      Serial.print("*");
    }
    Serial.print('\n');//Zacznij od nowej linii
  }

 

  • Lubię! 1

Udostępnij ten post


Link to post
Share on other sites

@Vova kolejne zadanie zrobione, tak trzymaj 🙂 

@ethanak dyrektywa jest lepszą nazwą?

  • Lubię! 1

Udostępnij ten post


Link to post
Share on other sites
36 minut temu, Gieneq napisał:

@ethanak dyrektywa jest lepszą nazwą?

Jak najbardziej, i ta powinna być stosowana. Prawidłowe jest również użycie w stosunku do #define słowa "makro" (chociaż wielu - szczególnie początkującym - nie będzie wiedziało o co chodzi).

Słowo "procedura" sugeruje, że "coś" się wykonuje - tymczasem cały preprocesor z #define na czele służy między innymi właśnie do tego, aby nic się nie wykonywało 🙂

  • Lubię! 2

Udostępnij ten post


Link to post
Share on other sites

Jakiego kondensatora trzeba użyć (chodzi mi o ten czarny)?

Udostępnij ten post


Link to post
Share on other sites
45 minut temu, ceiem napisał:

Jakiego kondensatora trzeba użyć (chodzi mi o ten czarny)?

To jest kondensator elektrolityczny i w tym przypadku nie ma dokładnie wyznaczonego kondensatora który koniecznie musisz podłączyć żeby układ działał .

Ten "czarny" służy do filtrowania zasilania może on mieć 100µF, 200µF, 1000µF . Ważne żeby nie był za mały  (chodzi o pojemność). Za duży też nie potrzebny.

 .

  • Lubię! 1

Udostępnij ten post


Link to post
Share on other sites
(edytowany)

Bardzo dziękuję. Mogę więc zacząć wykonywać ćwiczenie 🙂 

[edit]

Jednak nie zacznę ćwiczenia. Dlaczego tutaj są dwa kondensatory?

1359804610_Zrzutekranu2020-05-21o15_18_33.thumb.png.31b003140941286580797d9a4656991f.png

Jest czarny i pomarańczowy. Czy sposób ich podłączania (nie wiem jak to nazwać, kolejność podłączania na płytce, rozmieszczenie?) ma jakieś znaczenie? 

Edytowano przez ceiem

Udostępnij ten post


Link to post
Share on other sites

 

1 godzinę temu, ceiem napisał:

Jest czarny i pomarańczowy. Czy sposób ich podłączania (nie wiem jak to nazwać, kolejność podłączania na płytce, rozmieszczenie?) ma jakieś znaczenie? 

Ten "pomarańczowy" to kondensator ceramiczny i również służy do filtrowania zasilania . Kondensatory ceramiczne dobrze radzą sobie z filtrowaniem wysokich częstotliwości a elektrolityczne dobrze filtrują niskie częstotliwości.Dlatego często stosuje się oba rodzaje.

Cytat

Jeżeli chodzi o technikę cyfrową, to kondensatory są stosowane głównie do filtracji zasilania. Układy cyfrowe (w tym mikrokontrolery) są wrażliwe na zakłócenia, które mogą powodować ich nieprawidłowe działanie (np. zawieszanie się). Stąd, zasilanie każdego układu cyfrowego powinno być filtrowane (np.: przez kondensatory ceramiczne 100 nF).

Filtrowanie polega na włączeniu kondensatorów między linię zasilającą, a masę.

Sprawdzają się one w tej roli, ponieważ nie przepuszczają prądu stałego (można je podłączyć do baterii bez obawy o jej zwarcie), za to przewodzą prąd zmienny. Dzięki temu, zakłócenia w postaci napięcia zmiennego, są zwierane do masy.

Kondensatory elektrolityczne, mimo osiągania dużych pojemności, nie są skuteczne w filtrowaniu sygnałów o naprawdę wysokich częstotliwościach. Jest to spowodowane pewną ich niepożądaną cechą, zwaną indukcyjnością szeregową (o indukcyjności w dalszej części kursu). Z kolei kondensatory ceramiczne nie potrafią skutecznie odfiltrować zakłóceń o niewielkich częstotliwościach.

Z wyżej wymienionych powodów, najskuteczniejsze jest równoległe połączenie obu rodzajów kondensatorów: elektrolitycznego i ceramicznego.

Źródło :Kurs elektroniki – #4 – kondensatory, filtrowanie zasilania

  • Lubię! 2

Udostępnij ten post


Link to post
Share on other sites

Nie rozumiem jak mam do jednego mostka podłączyć dwa silniki...?

Udostępnij ten post


Link to post
Share on other sites

@ceiem Choć mostek jest jeden to posiada 2 kanały. Oznacza, że z jednego układu scalonego możesz sterować 2 silnikami. które wyprowadzenia do tego służą? Jest to opisane w dokumentacji, która jest podlinkowana w kursie:

image.thumb.png.41f79a8f823d27eeae9d6d9ab2d69f73.png

Do nóżek output podłączasz silnik. Możesz wybrać pary po danej stronie układu np. 1 silnik to OUTPUT1 I OUTPUT2, a 2 silnik to pozostałe 3 i 4. Nie ma znaczenia, które podłączysz do którego kabelka z silnika, co najwyżej będzie kręcił się w drugą stronę w stosunku do sąsiedniego silnika.

  • Lubię! 1

Udostępnij ten post


Link to post
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.


×
×
  • Utwórz nowe...