Pomoc s kodom na countdown

Nedaří se vám s projektem a nenašli jste vhodné místo, kde se zeptat? Napište sem.
Pravidla fóra
Tohle subfórum je určeno pro konzultaci ucelených nápadů, popřípadě řešení komplexnějších projektů, které opravdu není možné rozdělit na menší části.
Většinu problémů jde rozdělit na menší a ptát se na ně v konkrétních subfórech.
Odpovědět
Stalki
Příspěvky: 2
Registrován: 02 led 2020, 23:52
Reputation: 0

Pomoc s kodom na countdown

Příspěvek od Stalki » 03 led 2020, 00:05

Ahojte som zaciatocnik v arduine, pomalicky sa ucim.
Potreboval by som poradit s kodom.
Mam k dispozici arduino mega aj uno, plus RGB matrix led panel 32x16.

Vedel by mi niekto napisat kod.

Moja predstava je taka, mam opticky snimac snimac reaguje ako vypinac. Pred snimac dam nejaky predmet snimac zareaguje a zacne sa odpocitavanie nastaveneho casu predmet dam prec odpocitavanie stale bezi pokial neodpocita nastaveny cas, po skonceni casu zostane panel cierny dam predmet pred snimac a zacne sa odpocitavanie a takto dookola.

Pripadne ak by to islo druha moja predstava.
Mam opticky snimac pred snimac dam nejaky predmet snimac zareaguje a zacne sa odpocitavanie nastaveneho casu predmet dam prec odpocitavanie bezi vlozim predmet pred snimac cas sa vyresetuje a zacne sa znova odpocitavanie predmet odoberiem cas bezi pokial sa neodpocita cas alebo nepride pred snimac predmet., po skonceni casu zostane panel cierny.

Islo by take nieco vymysliet ?

Ak by mi vedel niekto pomoct som ochotny dat aj odmenu.

Vpripade pomoci prosim koment alebo SS.

Dakujem.

powl
Příspěvky: 8
Registrován: 03 kvě 2018, 20:25
Reputation: 0

Re: Pomoc s kodom na countdown

Příspěvek od powl » 07 led 2020, 17:32

zdar!

asi by bylo nejlepsi kdybys zkusil napsat alespon kus kodu a postnul ho sem az se na necem zaseknes

ja bych to resil asi takto (jen nacrt myslenky, neni to funkcni kod a nemam to jak vyzkouset :mrgreen: )


minule_opticky_snimac==LOW
panel=LOW
minule=0
pocitac=0

loop:

1) read opticky_snimac (LOW/HIGH)

2) if (opticky_snimac == HIGH and minule_opticky_snimac == LOW)
{pocitac=20}


3) if (pocitac > 0)
{panel=HIGH}
else
{panel=LOW}

4) aktual=millis()

5) if (aktual-minule>999 AND pocitac>0)
{pocitac=pocitac-1}

6) minule=aktual

7) minule_opticky_snimac==opticky_snimac

Stalki
Příspěvky: 2
Registrován: 02 led 2020, 23:52
Reputation: 0

Re: Pomoc s kodom na countdown

Příspěvek od Stalki » 09 led 2020, 14:20

Ahoj mne sa podarilo vymysliet nieco taketo.

To odpocitavanie celkom funguje ale ten signal zo snimaca ani moc nie.

Skusim sa pozret aj na ten tvoj prispevok ci nahodou mi nepomoze.

#include <Adafruit_GFX.h> // Core graphics library
#include <RGBmatrixPanel.h> // Hardware-specific library

#define CLK 11 // MUST be on PORTB! (Use pin 11 on Mega)
#define LAT 10
#define OE 9
#define A A0
#define B A1
#define C A2
#define n 1

RGBmatrixPanel matrix(A, B, C, CLK, LAT, OE, false,64);

int tlacitko =13;



void setup() {

matrix.begin();
matrix.setTextSize(2);

}

void loop() {

while((digitalRead(tlacitko)) == HIGH)
matrix.fillScreen(matrix.Color333(0, 0, 0));


matrix.setCursor(7, 0);
matrix.setTextColor(matrix.Color333(0,1,0));
matrix.print(F("1.50"));
delay(1000);

matrix.fillScreen(matrix.Color333(0, 0, 0));

matrix.setCursor(7, 0);
matrix.setTextColor(matrix.Color333(0,1,0));
matrix.print(F("1.49"));
delay(1000);

matrix.fillScreen(matrix.Color333(0, 0, 0));

matrix.setCursor(7, 0);
matrix.setTextColor(matrix.Color333(0,1,0));
matrix.print(F("1.48"));
delay(1000);

matrix.fillScreen(matrix.Color333(0, 0, 0));

matrix.setCursor(7, 0);
matrix.setTextColor(matrix.Color333(0,1,0));
matrix.print(F("1.47"));
delay(1000);

matrix.fillScreen(matrix.Color333(0, 0, 0));

matrix.setCursor(7, 0);
matrix.setTextColor(matrix.Color333(0,1,0));
matrix.print(F("1.46"));
delay(1000);

matrix.fillScreen(matrix.Color333(0, 0, 0));

matrix.setCursor(7, 0);
matrix.setTextColor(matrix.Color333(0,1,0));
matrix.print(F("1.45"));
delay(1000);

matrix.fillScreen(matrix.Color333(0, 0, 0));

matrix.setCursor(7, 0);
matrix.setTextColor(matrix.Color333(0,1,0));
matrix.print(F("1.44"));
delay(1000);

matrix.fillScreen(matrix.Color333(0, 0, 0));

matrix.setCursor(7, 0);
matrix.setTextColor(matrix.Color333(0,1,0));
matrix.print(F("1.43"));
delay(1000);

matrix.fillScreen(matrix.Color333(0, 0, 0));

matrix.setCursor(7, 0);
matrix.setTextColor(matrix.Color333(0,1,0));
matrix.print(F("1.42"));
delay(1000);

matrix.fillScreen(matrix.Color333(0, 0, 0));

matrix.setCursor(7, 0);
matrix.setTextColor(matrix.Color333(0,1,0));
matrix.print(F("1.41"));
delay(1000);

matrix.fillScreen(matrix.Color333(0, 0, 0));

matrix.setCursor(7, 0);
matrix.setTextColor(matrix.Color333(0,1,0));
matrix.print(F("1.40"));
delay(1000);

}

Verim tomu ze sa to da nejako jednoduchsie spravit to odpocitavanie, a ked sa privedie signal na pin/y ze sa odpocitavanie zacne, alebo ako som pisal v prispevku vyssie. Diky.

Odpovědět

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 4 hosti