Impulzusszámlálás

Processing/Wiring (illetve C) nyelvű programozási fogások, tippek. (AVR-Duino, Arduino, EthDuino, Diecimila, Severino, Nano, LilyPad)
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

Nem smittrigger!
Tessék processzorból megoldani.
A processzor mellé még 2x akkora nyákhelyre kapuIC, kondi, ellenállás????

Hát, kissé "igénytelen".....
Avatar
sleepwalker
DrótVégénSzéndarab
Hozzászólások: 32
Csatlakozott: 2010. december 26. vasárnap, 7:00

Hozzászólás Szerző: sleepwalker »

Nem akarok bolhából elefántot csinálni vagy elveszni a részletekben, SW - ből megoldani meg végképp nem (egyenlőre) .Most még csak az alapokat sajátítom el , nem szégyenlem elmondani hogy a programmban megoldani a pergésmentesítést nem menne , lévén hogy abszolút kezdő vagyok . A nyákhely nem számít mert nincs és nem is lessz, egyenlőre prototípusként fog működni . A HW a következő : 1 db Arduino panel és 1db dugaszolós próbapanel vagy 1 db forrszemes próbapanel (nyilván forrasztgatni több meló )és persze a külső alkatrészek. Azt hogy hogyan oldom meg elektronikailag már az én problémám. Az hogy "igénytelen" nem érdekes , rajtam kívül senki nem fogja látni, cserkész becsszó.(A fentebb elmondottak csak és kizárólag építő jellegüek , kérem senki ne vegye úgy hogy okoskodnék , kioktatnák stb.)
:)
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

Tényleg mondom, hogy lépésenként gondold végig, hogy hogyan működjön. Folyamatábra a kulcsa mindennek! (Most tekintsünk el attól, hogy prelleg, ez a folyamatábrába nagyon könnyen utólag berakható).


Szóval első lépés:
- gomb megnyom

A többi lépésnek hogy kell lennie? a Számoljon valami gombnyomásra, az NINCS komplex utasításként benne....
Neked kell a folyamatot leírni, majd ez alapján! leprogramozni...

Hibát keresni a folyamatábrán _sokkal_ könnyebb, mintha programot kellene bogarászni.....
Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3375
Csatlakozott: 2008. augusztus 29. péntek, 6:00

Hozzászólás Szerző: kapu48 »

Hali sleepwalker!
Ennyire azért nem lehet nehéz a programírás!
Lássunk már pársor próbálkozást tőled!
Rajta!!! :lol:
Avatar
sleepwalker
DrótVégénSzéndarab
Hozzászólások: 32
Csatlakozott: 2010. december 26. vasárnap, 7:00

Hozzászólás Szerző: sleepwalker »

Robert parancsolj:
(A SW természetesen elindult , az arduino müködik)
0:A program fut, várakozás a beérkező impulzusra, számláló nullázva, a beérkező impulzusok száma 5 kell hogy legyen , utána következhet a led bekapcsolása, a beérkező jelek közti időtartam lényegtelen.
1: Gomb benyomása, elengedés , impulzus létrejött
2: A jel érzékelése , számláló 1-re állítása (és így tovább 5-ig)...
3 : 5. gombnyomás . számláló 5-ön áll , következő folyamat kiváltása:
3a: led bekapcsolása, majd 1mp után ki
4: program előlről (0)
a 2 beérkező inpulzus , vagyis 2 gombnyomás közti időtartam akármennyi lehet , ez lényegtelen , lehet 1 perc vagy 1 hét is :)
Avatar
sleepwalker
DrótVégénSzéndarab
Hozzászólások: 32
Csatlakozott: 2010. december 26. vasárnap, 7:00

Hozzászólás Szerző: sleepwalker »

Kapu48 : elfogadható mértékben kommentáltam is

int ledPin = 3; // ide kerül a led
int PulsePin = 4; // itt fogadja a bajövő jeleket
int PulseCounter = 0; // számláló 0-ra állítva
void setup() {
pinMode(PulsePin,INPUT); // 4-es pin bemenetként
pinMode(ledPin,OUTPUT); // 3-as pin kimenetként
}
void loop()
{

int (PulseCounter=10); //számlálandó impulzus 10
digitalWrite(ledPin, HIGH); // led világítani kezd
delay(1000); // 1 mp-s várakozás
digitalWrite(ledPin,LOW); // led kikapcsolása

}

