Aktywne Wpisy
Guzinek +8
dobra, może wymuszę na nocnej trochę myślenia
Najbardziej nostalgiczne tytuły dzieciństwa? Zacznę tymi...
Twierdza Krzyżowiec
CS 1.5
Heroes III
Różowa Pantera
Ace Ventura
#nostalgia #dziecinstwo #gry #behappy #kiedystobylo
Najbardziej nostalgiczne tytuły dzieciństwa? Zacznę tymi...
Twierdza Krzyżowiec
CS 1.5
Heroes III
Różowa Pantera
Ace Ventura
#nostalgia #dziecinstwo #gry #behappy #kiedystobylo

BanbaBanba +86
Jestem na ukończeniu pewnego badania na Tinderze, któremu poświęciłem pół roku. Wyniki są przykre, przerażające i potwierdzają w 300% #blackpill
It's over dla każdego chłopa, który ma ponad 22 lata, jest zwykłym gościem z zainteresowaniami.
Przez 1.5 miesiąca miałem na Tinderze 3 profile, jeden zakolaka z zainteresowaniami, jeden swój, z własną mordą oraz trzeci, Jeremiego, lat 19 - studenta UW z bardzo dobrą według dzisiejszych standardów mordą i z zainteresowaniami pod tytułem
It's over dla każdego chłopa, który ma ponad 22 lata, jest zwykłym gościem z zainteresowaniami.
Przez 1.5 miesiąca miałem na Tinderze 3 profile, jeden zakolaka z zainteresowaniami, jeden swój, z własną mordą oraz trzeci, Jeremiego, lat 19 - studenta UW z bardzo dobrą według dzisiejszych standardów mordą i z zainteresowaniami pod tytułem





