Skocz do zawartości
Komentator

Kurs Arduino - #3 - UART (komunikacja z PC), zmienne

Pomocna odpowiedź

@Ronaldo71888 otrzymałeś już odpowiedź od @MichalWit, ale dla pewności:

11 godzin temu, Ronaldo71888 napisał:

Mam takie pytanie, ponieważ dopiero co zaczynam z Arduino. Czy jak wgram na płytkę jakiś program to czy będę musiał go jakoś wyłączyć jak będę chciał wgrać inny program? Chodzi mi przede wszystkim o dokładanie układów peryferyjnych

Programu nie musisz wyłączać ani usuwać, można od razu wgrywać nowy. Najlepiej jednak wszelkie połączenia elektroniczne wykonywać, gdy Arduino jest wyłączone 🙂

11 godzin temu, Ronaldo71888 napisał:

I czy istnieje możliwość przerwania np. nieskończonej pętli która wypisuje co 5 sekund napis "witaj w Forbocie".

Tak, ale najlepiej w tym celu napisać własną pętlę, która będzie wewnątrz tej głównej, prawdziwiej pętli nieskończonej (to jeden z wariantów).

Udostępnij ten post


Link to post
Share on other sites

jak sama nazwa wskazuje: nieskończona pętla nigdy się nie kończy.

pytanie kontrolne: co ma się stać, jeśli pętla się jednak skończy?

  • Lubię! 1

Udostępnij ten post


Link to post
Share on other sites

Witam, przyszedłem tutaj z małą skargą. Otóż w schemacie w tym poradniku jest błąd. Mówię o tym schemacie z zamkniętym oknem. Przycisk jest źle podłączony. Najpierw tego nie zauważyłem i zrobiłem taki sam schemat na swojej płytce stykowej. Najpierw przepisałem kod, gdy się okazało, że nie działa, to skopiowałem. Dalej nie działało... Myślałem, że to wina aktualizacji, którą prędzej zrobiłem, więc odinstolowałem arduino IDE. Prędzej próbowałem wracać do poprzednich wersji, ale nic nie dało. W końcu jeszcze raz je zainstalowałem i skopiowałem kod. DALEJ NIE DZIAŁAŁO. W końcu zmieniłem przycisk, myśląc, że go uszkodziłem. Dalej nie działało. Ciągle się świeciła tylko zielona dioda. Nie zależnie czy wciskałem przycisk, czy nie. W terminalu także pustka. W końcu mnie olśniło i obruciłem przycisk i podpiąłem kabelki. ZADZIAŁAŁO! Tak straciłem 1.5 godziny. Mam pytanie, To tylko mój przycisk jest inny? Czy to problem z schematem? Pozdrawiam.

W załączniku dałem zdjęcie płytki z dobrze ustawionym przyciskiem:

IMG_20190416_133910.thumb.jpg.3c92d50e2e0ffc65bab619d9f29ba9de.jpg

Udostępnij ten post


Link to post
Share on other sites

@Panda w naszych zestawach do tego kursu są inne przyciski, które mają tylko dwa wyprowadzenia przystosowane do płytek stykowych, więc nie można ich błędnie podłączyć (stąd nikt nie zwracał na to zbytnio uwagi). Dodamy informację na ten temat podczas następnej aktualizacji kursu. Jeśli używasz innych elementów to możesz napotykać różne przeszkody, trochę szkoda marnować czas na takie drobiazgi podczas nauki. Bezpieczniej korzystać więc z proponowanych zestawów.

PS Kupowałeś swoje Arduino niedawno czy to jakiś bardzo stary zakup? Pytam konkretnie o płytkę Arduino, a nie o resztę elementów 🙂

Udostępnij ten post


Link to post
Share on other sites

@Treker Dziękuję za szybką odpowiedź. Arduino zostało kupione razem z całym zestawem z allegro w ubiegłym roku. Gdzieś w środku Sierpnia. Nie wiedziałem, że w tych zestawach są inne przyciski. Myślałem, że wszystkie przyciski są uniwersalne i różnią się tylko rozmiarem.

Udostępnij ten post


Link to post
Share on other sites
7 minut temu, Panda napisał:

Dziękuję za szybką odpowiedź. Arduino zostało kupione razem z całym zestawem z allegro w ubiegłym roku. Gdzieś w środku Sierpnia.

