Snake arduino nano r3

Problemy z realizacją projektów prezentowanych na blogu.
Mazi
Młodszy majsterkowicz
Posty: 15
Rejestracja: 29 maja 2019, 09:14

Snake arduino nano r3

Post autor: Mazi » 29 maja 2019, 09:33

Witam. Zakupiłem niedawno kilka układów Arduino nano r3.
Chciałem rozpocząć przygodę z tym mikro kontrolerem i stworzyć grę snake z majsterkowa
Przy pierwszej próbie spaliłem układ. Mam więc pytanie. Jak to podłączyć aby zadziałało? Jestem kompletnie zielony w tym, a użyte arduino w tutorialu to arduino uno. Tak że nie wiem co robię źle :(
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.

Co miesiąc do wygrania nagrody o wartości ponad 1600 zł!


Awatar użytkownika
Marhef
Złota rączka
Posty: 1164
Rejestracja: 18 lis 2011, 02:18

Re: Snake arduino nano r3

Post autor: Marhef » 29 maja 2019, 11:07

Panie, masz całkowicie pomylone zasilanie!
Po pierwsze podłączyłeś GND z arduino do Vcc wyświetlacza
Po drugie podłączyłeś 5V (!) z arduino do pinu 3 wyświetlacza (SCE - chip select?)
Nie możesz podłączyć 5V do wyświetlacza, wyraźnie napisane jest, że maksymalnie 3,3V

Po czym wnioskujesz, że spaliłeś arduino? Podłączyłeś coś jeszcze oprócz zasilania?

Moja rada, zacznij od czegoś prostszego. Naucz się czytać schematy, noty katalogowe. Nie chcę Cię zniechęcać, ale podłączając na podstawie obrazków z internetu dużo rzeczy spalisz. Zwłaszcza, że w tym konkretnym przypadku schemat jest do innej wersji wyświetlacza. Z tym podłączeniem mogę Ci pomóc, ale dopiero wieczorem
Mazi
Młodszy majsterkowicz
Posty: 15
Rejestracja: 29 maja 2019, 09:14

Re: Snake arduino nano r3

Post autor: Mazi » 29 maja 2019, 12:46

Pewno że chciał bym, abyś mi pomógł. Jestem samoukiem, więc jak zrobię coś co działa, będę miał już "własny" schemat.
Wiem że powinienem zacząć od łatwiejszych rzeczy, ale nie znalazłem nic ciekawego, a w zasadzie nic innego łatwego (To wydawał mi się łatwy projekt) dostęp mam do tego rodzaju wyświetlaczy na allegro. I tak wielkie dzięki za konstruktywną krytykę
Edit: Wnioskuję po tym, iż poleciał z niego dym jak sprawdzałem
Awatar użytkownika
Marhef
Złota rączka
Posty: 1164
Rejestracja: 18 lis 2011, 02:18

Re: Snake arduino nano r3

Post autor: Marhef » 29 maja 2019, 13:49

Z którego elementu? Masz miernik uniwersalny, żeby sprawdzić?
Z doświadczenia, prawdopodobnie spalił się regulator napięcia (taki dziwny, trzy nóżki z jednej strony i jedno duże pole z drugiej).

Jeśli chcesz się nauczyć programowania mikrokontrolerów, odpuść arduino. Ucz się języka C (albo C++). Arduino jest dobre, żeby jakiś element szybko uruchomić. Ale w gotowych projektach nie sprawdzi się. I to jest moje zdanie. Bawiłem się kiedyś arduino (mam nawet dwie czy trzy płytki), więc moje zdanie nie wynika z czytania internetu

P.S. Wiesz, dlaczego źle podłączyłeś? Bo nie sprawdziłeś, jak działa biblioteka, nie sprawdziłeś, jakie masz połączenia na wyświetlaczu, tylko podłączyłeś na podstawie obrazka.
Podpowiedzieć, co zrobić, żeby podłączyć dobrze?

P.P.S. Możesz sprawdzić, czy arduino działa. Podłącz do komputera i sprawdź, czy jest wykrywane poprawnie.
Mazi
Młodszy majsterkowicz
Posty: 15
Rejestracja: 29 maja 2019, 09:14

Re: Snake arduino nano r3

Post autor: Mazi » 29 maja 2019, 14:19

Z Chipu.
Mam taki za 30 zł :D Działa dobrze. Wczoraj sprawdzałem nim przejścia w guzikach jak lutowałem. Finalnie nie działały przyciski, podobnie jak wyświetlacz był biały i buzzer nie wydawał dźwięku, a więc pewnie wszystko źle wlutowałem do Arduino. Tamto arduino nie było już wykrywane. Wywaliłem do śmieci. Chcę to w sumie dla zabawy, żeby dla syna robić jakieś zabawki takie jak ta. Więc nadaje się znakomicie. Zgadza się. Podłączyłem na podstawie obrazka. W innych tematach to działa. A więc lekcja dla mnie, że to nie takie hop siup. Mimo, że wygląda niepozornie. Nigdzie nie mogłem też znaleźć opisu/filmiku jak prawidłowo podłączyć ten wyświetlacz, a przecież zajmowałem się nie takimi rzeczami.
Nie jeden telefon czy tablet zmodyfikowałem i śmigało a tu lipa ;/
Awatar użytkownika
Marhef
Złota rączka
Posty: 1164
Rejestracja: 18 lis 2011, 02:18

Re: Snake arduino nano r3

Post autor: Marhef » 30 maja 2019, 10:19

Mazi pisze:
29 maja 2019, 14:19
amto arduino nie było już wykrywane. Wywaliłem do śmieci.
Ja bym poczekał godzinę-dwie i dopiero wtedy podłączyć. Jeżeli jest tak, jak myślę, czyli przeciążyłeś stabilizator, to powinien działać po wystygnięciu.
Mazi pisze:
29 maja 2019, 14:19
Podłączyłem na podstawie obrazka. W innych tematach to działa.
To jest taka przypadłość chińskich modułów (dotyczy nie tylko wyświetlaczy). Każdy producent ma wyprowadzenia po swojemu. Trzeba sprawdzać w dokumentacji, jak ma być.
Mazi pisze:
29 maja 2019, 14:19
Nigdzie nie mogłem też znaleźć opisu/filmiku jak prawidłowo podłączyć ten wyświetlacz
Słabo szukałeś. https://learn.sparkfun.com/tutorials/gr ... okup-guide Link z tematu na blogu (a właściwie link z linku z tematu na blogu).

W Twoim przypadku powinieneś zrobić tak:
1) otwierasz plik nagłówkowy biblioteki do wyświetlacza
2) w sketchu z bloga szukasz linijki inicjalizacji wyświetlacza (na samej górze, chyba 6. linijka)
3) teraz w pliku z punktu 1) szukasz funkcji o nazwie takiej samej jak funkcja w sketchu (Adafruit_PCD8544(7, 6, 5, 4, 3);). UWAGA! W pliku zamiast cyferek będzie coś innego. Ważne, żeby było tyle samo, co w sketchu.
4) jak już znajdziesz (linijka 72), zapisujesz to, co w nawiasie (SCLK, DIN, DC, CS, RST)
5) teraz musisz dopasować to do opisu na wyświetlaczu. Na wyświetlaczu masz:
1. Vcc
2. GND
3. SCE
4. RST
5. D/C
6. DN
7. CLK
8. LED