Pierwszy raz chce uzyc funkcji ktora cos mi "wypluje" zeby potem uzywac tego w innej funkcji. (cos jak obejscie tego ze zmiennej lokalnej nie da sie uzywac w innej funkcji)
Mam picrel.
Podam moj tok rozumowania a ktos mi moze powie gdzie mam w nim blad bo nie ogarniam tematu/
1-w setup zadeklarowalem zmienna oczka i przypisalem jej 1 (zrobilem to tylko po to zeby kazda funkcja wiedziala ze jest zmienna o tej nazwie).
2-w loop:
2.1 jesli guik nacisniety to wykonaj mruganie (funkcja powodujaca zalacanie i wylaczanie wyjsc)
2.2 przypisz zmiennej a 1, a zmiennej b 7.
2.3 wykonaj funkcje losowanie
2.4 jesli przycisk nie jest wcisniety wyrzuc na serialmonitora wartosc "oczka"
3 funkcja losowanie (to ta funkcja z ktorej chce dostac wartosc z przedzialu 1-6 i uzywac tej wartosci w innej funkcji)
3.1 wez parametry a i b (wczesniej zdefiniowane jako odpowiednio 1 i 7)
3.2 przypisz zmiennej oczka wartosc randoma z przedzialu a b
3.3 zwroc wartosc zmiennej oczka
I to nie dziala (na dole ekranu pluje sie ze oczka nie zostaly wczesniej zadeklarowane....)
Zalozenie jest takie ze jak trzymam guzik to mrygaja se diody a jak puszcze to sie ustali jakis stan i bedzie taki dopoki znow nie nacisne (bo bedzie spelniony drugi if czyli stan LOW. Czyli nie beda mrugac bo pierwszy nie bedzie spelniony, czyli randomowa wartosc zmiennej oczka sie nie zmieni bo sie nie wykona kolejny random.
Co tu jest nie tak?
@Portier-Harry_Portier: No i super ze wreszcie zaczynam sie dowiadywac jak to dziala (chyba) :)
Czyli jak losuj zwroci mi oczka a w loop dam ze wynik=oczka to wszystkie funkcje w
losuj zwroci mi oczkaa po prostu zmieni ich wartość. Przy zmiennych globalnych nie ma potrzeby zwracać wartości przez funkcję.Ktos zasugerowal ze to moze byc wina kompilatora wiec wrocilem na oryginalny z arduino. Wyszlo picrel (czyli nie wyszlo)
Dlaczego kompilator sie pluje ze nie zdeklarowano wczesniej skoro funkcja losowanie miala "returnac" int oczka wiec dlaczego Serial.println nie potrafi uzywac
@Portier-Harry_Portier: spoko tylko sie nie przeraz-wkleje caly :P na poczatku duzo linijek bo definiuje piny
int licznik1=0;
int licznik2=0;
int dq1=23;
int dq2=25;
int dq3=27;
int dq4=29;
int dq5=31;
int dq6=33;
int dq7=35;
int dq8=22;
int dq9=24;
int dq10=26;
int dq11=28;
int dq12=30;
int dq13=32;
int dq14=34;
int di1=37;
int di2=39;
int di3=41;
int di4=43;
int di5=45;
int di6=47;
int di7=49;
int di8=36;
int di9=38;
int
int losowanie(int a, int b)Poza tym gdzie argumenty?
losowanie; //wykonaj funkcje losowanieZmień
int losowanie(int a, int b) //funkcja losowanie z wczesniej zdefiniowanym int a=1, int b=7 (jeszcze przed void setup){
int oczka=random (a,b); //int oczka ma miec randomowa wartosc <1,6>
return oczka; // funkcja ma zwrocic int oczka o wylosowanej wartosci
}
na
void losowanie()void loop(){
int stanguzika=digitalRead(di1); //int stan guzika sprawdza stan guzika
if ((stanguzika==HIGH)) //jesli guzik wcisniety
{ mruganie(); //wykonaj funkcje mruganie (naprzemienne mruganie diod)
losowanie; //wykonaj funkcje losowanie
Serial.println(oczka); //wyswietl na porcie szeregowym co wyszlo
delay(200);
}
}
zmień na
int oczka = losowanie(a, b); //wykonaj funkcje losowanieint a=1;int b=7;
Potem w losowaniu deklarujesz również a i b, tym razem lokalne
int losowanie(int a, int b)i są to różne a i b. Unikaj tego.
"Zmienna oczka jest lokalna dla funkcji losowanie.
Nie masz prawa jej tykać spoza ciała tej funkcji.
Poprawnie zwróciłeś wartość z tej funkcji (return oczka).
Natomiast w funkcji loop jeśli chcesz dostać wynik zwracany przez funkcję losowanie porostu przypisz wynik jej wywołania do zmiennej
Int zmienna = losowanie(1, 6);
Do zmienna trafi to co zostało
@Portier-Harry_Portier: ja za "cinki w uszach" jestem zeby sie tak bawic. Wolalbym najpierw miec pewnosc ze bedzie dialac niz milion razy wgrywac na plytke niedzialajacy kod* i kombinowac "co tym razem sie odjaniepawlilo"
No ale jestem w trakcie przygotowywania sobie "warsztatu" (czytaj miejsca gdzie bedzie taka mozliwosc ze bede sie mogl bawic) wiec chyba sie skonczy tak jak piszesz (wolalbym jednak dorwac jakis
Ladnie diody sobie mrugaja, ladnie na seriala leca (pseudo)losowe liczby tylko ze... caly czas. Totalna zlewka "ifa"
Czy guzik wcisniety czy nie-po wgraniu kod sie wykonuje caly czas.
zmiana if ((stanguzika==HIGH)) na LOW tez nie
A najlepsze ze nawet takie cos:
void loop()
{
int stanwejscia=digitalRead(di1);
if (stanwejscia=HIGH)
{digitalWrite (dq1, HIGH);}
}
powoduje ze na wyjsciu jest ccaly czas stan wysoki-dioda sie swieci-a ja nie mam nic na wejscie podpiete
@gorzki99: Nie rozumiem. jak guzik nie jest podpięty, to jak ma działać?
pinMode(licznik2,INPUT)ustawia pin jako wejściedigitalWrite (dq1, HIGH)próbujesz zapisać do wejścia. z wejścia się czyta, zapis HIGH do wejścia włącza wewnętrzny rezystor pull-up podciągając pin do zasilania, czyli robi to samo copinMode(licznik2,INPUT_PULLUP)Żeby to zadziałało guzik musi być podpięty do tego pinu i do masy.
@gorzki99: Nie, masz kabelkiem podawać LOW
"pinMode(licznik2,INPUT) ustawia pin jako wejście"
dokladnie. Piny 37-48 ustawiam jako wejscia (di1 to pin 37)
Piny 23-34 jako wyjscia (dq1 to pin 23)
Pod pin 23 podpinam diode.
I teraz jesli na di1 jest wysoki (czyli zapodam na ten pin 5V) to zapodaj 5V na pin 23-zaswiec diode.
Tymczasem dioda swieci obojetnie czy na di1 mam podane 5V czy nie mam nic podane
@gorzki99: if (stanwejscia=LOW)
i w setup dodaj
digitalWrite (di1, HIGH)Napisalem najprostszy kod jaki sie dalo zeby maksymalnie uproscic i pominac ze moglem cos gdzies zrypac.
void setup() {
pinMode(37, INPUT);
pinMode(23, OUTPUT);
digitalWrite(37, LOW);
}
void loop()
{
if (digitalRead(37==HIGH))
{digitalWrite(23, HIGH);}
}
I teraz najsmieszniejsze:
Jak w pogrubionej linijce mam HIGH to dioda swieci caly czas. Obojetnie cy nic nie podaje na pin 37, czy podaje 5V,