Skocz do zawartości
Komentator

Kurs Arduino - #5 - PWM, serwomechanizmy, biblioteki

Pomocna odpowiedź

Witajcie,

w treści artykułu znalazłem drobne błędy:

  • literówka - powinno być generowaniem - Wstęp do artykułu
Cytat

Poprzednia część omawiała przetwornik ADC. Tym razem pójdziemy w drugą stronę i zajmiemy się generowanie specyficznego sygnału.

  • słowo można jest tu niepotrzebne - Treść zadania domowego 5.2
Cytat

Napisz program, który po zwiększeniu wypełnienia do 255 zacznie je stopniowo zmniejszać do zera (i tak w koło). Sprawdź przy jakim opóźnieniu w każdym obiegu pętli można zaobserwowany efekt pulsowania będzie najciekawszy.

 

Udostępnij ten post


Link to post
Share on other sites

@Stark dziękujemy za zwrócenie na to uwagi. Przyda się to przy rewizji kursu  

Udostępnij ten post


Link to post
Share on other sites

Witam

Jeśli nie posiadam klipsa z wtyczką do baterii 9V,  ani zasilacza to w jaki inny sposób mogę podłączyć zasilanie pod Arduino żeby sterować serwomechanizmem? Czy jest możliwość, że zasilanie z USB wystarczy?

Udostępnij ten post


Link to post
Share on other sites
(edytowany)

A jakbym baterii 9V użył jako zewnętrzne źródło zasilania dla serwomechanizmu a Arduino zasilał przez port USB? Będzie miało to racje bytu? 🙂

 

P.S. zasilanie z portu USB wystarczy, aby wszystko działało poprawnie 🙂

Edytowano przez DziadekJohnson

Udostępnij ten post


Link to post
Share on other sites
11 godzin temu, DziadekJohnson napisał:

P.S. zasilanie z portu USB wystarczy, aby wszystko działało poprawnie 🙂

@DziadekJohnson taka metoda jest ryzykowana. Działać, zadziała, ale jest duża szansa, że programy nie będą działały poprawnie lub uszkodzisz tak Arduino 🙂

  • Lubię! 1

Udostępnij ten post


Link to post
Share on other sites

@DziadekJohnson jak podłączysz zasilanie do Arduino z USB to będzie działać. Grunt że masz wspólną masę. Możesz jeszcze dać jeszcze kondensatory na wejściu zasilania serwomechanizmu.

  • Lubię! 1

Udostępnij ten post


Link to post
Share on other sites

Hej wszystkim! Oto moje rozwiązanie zadania 5.4

#include <Servo.h> //Biblioteka odpowiedzialna za serwa

Servo serwomechanizm; //Tworzymy obiekt, dzięki któremu możemy odwołać się do serwa
String pozycja = ""; //Ciąg odebranych znaków
int pozycja_int ; // zmienna, przechowująca przesłaną liczbę 

void setup() {
  // put your setup code here, to run once:
  serwomechanizm.attach(9); //Serwomechanizm podłączony do pinu 9
  Serial.begin(9600); // Ustawienie prędkosci transkmisji
  Serial.println("Podaj położenie ramienia serwa");//Jednorazowe podanie tekstu
  serwomechanizm.write(0);// Wyzerowanie pozycji serwa
}


void loop() {
  // put your main code here, to run repeatedly:
  if (Serial.available()>0) {// jeśli dane są dostępne
    pozycja = Serial.readStringUntil('\n'); //odczyt danych
    pozycja_int = pozycja.toInt();//zimiana danych ze zmiennej string na zmienną int

    if(0 < pozycja_int < 180) { // jeśli liczba jest mniejsza niż 180
    serwomechanizm.write(pozycja_int); // serwo ustawia się na pozycję przez nas wysłaną
    } else {//Jeśli nie
      Serial.println("Błąd! Wybierz liczbę z zakresu 0 - 180");//wysłanie stosownego komunikatu
    }
   
  }
}

Generalnie na liczbach wszystko ładnie działa, ale chciałabym, żeby po wpisaniu liter także wyświetlał się błąd. I tu moje pytanie - czy jest szansa, żeby zmodyfikować ten kod w taki sposób, żeby po odczytaniu innych znaków niż liczby też wyświetlił komunikat o błędzie?  

  • 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...