6) I teraz tak (wszystkie piny tak jak w sketchu z bloga):
- do Vcc podłączasz 3V3
- do GND podłączasz GND
- SCE to pin chip select (CS), więc podłączasz do pinu 4
- RST to pin reset, podłączasz o pinu 3
- D/C to pin określający, czy wysyłane są dane czy komendy, podłączasz do pinu 5
- DN to pin na dane przychodzące, podłączasz do pinu 6
- CLK - zegar, podłączasz do pinu 7
- LED, hmmm... są dwie opcje. Albo podłączasz przez rezystor do Vcc, albo do GND. Podłącz piny Vcc i GND a do tego pinu rezystor i sprawdź, przy którym podłączeniu się zaświeci :P

Rozpisałem się. Jak coś niejasne, pytaj
Mazi
Młodszy majsterkowicz
Posty: 15
Rejestracja: 29 maja 2019, 09:14

Re: Snake arduino nano r3

Post autor: Mazi » 30 maja 2019, 11:24

Czekaj. Sprawdźmy czy rozumiem. Mam zamienić to:

Kod: Zaznacz cały

 Adafruit_PCD8544 display = Adafruit_PCD8544(7, 6, 5, 4, 3);  //LCD Nokia
Na to?

Kod: Zaznacz cały

Adafruit_PCD8544 display = Adafruit_PCD8544( SCLK, DIN, DC, CS, RST);  //LCD Nokia
I dalej lutować według tego opisu tak?
Czyli zlutowane mam dobrze, tylko wlutowałem do pinu 8 zamiast do GND (zanim "spaliłem" wywaliłem to nie mam jak sprawdzić twojej teorii)
wlutowane miałem właśnie tak. Tylko jak widać na zdjęciu miałem mostek i GND było tym drugim GND, bo myślałem że to nie ma znaczenia. Jeśli nie ma, to tak też później wlutuję, bo chwilowo mam problem z czasem. Teraz nic się nie wyświetla, ale też jak wyżej napisałem, chcę sprawdzić, czy dobrze zrozumiałem, zanim coś znowu zepsuję
Awatar użytkownika
Marhef
Złota rączka
Posty: 1164
Rejestracja: 18 lis 2011, 02:18

