• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
P10led
#1
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.
 
Odpowiedź
#2
Zamień sobie zmienne na tekst i wyświetl wszystko jako tekst.
Miło być decenianym https://buycoffee.to/kaczakat
 
Odpowiedź
#3
(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
 
Odpowiedź
#4
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.
Miło być decenianym https://buycoffee.to/kaczakat
 
Odpowiedź
#5
(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
 
Odpowiedź
#6
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/lang...ingobject/ - 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ł.
Miło być decenianym https://buycoffee.to/kaczakat
 
Odpowiedź
#7
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,
 
Odpowiedź
#8
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ę).

   
Miło być decenianym https://buycoffee.to/kaczakat
 
Odpowiedź
  


Skocz do:


Przeglądający: 1 gości