Pytałem z ciekawości, bo to najbardziej perfidna podróbka Arduino jakiej dawno już nie widziałem. Oczywiście to nie jest uwaga do Ciebie, po prostu dziwie się, że jakiś sprzedawca oferuje jeszcze aż tak chamskie podróbki. Co innego klony, ale wstawianie loga oryginalnego Arduino, nadrukowywanie adresu strony projektu i podpisywanie "Made in Italy" to już szczyt chamstwa 😉

Udostępnij ten post


Link to post
Share on other sites

@Treker Nic nie szkodzi, niestety o ile dobrze widziałem, to sprzedawca jest bardzo popularny. Byłem pewny, że po prostu je kupuje i sprzedaje. Tym bardziej, że w tytule było wyraźnie napisane, że to nie jest klon. Ogólnie chciałem trochę zaoszczędzić, kupując tańszy zestaw z tym samym. Kilka miesięcy temu, ten zestaw doprowadził mnie do szału! Poznawałem zasadę działania oporników, w zestawie były sztuki po 10k, 1k i 220 omów. Na szczęście mój kuzyn jest elektronikiem i spytałem się go, jak to działa, bo podłączyłem rezystor 10k a dioda była cała ciepła! Kuzyn był równie zaskoczony co ja! Okazało się po zmierzeniu rezystora miernikiem, że zamiast 10k ma 150 omów!!! Nie polecam kupować zestawów z allegro...

Udostępnij ten post


Link to post
Share on other sites
4 minuty temu, Panda napisał:

Tym bardziej, że w tytule było wyraźnie napisane, że to nie jest klon.

Jeśli to jest oryginał, to sprzedawca musiałby mieć zapasy towaru z przed dobrych 3-4 lat, bo wtedy występowało jeszcze podobne Arduino, ale trochę w to wątpię 😉 No nic, grunt, że już wiesz jak to bywa z rożnymi zestawami tego typu.

Udostępnij ten post


Link to post
Share on other sites
(edytowany)
#define zielona 8
#define czerwona 9

String odebraneDane = "";

void setup() {
  Serial.begin(9600);
  pinMode(zielona, OUTPUT);
  pinMode(czerwona, OUTPUT);

  digitalWrite(zielona, HIGH);
  digitalWrite(czerwona, HIGH);
}


void loop() {
  if(Serial.available() > 0) {
    odebraneDane = Serial.readStringUntil('\n');
  }
  delay(1000);
  if(odebraneDane == "czerwona" and (czerwona, HIGH)) {
    digitalWrite(czerwona, LOW);
  }
  delay(1000);
  if(odebraneDane == "czerwona" and (czerwona, LOW)) {
    digitalWrite(czerwona, HIGH);
  }
  delay(1000);
  if(odebraneDane == "zielona" and (zielona, HIGH)) {
    digitalWrite(zielona, LOW);
  }
  delay(1000);
  if(odebraneDane == "zielona" and (zielona, LOW)) {
    digitalWrite(zielona, HIGH);
  }
}

Witam ponownie, napisałem taki kod, do zadania z gwiazdką. Najpierw dałem bez komendy "delay". Z wyłączeniem diod nie było problemu, lecz przy próbie załączenia ich z powrotem, nie ma efektu. Ktoś ma jakiś pomysł, czemu to nie działa?

PS Dodałem "delay", bo myślałem, że pętla za szybko chodzi, ale jest ten sam efekt...

Edytowano przez Panda
zbędne lniki kodu

Udostępnij ten post


Link to post
Share on other sites

@Panda nie analizowałem dokładnie Twojego programu, bo widać w nim od razu podstawowe błędy w składni. Nie rozumiem poniższego kodu, ale na 100% gwarantuje jednak, że nie robi on tego co byś chciał 😉 Co dokładnie według Ciebie miał sprawdzać ten warunek?

if(odebraneDane == "czerwona" and (czerwona, HIGH)) {

Udostępnij ten post


Link to post
Share on other sites

@Treker Chciałem, żeby były 2 warunki. Jeżeli odebraneDane są równe czerwona i czerwona (pin 8 ) jest na stanie wysokim.

Udostępnij ten post


Link to post
Share on other sites

to może zapoznaj się z językiem w którym komunikujesz się z komputerem (nieważne, czy to jakiś wypasiony sturdzeniowy serwer czy mały attiny) - bo na 100% nie zrozumie "ja bym chciał".

aha, i nie próbuj twierdzić że "to działało" bo to się nie miało prawa nawet skompilować.

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!

Gość
Dołącz do dyskusji! Kliknij, aby zacząć 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...