Re: Snake arduino nano r3

Post autor: Marhef » 30 maja 2019, 11:41

Mazi pisze:
30 maja 2019, 11:24
Czekaj. Sprawdźmy czy rozumiem. Mam zamienić to:

Kod: Zaznacz cały

 Adafruit_PCD8544 display = Adafruit_PCD8544(7, 6, 5, 4, 3);  //LCD Nokia
Na to?

Kod: Zaznacz cały

Adafruit_PCD8544 display = Adafruit_PCD8544( SCLK, DIN, DC, CS, RST);  //LCD Nokia
Nie. W pliku nagłówkowym masz tzw. deklarację funkcji. Tam określasz, co będzie w danym argumencie. Natomiast wywołanie funkcji z cyframi określa, pod jakimi pinami w arduino masz to podpięte.
Mazi pisze:
30 maja 2019, 11:24
Czyli zlutowane mam dobrze
Nie, nie masz dobrze. Sprawdzaj sobie po opisie. U Ciebie:
- pomarańczowy kabelek (bazuję na kolorach kabelków przy wyświetlaczu!) lutujesz do 3V3
- zamiast rezystora na pinie 2 lutujesz czarny przewód i lutujesz go do GND na arduino
- do pinu 3 lutujesz kabelek bez rezystora i z drugiej strony do pinu D4 na arduino
- biały kabelek lutujesz do pinu D3 na arduino
- szary kabelek lutujesz do pinu D5 na arduino
- fioletowy kabelek lutujesz do pinu D6 na arduino
- niebieski kabelek lutujesz do pinu D7 na arduino
- zamiast zielonego lutujesz rezystor i podłączasz go do Vcc albo GND (sprawdź, przy której opcji będzie świecić podświetlenie wyświetlacza)

Przyciski i buzer podłączasz tak jak na blogu. Tu nie ma filozofii ;)
Mazi
Młodszy majsterkowicz
Posty: 15
Rejestracja: 29 maja 2019, 09:14

Re: Snake arduino nano r3

Post autor: Mazi » 30 maja 2019, 11:52

czyli to w bibliotece:

Kod: Zaznacz cały

Adafruit_PCD8544(int8_t SCLK, int8_t DIN, int8_t DC, int8_t CS, int8_t RST)
na to:

Kod: Zaznacz cały

Adafruit_PCD8544(SCLK, DIN, DC, CS, RST)
Rozumiem, że wlutować tak jak mówisz do płytki arduino.
Chyba masz mnie dość :D
Awatar użytkownika
Marhef
Złota rączka
Posty: 1164
Rejestracja: 18 lis 2011, 02:18

