Kezdőoldal » Számítástechnika » Programozás » Hogyan csináljam meg? Arduino...

Hogyan csináljam meg? Arduino programozás

Figyelt kérdés

Van 6 bemenetem (6 gomb) és 2 kimenetem (1-1 áramkör amit zárni kéne ).

Legyen most a kimenet A és B a bemenet meg 1,2,3,4,5 és 6. Azt szeretném hogy ha például az 1es gomb van lenyomva akkor a B kimenet 1x záródjon , aztán ha a 2es gomb van lenyomva akkor a B megint 1x záródjon, ha utána a 4és jön akkor a B 2x záródjon, ha utánna megint az 1es gomb van lenyomva akkor az A 3x záródjon ha pedig egyik gomb sem aktív és elötte például a 4es gomb volt lenyomva akkor az A 4x zárja azt a másik áramkört.



2013. dec. 7. 15:29
 1/7 A kérdező kommentje:
Esetleg még talán az is jó lenne ha minden gomblenyomás zárná az A-t 6x és utánna ahányas a gomb, annyiszor zárná a B-t. Ha meg nincs aktív gomb akkor az A 6x zaródik.
2013. dec. 7. 15:34
 2/7 anonim ***** válasza:
Állapotgépeknek nézz utánna.
2013. dec. 7. 15:38
Hasznos számodra ez a válasz?
 3/7 anonim ***** válasza:

Nem világos, hogy mit értesz az alatt, hogy 1x, 2x, stb záródjon?

Tegyük fel, hogy az áramköröd amit zárni kell csak egy ellenállást és egy ledet tartalmaz. Akkor az 1x záródás azt jelenti, hogy egyszer felvillan a led? A 2x meg természetesen, hogy kétszer?


Amennyiben jól tudom az Arduinokban egy AVR mikrokontroller van és mellékelnek egy kis fejlesztő felületet amely seg1tségével c-vel vagy c-hez hasonló nyelvben programozhatod a kontrollert. Ha nem így van akkor szólj.Ha pedig így van, akkor egyszerű programozásba megy át az egész.

2013. dec. 7. 16:21
Hasznos számodra ez a válasz?
 4/7 A kérdező kommentje:

#2 Igen úgy hogy hányszor villanjon.

Épp ezaz hogy én ezt még nem tudom megcsinálni.

2013. dec. 7. 16:31
 5/7 A kérdező kommentje:
Azt megköszönném ha valaki megírná nekem.
2013. dec. 7. 18:59
 6/7 anonim ***** válasza:

www.hobbielektronika.hu


Itt találsz nagyon sok AVR-es cikket.


Ha jól értelmezem a kissé nyakatekert (elnézést) leírást, akkor van két LED -ed és 6 nyomógombod, amelyek 1-től 6-ig terjedő bemenő értékeket képviselnek, és azt szeretnéd, hogy a legutóbbi (vagy nulla, ha még nem volt) bemenő értékhez képest számított különbséget jelezze vissza a rendszer úgy, hogy az egyik LED a pozitív, a másik pedig a negatív számokat hivatott jelölni, az értéket pedig a felvillanások számával jelzi.


Tehát például, ha lenyomtam a 3-as gombot korábban, és most a 6-ost nyomom le, akkor a pozitív (legyen A) LED villan fel háromszor, míg ha 6-os helyett 1-est nyomok, akkor a negatív (B) LED fog kétszer felvillanni, ha pedig egyik gomb sincs lenyomva, akkor a bemenő értékünk 0.


Konyhaiabban: "van egy pozitív és egy negatív LEDünk és ahányast nyomok, abból kivonja az előzőt és a megfelelő leden jelzi az eredményt, ha pedig nincs gomb lenyomva, az nullát jelent"

2013. dec. 8. 00:18
Hasznos számodra ez a válasz?
 7/7 anonim válasza:

Amik neked kellenek: (egy gomb és egy LED-re, fel/lekapcsolás)


int inPin = 2; // the number of the input pin

int outPin = 13; // the number of the output pin


int state = HIGH; // the current state of the output pin

int reading; // the current reading from the input pin

int previous = LOW; // the previous reading from the input pin


long time = 0; // the last time the output pin was toggled

long debounce = 200; // the debounce time, increase if the output flickers


void setup()

{

pinMode(inPin, INPUT);

pinMode(outPin, OUTPUT);

}


void loop()

{

reading = digitalRead(inPin);


if (reading == HIGH && previous == LOW && millis() - time > debounce) {

if (state == HIGH)

state = LOW;

else

state = HIGH;


time = millis();

}


digitalWrite(outPin, state);


previous = reading;

}

2013. dec. 8. 07:26
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!