listovanie medzi led - oprava programu

C,C++,C#

Moderátori: psichac, Moderátori

lopoko1
Nový člen
Nový člen
Príspevky: 63
Dátum registrácie: 15 Máj 2011, 00:00
Bydlisko: Zvolen
Vek: 35

listovanie medzi led - oprava programu

Príspevok od používateľa lopoko1 » 24 Okt 2011, 12:23

ahojte
potrebuval by som pomost s programom v C++ (resp. jeho hatlaninka lebo ucim sa programovat s ARDUINOM)

chcem spravit program kde pri zatlacení tlacidla sa mi rozsvieti dalsia LED dioda
tie mam zapojdene od pin8- do pin13
chcel som vychadzat s predosleho programu kde som robil svetelneho hada ale zistil som ze tade cesta nevedie a uz sa stym trapim dost dlho tak by som chcel poprosit o pomoc.moj program vyzera takto:
/*

*/


const int lowestPin = 8;
const int highestPin = 13;
const int buttonPin = 2;

int buttonState = 0;


void setup()
{
for ( int c = lowestPin; c<=highestPin; c++ )
{
pinMode ( c , OUTPUT);
pinMode (buttonPin , INPUT);
Serial.begin(9600);
}}

void loop()
{
buttonState = digitalRead(buttonPin);
for ( int c = lowestPin; c<=highestPin;c++ ) ;
int e = lowestPin;
{ if (buttonState == HIGH);

{ digitalWrite (e, HIGH);
e=e+1;

}
}
}

za radu dakujem - ps aj ak bude ktomu nejaky popis co som robil zle a ako to ma byt budem povdacny :-)
0
robim v elektrotechnike ale v drobnej elektronike som lama

Používateľov profilový obrázok
straciam
Zaslúžilý člen
Zaslúžilý člen
Príspevky: 1319
Dátum registrácie: 06 Jan 2009, 00:00
Bydlisko: Podbrezova
Vek: 38

Re: listovanie medzi led - oprava programu

Príspevok od používateľa straciam » 24 Okt 2011, 14:09

void loop(){
buttonState = digitalRead(buttonPin);

for ( int c = lowestPin; c<=highestPin;c++ ) ;
int e = lowestPin;

{ if (buttonState == HIGH);
{ digitalWrite (e, HIGH);
e=e+1;
}
}
}
skus to takto:
void setup(){
//to co tam mas ty to nechaj a dopln:
int e = lowestPin;
}

void loop(){
buttonState = digitalRead(buttonPin);
if(buttonState==HIGH){
digitalWrite (e, HIGH);
e++;
delay(2000);
}
}
v podstate bude stale kontrolovat tlacitko, ak je stlacene, rozsvieti led,posunie sa na dalsiu led a "zamrzne" na 2 sekundy (z dovodu ak by si drzal tlacidlo stale stlacene, rychlo by sa rozsvietili, to sa da osetrit krajsie, toto je narychlo)

for si mal zbytocny, void loop() zabezpecuje ze sa cely program opakuje donekonecna.. int e sa ti vykona kazdym opakovanim, cize zakazdym sa program posunie na prvu LED
0
Ponukam vysokokvalitnu 3D tlac na SLA tlaciarni Anycubic Photon.
No password, no problem.
Ins-piration

lopoko1
Nový člen
Nový člen
Príspevky: 63
Dátum registrácie: 15 Máj 2011, 00:00
Bydlisko: Zvolen
Vek: 35

Re: listovanie medzi led - oprava programu

Príspevok od používateľa lopoko1 » 24 Okt 2011, 18:58

