60 nap alatt Arduino #07 - SOS villogó

A "60 nap alatt Arduino" tanfolyam házi feladatai és közvetlen témái
Avatar
SzLacus
Tranzisztorgyógyász
Hozzászólások: 175
Csatlakozott: 2012. május 20. vasárnap, 6:00
Tartózkodási hely: Budapest

HozzászólásSzerző: SzLacus » 2012. augusztus 10. péntek, 20:11

Macsek!
Amúgy nagyon tetszik, az ötlet, hogy a várakozást töltsük azzal, hogy mást csinálunk. De még elemzem mit is találtál ki, mert minden sorát érteni akarom.

Avatar
Robert
Elektronbűvölő
Hozzászólások: 9899
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

HozzászólásSzerző: Robert » 2012. augusztus 10. péntek, 20:16

Megoldható. A program logikáját gondold végig....

Új HW bevezetésével a programozást úgyse tanulod meg!!!! :oops:

Avatar
macsek
Bitmanipulátor
Hozzászólások: 121
Csatlakozott: 2008. december 4. csütörtök, 7:00
Tartózkodási hely: Bp

HozzászólásSzerző: macsek » 2012. augusztus 10. péntek, 20:21

OFF topik

kapu48 írta:Ötlet!
Egy ilyen deszkához mit szólsz?

Ezen élvezheted a C programozás örömeit!

Olcsóbb mint az Arduino, és 32 Bites ARM. + van rajta MP3 Dekoder Chip!
STM32F4DISCOVERY: http://www.st.com/internet/evalboard/product/252419.jsp
:wink:


Először tréfálni akartam, h akkor te nagyon drágán vetted az Arduinot, de megdöbbentem, tényleg olcsóbb, mint az Arduino.
De csak ebben a "beetető" eval kit verzióban.
Amúgy ugyanis csak az IC ára összemérhető egy teljes Arduinoval.
És nincs mellette ez a kezdő-barát fejlesztőkörnyezet.
Amúgy ez nem uC hanem DSP.

ON topik
Nem gondolom, h létezik olcsóbb és jobb tanuló/hobbista rendszer, mint az Arduino, amit még akár egy kortárs művész is el-programozgat. Persze aki már túl van ezen a szinten az nyugodtan kacsintgathat másfelé, PIC, ARM, és számtalan más lehetőség létezik. Én nagyon kedvelem az AVR-eket, jobbnak, modernebbnek, megbízhatóbbnak tartom őket a még elterjedtebb PICeknél, (legalábbis a régebbieknél, ahol sok chip program hiba volt).
Az Arduino pedig sokkal több, mint egy mikrokontroller.
(Ugyan elrontott*1, de azért kvázi-)szabványos hardver, ami bővíthető és sok, működő példaprogram, kezdőbarát függvénykönyvtár.

*1 elrontott: A bővítőkártya csatlakozók közül a digitális bemeneteket tartalmazó csatlakozósorok távolsága nincs 0,1"-os raszteren, emiatt a házi shield-készítés nehézkes. Lehet venni görbe csatlakozótüskét illetve csinálni házilag. Azt nem tudom, hogy egymásra pakolós csatlakozót is lehet-e kapni, azaz olyat, aminek alul a tüskéi, felül a lyukai ott vannak, ahol az Arduinónak, de közben beforrasztható a csupalyuk panelbe...

Avatar
macsek
Bitmanipulátor
Hozzászólások: 121
Csatlakozott: 2008. december 4. csütörtök, 7:00
Tartózkodási hely: Bp

HozzászólásSzerző: macsek » 2012. augusztus 10. péntek, 20:24

SzLacus írta:Macsek!
Amúgy nagyon tetszik, az ötlet, hogy a várakozást töltsük azzal, hogy mást csinálunk. De még elemzem mit is találtál ki, mert minden sorát érteni akarom.


Köszi :oops:
Először told be az Arduinoba (már ha van neked) és próbáld ki. A javított verzió szépen működik.
Ha valami nem tiszta akkor kérdezz, biztos lesz más is, aki nem ért belőle valamit.

Avatar
SzLacus
Tranzisztorgyógyász
Hozzászólások: 175
Csatlakozott: 2012. május 20. vasárnap, 6:00
Tartózkodási hely: Budapest

HozzászólásSzerző: SzLacus » 2012. augusztus 10. péntek, 20:26

És az volt!!! Elkerülték egymást.
Csak a reprodukálhatóság érdekében a var=110 érték az például folyamatos hangot ad. Először kikommenteztem a ciklus utolsó sorát, és megjött a csipogás. A feltétel lazítása is megoldja, (<=). Akkor maradhat az utolsó sor.