Re: Snake arduino nano r3

Post autor: Marhef » 30 maja 2019, 12:03

Nic nie zmieniaj. Próbowałem wyjaśnić, jak dowiedzieć się, co gdzie podłączyć... ale chyba jeszcze bardziej zagmatwałem.
Tak z ciekawości, na jakim poziomie z programowania jesteś?
Mazi pisze:
30 maja 2019, 11:52
Chyba masz mnie dość :D
Nie, dlaczego? Ja wiem, że nie potrafię przelać na klawiaturę wszystkiego, co chcę powiedzieć.
Jeszcze kilka postów i uruchomimy :) tylko wrzuć na forum fotkę po zlutowaniu. Tak, żeby było widać podłączenie do wyświetlacza i do arduino
Mazi
Młodszy majsterkowicz
Posty: 15
Rejestracja: 29 maja 2019, 09:14

Re: Snake arduino nano r3

Post autor: Mazi » 30 maja 2019, 12:27

Też mam problem z wyjaśnianiem innym co mam na myśli. Znam php html mIRC TSC i jeszcze kilka, ale z C++ czy tak jak tu, jestem kompletnie zielony. Dopiero zaczynam i to przez hardena z elektro tv z YT. Spodobało mi się i postanowiłem się nauczyć w ramach zabawy (inaczej nie umiem)
zmieniłem kolejność kabelków, i testowałem na drugim wyświetlaczu i też po za podświetleniem nic nie ma ;(
VCC podświetlenia podłączyłem do 3v3 przez rezystor 330 ohm jak na blogu, tylko pod spodem, żeby nie przeszkadzało :p
Ja zawsze coś urwę
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.
Awatar użytkownika
Marhef
Złota rączka
Posty: 1164
Rejestracja: 18 lis 2011, 02:18

Re: Snake arduino nano r3

Post autor: Marhef » 30 maja 2019, 12:36

Że tak głupio zapytam. A zaprogramowałeś arduino?
Mazi
Młodszy majsterkowicz
Posty: 15
Rejestracja: 29 maja 2019, 09:14

Re: Snake arduino nano r3

Post autor: Mazi » 30 maja 2019, 12:45

tak, i nic nie wyświetla.
podejrzewam, że mam ustawiony zły programator.
mam ustawiony stlink/v2
pojawia się też między wpisami błąd
UWAGA: Kategoria 'Device' w bibliotece Wio LTE Arduino Library jest nieprawidłowa. Ustawiono na 'Uncategorized'
Podświetlenie teraz działa prawidłowo tak jak należy. hm...
Coś jest nie tak. Zmieniłem kontrast na 50 i coś widać. Widać snake, ale słabo. I nawet nie to że jestem ślepy bo na prawdę słabo widać
Mazi
Młodszy majsterkowicz
Posty: 15
Rejestracja: 29 maja 2019, 09:14

Re: Snake arduino nano r3

Post autor: Mazi » 30 maja 2019, 13:41

kontrast ustawiłem 65 i jest ok.
Okazuje się, że z tym resetowaniem jest jak mówiłem.
Zasilany z portu usb laptopa działa cały czas. Zasilany z power banku resetuje się. Może to być wina nie wlutowanych przycisków?
śmiesznie trochę, bo obraz jest do góry nogami :D
Wracając do zasilania. Czy mogę podłączyć ogniwo 18650 ze starego power banku? Nie mam co prawda układu ładowania, ale to przecież prototyp :D
Awatar użytkownika
Marhef
Złota rączka
Posty: 1164
Rejestracja: 18 lis 2011, 02:18

Re: Snake arduino nano r3

Post autor: Marhef » 30 maja 2019, 14:20

Mazi pisze:
30 maja 2019, 13:41
kontrast ustawiłem 65 i jest ok.
No to fajnie, coś już działa.
Mazi pisze:
30 maja 2019, 13:41
śmiesznie trochę, bo obraz jest do góry nogami :D
Nie śmieszne. Podłączyłeś do góry nogami. Sprawdź zdjęcia na blogu (zwróć uwagę na metalową ramkę dookoła wyświetlacza).
Mazi pisze:
30 maja 2019, 13:41
Okazuje się, że z tym resetowaniem jest jak mówiłem.
Zasilany z portu usb laptopa działa cały czas. Zasilany z power banku resetuje się. Może to być wina nie wlutowanych przycisków?
Jak stabilne zasilanie masz z powerbanka? Przede wszystkim, jakie napięcie jest na powerbanku? I do którego złącza na arduino podłączasz?
Nie sądzę, żeby to było przez przyciski.
Mazi pisze:
30 maja 2019, 13:41
Wracając do zasilania. Czy mogę podłączyć ogniwo 18650 ze starego power banku? Nie mam co prawda układu ładowania, ale to przecież prototyp :D
Do gniazda USB? Możesz, jeśli napięcie będzie powyżej 4,5V. A jeżeli przez Vin, to musisz mieć już więcej niż 6,2V (to wynika z charakterystyk układów stabilizujących napięcie).
Mazi
Młodszy majsterkowicz
Posty: 15
Rejestracja: 29 maja 2019, 09:14

Re: Snake arduino nano r3

Post autor: Mazi » 30 maja 2019, 15:47

Nie będę przelutowywał. Działa, to podkleję pasztetem (klej na gorąco)
Czyli 2 ogniwa muszą być...
Słabo trochę. Z tym zasilaniem jest tak. Działa pod ładowarką Xiaomi (tak wiem chwalę się już)
sprawdzałem testerem, i okazuje się że power bank za 20 zł to nie powinienem się dziwić :D
Buzzer podłączyć do RST?
[Edit]
Ta... Pin numer 2 :D
Awatar użytkownika
Marhef
Złota rączka
Posty: 1164
Rejestracja: 18 lis 2011, 02:18

Re: Snake arduino nano r3

Post autor: Marhef » 31 maja 2019, 08:58

Pin numer 2, ale na arduino, nie na wyświetlaczu
Mazi
Młodszy majsterkowicz
Posty: 15
Rejestracja: 29 maja 2019, 09:14

Re: Snake arduino nano r3

Post autor: Mazi » 31 maja 2019, 09:50

Przelutowałem jednak żeby nie było do góry nogami.
Tak. Pin numer 2 na arduino.
Działa znakomicie, choć fajnie by było jak by pauza była normalna a nie na 5 sekund, jednak i tak fajnie jest ;)
Zabezpieczyłem pasztetem, żeby się nie rozlutowało. Nie mam żadnej obudowy, więc pomyślałem, że lepiej nie będzie chwilowo.
Bardzo dziękuję za pomoc ;)
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.
Awatar użytkownika
Marhef
Złota rączka
Posty: 1164
Rejestracja: 18 lis 2011, 02:18