aha no tak preto sa mi rozsvietila len jedna dioda... :-D uz som bol stoho nestastny ze preco sa mi to nedari :(


ale podla vsetkeho podla toho ked som to spravil tak mi to tak nejde
raz ked som to trosku poprehadzoval mi to slo ako ciklus ze sa nacitali vsetky diody za sebov ...
a druhy krat mi to nerobilo vôbec nic... tak trosku tomu nechapem
0
robim v elektrotechnike ale v drobnej elektronike som lama

Používateľov profilový obrázok
straciam
Zaslúžilý člen
Zaslúžilý člen
Príspevky: 1319
Dátum registrácie: 06 Jan 2009, 00:00
Bydlisko: Podbrezova
Vek: 38

Re: listovanie medzi led - oprava programu

Príspevok od používateľa straciam » 24 Okt 2011, 20:00

tak to trosku poprehadzuj a skus znovu...

napis konkretne co si poprehadzoval a ako sa to spravalo
0
Ponukam vysokokvalitnu 3D tlac na SLA tlaciarni Anycubic Photon.
No password, no problem.
Ins-piration

lopoko1
Nový člen
Nový člen
Príspevky: 63
Dátum registrácie: 15 Máj 2011, 00:00
Bydlisko: Zvolen
Vek: 35

Re: listovanie medzi led - oprava programu

Príspevok od používateľa lopoko1 » 24 Okt 2011, 22:24

tak
int e = lowestPin;
- ked ho dám uplne na zaciatok programu - sprava sa to ako cyklus a hned sa postupne nacitavaju diody od zaciatku ...
- dalej ked dam to do void setup () musim nacitat int aj v loop () vtedy mi to nerobi uplne nic

- ak je int len v loop tak stale to nejde tak...

pre istotu pripajam svoj program
/*

*/


const int lowestPin = 8;
const int highestPin = 13;
const int buttonPin = 3;
int buttonState = 0;



void setup()
{

for ( int c = lowestPin; c<=highestPin; c++ )

{
pinMode ( c , OUTPUT);
pinMode (buttonPin , INPUT);

}}

void loop()
{
buttonState = digitalRead(buttonPin);
{
if ( buttonState == HIGH)
{int e = lowestPin;
digitalWrite(e, HIGH);
e++;
delay(500);

}
}}
0
robim v elektrotechnike ale v drobnej elektronike som lama

Používateľov profilový obrázok
straciam
Zaslúžilý člen
Zaslúžilý člen
Príspevky: 1319
Dátum registrácie: 06 Jan 2009, 00:00
Bydlisko: Podbrezova
Vek: 38

Re: listovanie medzi led - oprava programu

Príspevok od používateľa straciam » 25 Okt 2011, 07:44

takze.. ked robis inicializaciu premennej, musis ju spravit iba raz!
tym ze das "int e" do casti "void loop(){ }" tak sa ti premenna "e" zakazdym premaze a vytvori sa akokeby nanovo...

skus to cele upravit, aby to bolo takto:
const int lowestPin = 8;
const int highestPin = 13;
const int buttonPin = 3;
int buttonState = 0;
int e = lowestPin;


void setup()
{

for ( int c = lowestPin; c<=highestPin; c++ ){
pinMode ( c , OUTPUT);
pinMode (buttonPin , INPUT);
}

}

void loop()
{

buttonState = digitalRead(buttonPin);
if ( buttonState == HIGH){
digitalWrite(e, HIGH);
e++;
delay(500);
}

}
0
Ponukam vysokokvalitnu 3D tlac na SLA tlaciarni Anycubic Photon.
No password, no problem.
Ins-piration

lopoko1
Nový člen
Nový člen
Príspevky: 63
Dátum registrácie: 15 Máj 2011, 00:00
Bydlisko: Zvolen
Vek: 35

Re: listovanie medzi led - oprava programu

Príspevok od používateľa lopoko1 » 31 Okt 2011, 19:13

hned sa chcem ospravedlnit ze odpisujem tak neskoro nemal som velmi cas pisat lebo vela som bol mimo domu...
podla tochto mi to uz vcelku funguje hoci ta reakcia na zatlacenie tlacidla nieje az taka rychla
ale kazdopadne dakujem este sa stym pohram a dam vediet
0
robim v elektrotechnike ale v drobnej elektronike som lama

Napísať odpoveď
  • Podobné témy
    Odpovedí
    Zobrazení
    Posledný príspevok