Arduinoban lefordítva nem jelzett hibát , de ez nem jelent semmit . :)
Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3375
Csatlakozott: 2008. augusztus 29. péntek, 6:00

Hozzászólás Szerző: kapu48 »

Majdnem jó csak az „int (PulseCounter=10);” Változó létrehozása.
Helyet egy vizsgálat kellene!

Kód: Egész kijelölése

void loop() 
{ 
// Mi növeli a PulseCountert? nincsen gomb vizsgálat
//???
// Ha a PulseCounter elérte a 10-et
  If (PulseCounter==10); {//számlálandó impulzus 10 
    digitalWrite(ledPin, HIGH); // led világítani kezd 
    delay(1000); // 1 mp-s várakozás 
    digitalWrite(ledPin,LOW); // led kikapcsolása
    PulseCounter = 0; // számláló nullázása
  }
}
Még dolgoz rajta kicsit!
:wink:
A hozzászólást 1 alkalommal szerkesztették, utoljára kapu48 2010. december 29. szerda, 17:37-kor.
Avatar
sleepwalker
DrótVégénSzéndarab
Hozzászólások: 32
Csatlakozott: 2010. december 26. vasárnap, 7:00

Hozzászólás Szerző: sleepwalker »

Tehát közel járok az áhított célhoz? :O:D
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

a gomb megyomása:
- számolja az impulzust
- várjon kicsit (1...30 msec)
Avatar
sleepwalker
DrótVégénSzéndarab
Hozzászólások: 32
Csatlakozott: 2010. december 26. vasárnap, 7:00

Hozzászólás Szerző: sleepwalker »

Csak az impulzust kell számlálnia . Azt hiszem erre a jó példa a következő lenne : képzelj el egy szálloda (Arduino) portását (program, és ő neki kell számlálni) aki csak pl minden tizedik vendégnek (impulzus) nyitja ki az ajtót hogy bemehessen (led bekapcsolása).
A vendégek (impulzusok) érkezésének ideje teljesen véletlenszerű . Magyarán szólva a portás bácsi "forgalomszámlálást" végez.
(Elnézést ha elvont vagyok és kiborítanék valakit , nem áll szándékomban). :lol:
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

Egyidőben 2 vendég jön? (~prell)
Az ajtón körbefordul? (~nyomvatartom a gombot)

8O

Szóval a portásbácsi mit lép?:)

Pláne hogy: processzor, tehát igen gyors:)
Avatar
sleepwalker
DrótVégénSzéndarab
Hozzászólások: 32
Csatlakozott: 2010. december 26. vasárnap, 7:00

Hozzászólás Szerző: sleepwalker »

( Titokban reménykedtem hogy megérted a hasonlatomat , de azért író v filozófus még ettől nem leszek.:))
Nem jöhet egy időben 2 vendég mert 1 ajtó van a vendégek meg csak egyedül jönnek szép sorban egymás után (csak 1 gomb van)
Az ajtó nem fordul körbe (az ajtó hiper-szuper körbefordulás , remegés (pergés) biztos ).
A portás bácsi a SW (ne tévesszük meg kérem a színmű szereplőit :D)
A szálloda a HW - Arduino(ajtó=pin)
A körülmények mind ideálisak , csak valahogy az a fránya portást nem lehet rábírni hogy számláljon .
:lol:
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

.
.
.
ha inputpin = low 'megnyomtam
{ szamlal=szamlal +1 }
waitms 100'hogy lassam h megy-e...
.
.
.
Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3375
Csatlakozott: 2008. augusztus 29. péntek, 6:00

Hozzászólás Szerző: kapu48 »

Jaj Róbert bácsi!
Te is mindég Bascomul gondolkozol!
Ez Arduinó!
Feltétel vízsgálatnál „==” egyenlő e?
És várakozás: delay(1000);
ha (inputpin == low) //'megnyomtam
{
szamlal=szamlal +1; //Számlálót növelem 1-el!
delay (100); //'hogy lassam h megy-e..
} // Ha vége!
:lol:

Feltétel vizsgálat :
Comparison Operators:
x == y (x is equal to y)
x != y (x is not equal to y)
x < y (x is less than y)
x > y (x is greater than y)
x <= y (x is less than or equal to y)
x >= y (x is greater than or equal to y)
8)
A hozzászólást 2 alkalommal szerkesztették, utoljára kapu48 2010. december 29. szerda, 23:28-kor.
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

Nem én akarom megírni a programot, tessék a kérdezőnek is hagyni kis feladatot :P ...
Válasz küldése