Re: Snake arduino nano r3

Post autor: Marhef » 31 maja 2019, 11:15

Cieszę się, że działa. Co do pauzy... da się zrobić ;) musisz troszeczkę program zmienić :P
Mazi
Młodszy majsterkowicz
Posty: 15
Rejestracja: 29 maja 2019, 09:14

Re: Snake arduino nano r3

Post autor: Mazi » 31 maja 2019, 12:16

I tak go trochę zmieniłem. Znaczy... Tylko napisy. Zamiast Game over przegrałeś i tam na początku jak jest napisane snake game, to u mnie snake nokia. No i węża z początkowych 8 kratek na jedną.
Tu jest sekcja pauzy:

Kod: Zaznacz cały

 display.clearDisplay();
  
  display.setTextColor(BLACK);
  for(i=5;i>0;i--)
    {
     display.setCursor(30,10);
     display.setTextSize(1);
     display.print("PAUZA");
     display.setCursor(40,30);
     display.print(i);
     display.display();
     delay(1000);
     display.clearDisplay();
    } 
Sugeruję, że to 5, to 5 sekund pauzy. Jednak nie ma odpauzowania. Nie widzę też przycisku pauzy tutaj...
Przycisk jest tutaj...

Kod: Zaznacz cały

{
  l=digitalRead(LEFT);      //Kierunki
  d=digitalRead(DOWN);
  r=digitalRead(RIGHT);
  u=digitalRead(UP);
  p=digitalRead(PAUSE);
     if(flag==0)
{
direct();
}
Teoretycznie jak dodał bym linijkę...

Kod: Zaznacz cały

 p=digitalRead(PLAY);
Mogło by zadziałać jak odpauzowanie. (bynajmniej w innych językach działa podobnie więc tak myślę że trochę racji bym miał)
Nie wiem tylko wyciąć timer. Nie widzę takiej funkcji... Eh... Bo to inny język...
Awatar użytkownika
Marhef
Złota rączka
Posty: 1164
Rejestracja: 18 lis 2011, 02:18

Re: Snake arduino nano r3

Post autor: Marhef » 31 maja 2019, 13:11

Przed sekcją pauzy też jest przycisk pauzy. Coś w stylu if (p == LOW)
Tutaj musisz zrobić kilka rzeczy (podaję funkcję z palca pisaną, nie mam jak sprawdzić!):

Kod: Zaznacz cały

display.clearDisplay();
display.setTextColor(BLACK);
display.setCursor(30,10);
display.setTextSize(1);
display.print("PAUZA");
display.display();
while (p == LOW);    // pusta pętla, czeka na zwolnienie przycisku. UWAGA! Nie zadziała, jeśli będziesz chciał bardzo szybko zwolnić pauzę
while (p == HIGH);   // pusta pętla, czeka na naciśnięcie przycisku
display.clearDisplay();
Sprawdź, powinno w miarę działać :)