Avatar
SzLacus
Tranzisztorgyógyász
Hozzászólások: 175
Csatlakozott: 2012. május 20. vasárnap, 6:00
Tartózkodási hely: Budapest

HozzászólásSzerző: SzLacus » 2012. augusztus 10. péntek, 20:32

Macsek, már megtettem, úgy csipog és villog, hogy a Titanic nem sűllyedt volna el, ha ilyenjük van. :-)
Most próbálom értelmezni és birizgálni az egyes részeket, hogy lássam pontosan az összefüggéseket.

Avatar
gyulus2md
Újonc
Újonc
Hozzászólások: 12
Csatlakozott: 2008. október 29. szerda, 6:00

SOS

HozzászólásSzerző: gyulus2md » 2012. augusztus 26. vasárnap, 17:37

Üdvözlet mindenkinek, szevasztok!

Remélem megfelelően tudjátok használni a MORSE.jelek jel arányainak megadását.

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

/* Ez egy morse program. Morse adás a következő.
 1 pont időegység (jelen 100 ms)
 1 vonás 3 pontnak megfelelő időérték (300 ms)
 jelek közti szünet  1 pont (100 ms). Betűk közti szünet 3pont (300 ms). Szavak közti szünet
 7 pont (700 ms)
 Mivel az SOS egyben szokás leadni betűk között nincs szünet és csak 1 szót
 adunk le vagyis, csak egyszer játszuk le az SOS-t, ezért a 7 pontos szünet nem használjuk.
 Tudom, ezt a programot elegánsabban is meg lehet írni ciklusként, vagy folyamat vezérléssel.
 Ezt agy Nemzetközi rádiós vizsgávalő, 10 éves rádiós gyakorlattal rendelkező (tengerész rádiós tiszt)
 követte el. */
// mindez elméleti szinten, mert nincs lehetőségem kipróbálni

// Globál változók

int pont = 100;
int vonás = 300;
int szunet1 = 100;
// int szunet3 = 300;
// int szunet7 = 700;
int lab = 13;

void setup() {
  pinMode(lab, OUTPUT); //LED vezérlés.
}

void loop() {
  digitalWrite(lab, HIGH); //S-betű leadása.
  delay(pont);
  digitalWrite(lab, LOW);
  delay(szunet1);
  digitalWrite(lab, HIGH);
  delay(pont);
  digitalWrite(lab, LOW);
  delay(szunet1);
  digitalWrite(lab, HIGH);
  delay(pont);
  digitalWrite(lab, LOW);
  delay(szunet1);
  digitalWrite(lab, HIGH); //O-betű
  delay(vonas);
  digitalWrite(LOW);
  delay(szunet1);
  digitalWrite(lab, HIGH);
  delay(vonas);
  digitalWrite(LOW);
  delay(szunet1);
  digitalWrite(lab, HIGH);
  delay(vonas);
  digitalWrite(LOW);
  delay(szunet1);
  digitalWrite(lab, HIGH); //S-betű leadása.
  delay(pont);
  digitalWrite(lab, LOW);
  delay(szunet1);
  digitalWrite(lab, HIGH);
  delay(pont);
  digitalWrite(lab, LOW);
  delay(szunet1);
  digitalWrite(lab, HIGH);
  delay(pont);
  digitalWrite(lab, LOW);
  delay(szunet1);
}

Avatar
eroth
Biztosítékgyilkos
Hozzászólások: 64
Csatlakozott: 2012. március 21. szerda, 6:00
Tartózkodási hely: Budapest

HozzászólásSzerző: eroth » 2012. augusztus 26. vasárnap, 19:33

Üdv gyulus2md!
Megnéztem az "SOS" programod. Tetszik! Elkövettél pár apró hibát, de ezeket orvosolva a programod működik! Ami elsőre látszik, hogy pár sorban kiadtad a parancsot az alacsony szintre váltáshoz, de kimaradt a port azonosítás, jelen esetben a "lab," a zárójelből. (szintaktikai hiba)
Valamint a második sorban "vonás" szerepel, helyesen "vonas" Ezeket átírtam és már fordította is az Arduino. Más, írod, hogy nincs lehetőséged kipróbálni. Tipp: Ha kész áramköröd nincs, attól még nyugodtan telepítheted az Arduino-t, valamint, Robert ajánlott korábbi leckében szimulátor programot. Ez utóbbit is kipróbáltam, használható, működik!

További szép napot, üdv. Endre

Avatar
gyulus2md
Újonc
Újonc
Hozzászólások: 12
Csatlakozott: 2008. október 29. szerda, 6:00

SOS

HozzászólásSzerző: gyulus2md » 2012. augusztus 26. vasárnap, 19:34

Szevasztok!
Elnézést kérek mindenkitől, de programomba hiba csúszott, ékezetes betű vonás Helyesen vonas, és a hosszú jeleknél nem adtam meg a lábszámot.
Mégegyszer sri bye bye
Gyulus

Ui: közelebb figyelmesebb leszek.

Avatar
macsek
Bitmanipulátor
Hozzászólások: 121
Csatlakozott: 2008. december 4. csütörtök, 7:00
Tartózkodási hely: Bp

Re: SOS

HozzászólásSzerző: macsek » 2012. augusztus 26. vasárnap, 21:48

gyulus2md írta:Remélem megfelelően tudjátok használni a MORSE.jelek jel arányainak megadását.


Gratulálok, tök jó program lett (És végre olyan valaki is van köztünk, aki tudja mi az a morze jel és hogy kell adni a vészjelzést :) )
Azt már eroth megírta, hogy tudod "kipróbálni" a későbbi programjaidat.

Avatar
gyulus2md
Újonc
Újonc
Hozzászólások: 12
Csatlakozott: 2008. október 29. szerda, 6:00

Knight Rider

HozzászólásSzerző: gyulus2md » 2012. augusztus 27. hétfő, 15:06

Szerk: admin

Ennek a programnak nem itt a helye.
Átraktam az őt megillető forumba (Knight Rider):
http://avr.tavir.hu/modules.php?name=Fo ... 1657#21657

Avatar
eroth
Biztosítékgyilkos
Hozzászólások: 64
Csatlakozott: 2012. március 21. szerda, 6:00
Tartózkodási hely: Budapest

Re: Knight Rider

HozzászólásSzerző: eroth » 2012. augusztus 27. hétfő, 16:54

gyulus2md írta:Szerk: admin

A programnak nem itt a helye.
Átraktam az őt megillető forumba (Knight Rider):
http://avr.tavir.hu/modules.php?name=Fo ... 1657#21657

Nagyon helyes! Egész jól mutat az "SOS" program a "Knight Rider" szekcióban! Ugyebár kell a változatosság...! :D

Tutti, hogy oda szeretted volna helyezni?

Avatar
Robert
Elektronbűvölő
Hozzászólások: 9899
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

HozzászólásSzerző: Robert » 2012. augusztus 27. hétfő, 16:57

Igen. A mintaprogram ami ide tévedt az az oda-vissza futófény volt.
Szóval, jó helyre került :).

Avatar
eroth
Biztosítékgyilkos
Hozzászólások: 64
Csatlakozott: 2012. március 21. szerda, 6:00
Tartózkodási hely: Budapest

HozzászólásSzerző: eroth » 2012. augusztus 27. hétfő, 17:02

Bocs, igazad van! -én néztem be! sorry :oops:

Avatar
Totya87
Újonc
Újonc
Hozzászólások: 5
Csatlakozott: 2011. október 22. szombat, 6:00
Tartózkodási hely: Budapest

Re: 60 nap alatt Arduino #07 - SOS villogó

HozzászólásSzerző: Totya87 » 2013. április 29. hétfő, 20:39

Sziasztok!
Most kezdtem a programozást tanulni, ez lenne az én első házi feladatom!
Az arduino keretrendszerét használtam a program megírásához.
Íme a végeredmény:

/*TavIr házi feladat: SOS villogó
*/

void setup () {
pinMode (13, OUTPUT);
}
void loop () {
digitalWrite (13, HIGH); //S
delay (300);
digitalWrite (13, LOW);
delay (300);
digitalWrite (13, HIGH);
delay (300);
digitalWrite (13, LOW);
delay (300);
digitalWrite (13, HIGH);
delay (300);
digitalWrite (13, LOW);
delay (900); //S utani szunet
digitalWrite (13, HIGH); //O
delay (900);
digitalWrite (13, LOW);
delay (300);
digitalWrite (13, HIGH);
delay (900);
digitalWrite (13, LOW);
delay (300);
digitalWrite (13, HIGH);
delay (900);
digitalWrite (13, LOW);
delay (900); //O utani szunet
digitalWrite (13, HIGH); //S
delay (300);
digitalWrite (13, LOW);
delay (300);
digitalWrite (13, HIGH);
delay (300);
digitalWrite (13, LOW);
delay (300);
digitalWrite (13,HIGH);
delay (300);
digitalWrite (13, LOW);
delay (300);
}

Az lenne a kérdésem, hogy hogyan tudom ezt a programot valamilyen szimulátorral kipróbálni? Van a gépemen Proteus és Emula nevű szimulátor, de nem tudom, hogyan kell megnyitni ezt a programot és azt sem, hogy miket kell beállítani a szimulátorban.
Előre is köszönöm a segítséget!


Vissza: “60 nap alatt Arduino - Házi feladatok”

Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 1 vendég