Arduino Polska Forum
P10led - Wersja do druku

+- Arduino Polska Forum (https://forum.arduinopolska.pl)
+-- Dział: Korzystanie z Arduino (https://forum.arduinopolska.pl/dzial-korzystanie-z-arduino)
+--- Dział: Piaskownica (https://forum.arduinopolska.pl/dzial-piaskownica)
+--- Wątek: P10led (/watek-p10led)



P10led - elTerius - 29-11-2018

Witam.

Moj problem polega na wyświetlaniu zmiennej i tekstu.
Jeżeli mam czysty tekst w cudzysłowiu jak niżej
to jest wszystko  ok.
Kod:
 myled.showmsg_single_scroll(" 12 : 53 ",1,2,0);
 
 delay(200);
 
  myled.showmsg_single_scroll(" 28 / 11 / 18 ",1,3,0);

   delay(200); 

Ale, gdy muszę wyświetlić zmienne i tekst , jak niżej



 myled.showmsg_single_scroll(hh,":",mm,3,2,0);

 delay(200);
      
 myled.showmsg_single_scroll(d,"-",m,"-",y,1,3,0); 

 delay(200);
to otrzymuję komunikat od kompilatora :

no matching function for call to 'LedP10::showmsg_single_scroll(byte&, const char [2], byte&, int, int, int)'

Co jest tego przyczyną ??

P.S.
Proszę nie pisać postów typu:
Google --> szukaj
i tym podobnych, bo już szukałem a taki post nie pomaga szukającemu pomocy.


RE: P10led - kaczakat - 29-11-2018

Zamień sobie zmienne na tekst i wyświetl wszystko jako tekst.


RE: P10led - elTerius - 29-11-2018

(29-11-2018, 15:32)kaczakat napisał(a): Zamień sobie zmienne na tekst i wyświetl wszystko jako tekst.

a jak to zrobić ?

Jka się domyślasz  d,m,y  tozmienne byte ---> dzień, miesiąc, rok zdekodowane ze sygnału GPS


RE: P10led - kaczakat - 29-11-2018

Ja się domyślam, ale Ciebie leniu złapałem za nosek. Nie chce Ci się przeczytać jak wklejać kod, jak zadawać pytania by były jasne, nie wiadomo co na czym uruchamiasz, jakie biblioteki i na pewno nie zdążyłeś nic sprawdzić w google: "arduino zmienne na tekst". Tak, jest to w google, tutoriale od samej góry po polsku. To wcześniejsze pytanie też byś znalazł. Pa.


RE: P10led - elTerius - 29-11-2018

(29-11-2018, 15:58)kaczakat napisał(a): Ja się domyślam, ale Ciebie leniu złapałem za nosek. Nie chce Ci się przeczytać jak wklejać kod, jak zadawać pytania by były jasne, nie wiadomo co na czym uruchamiasz, jakie biblioteki  i na pewno nie zdążyłeś nic sprawdzić w google: "arduino zmienne na tekst". Tak, jest to w google, tutoriale od samej góry po polsku. To wcześniejsze pytanie też byś znalazł. Pa.

Faktycznie zadałem pytanie w google  "arduino zmienne na tekst" po polsku no i jest.

Mimo przekąsu dziękuję za naprowadzenie na dobry trop.

P.S.
Po kilku dniach zabawy z Arduino nie wymagaj zbyt wiele


RE: P10led - kaczakat - 29-11-2018

Pierwsze dni takie będą dopóki nie będziesz zdobywał wiedzy małymi kroczkami robiąc bzdurne (z pozoru) tutoriale i uzupełniał wiedzy w jakiś uporządkowany sposób: https://upload.wikimedia.org/wikibooks/pl/6/6a/C.pdf - tu znajdziesz sporo o stringach w C, wszystko co jest w Arduino znajdziesz tu: https://www.arduino.cc/reference/en/language/variables/data-types/stringobject/ - po angielsku, ale język programowania nie zna granic. Zobacz ile jest tego tylko do stringa i majdania w obie strony. A kurs jest też tu: https://forbot.pl/blog/kursy , akademie nettigo pewnie już znalazłeś.
Jak byś przejrzał tylko to forum to jeszcze sporo darmowych książek znajdziesz podlinkowanych w postach.
Nie będzie łatwiej niż na bascomie, ale na brak przykładów i gotowców w google na pewno nie będziesz narzekał.


RE: P10led - elTerius - 29-11-2018

No i poległem.
Dla próby napisałem coś takiego, ale wyświetla jakieś krzaki. Gdzie leży błąd ?

Kod:
#include <TimerOne.h>
#include"SPI.h"
#include <ledP10.h>

LedP10 myled;

void setup()
{
  Serial.begin(9600);
  while (!Serial) ;
 myled.init(3,4,8,9 ,1);
}




int hh,mm,ss,d,m,y;
char hhh,mmm,sss,d1,m1,y1;
const char lamane=" / ";

char dataxxx;
const char kropy=" : ";
char czas;

void loop() {
       

        hh=12;// dla próby wpisana stała godzina
        mm=53;//  dla próby wpisane stałe minuty



hhh=char(hh,DEC);
mmm=char(mm,DEC);
czas=hhh+kropy+mmm;

            
        d=12;// testowy dzien 12
        m=10;// testowy miesiac 10
        y=18;// testowy rok 18


        
d1=char(d,DEC);
m1=char(m,DEC);
y1=char(y,DEC);
dataxxx=d1+lamane+m1+lamane+y1;
 

     myled.showmsg_single_scroll(czas,2,3,0);

 delay(200);
      
   myled.showmsg_single_scroll(dataxxx,2,3,0); 

 delay(200);
      
          }
        
   
   
Ktoś ma jakiś pomysł ?
Po wyrzuceniu linijek


  Serial.begin(9600);

  while (!Serial) ;

w ogóle nic nie wyświetla,


RE: P10led - kaczakat - 29-11-2018

while (!Serial)  stosuje się dla Arduino Leonardo/Micro, bo tu jest serial z wbudowanego w procka USB, musi wystartować. Pojedyncze znaki piszemy w 'x' a nie jak stringi w "napis". Lepiej pomigaj ledami i dalej jedź kursem, jest to nudne, ale powoli poukładasz sobie co do czego zamiast miotania się bez sensu. Znak '\' jest specjalny i nie można go tak użyć. Wrzucenie wartości w jednego stringa można zrobić:
(zaraz dorzucę fotkę kodu, bo to forum myśli, że go hakuję).

[attachment=680]