To, co napisałem, wstaw w miejsce w Twoim poprzednim poście, tam, gdzie była sekcja pauzy
Mazi
Młodszy majsterkowicz
Posty: 15
Rejestracja: 29 maja 2019, 09:14

Re: Snake arduino nano r3

Post autor: Mazi » 31 maja 2019, 14:03

hm... Timer wyłączony.
Jednak funkcja:

Kod: Zaznacz cały

while (p == LOW);    // pusta pętla, czeka na zwolnienie przycisku. UWAGA! Nie zadziała, jeśli będziesz chciał bardzo szybko zwolnić pauzę
pauzuje naciskając klawisz.
po chwili restartuje grę...
Ta natomiast:

Kod: Zaznacz cały

while (p == HIGH);   // pusta pętla, czeka na naciśnięcie przycisku
pauzuje z naciśniętym przyciskiem. Po zwolnieniu klawisza dalej odtwarza grę
Awatar użytkownika
Marhef
Złota rączka
Posty: 1164
Rejestracja: 18 lis 2011, 02:18

Re: Snake arduino nano r3

Post autor: Marhef » 31 maja 2019, 14:35

... restartować nie powinno.
Pomyślę wieczorem, może wymyślę inny sposób.
Mazi
Młodszy majsterkowicz
Posty: 15
Rejestracja: 29 maja 2019, 09:14

Re: Snake arduino nano r3

Post autor: Mazi » 31 maja 2019, 15:37

Tak czy siak, odpauzować się nie da :D
Muszę jak kiedy będę miał więcej czasu, bo przy małym dziecku to pojęcie względne, przeczytać cały skrypt. Widzę tu podobieństwo do mIRCa i TSC
Dokładnie składnię. Bo reszta całkiem inna. Tu widzę rozbudowane o wiele bardziej, tam da się skrócić kod do minimum, ale to też 3 różne języki. Eh... żebym coś z tego ogarniał. Właściwie, ciekawe, czy jest jakaś ściąga do tego...
To czasem nie jest C#?
Awatar użytkownika
Marhef
Złota rączka
Posty: 1164
Rejestracja: 18 lis 2011, 02:18

Re: Snake arduino nano r3

Post autor: Marhef » 31 maja 2019, 15:45

Nie, to jest C++. Tylko jest dopasowany do pomysłu arduino - jak odpalisz plik arduino.h (albo z rozszerzeniem .hpp) to zobaczysz tam składnię jak w C++
ODPOWIEDZ

Strony partnerskie: