From: Csanyi Pal <csanyipal@gmail.com>
To: emacs-orgmode@gnu.org
Subject: Re: Exporting to FreeMind - opened in FreeMind failed
Date: Mon, 09 Jul 2012 15:40:09 +0200 [thread overview]
Message-ID: <87a9z9qchy.fsf@gmail.com> (raw)
In-Reply-To: CANbX366C2Fm13fggy1W68Sf5EVpqvL3OiMojo=dLd2Dw+VUenA@mail.gmail.com
[-- Attachment #1: Type: text/plain, Size: 167 bytes --]
Lennart Borgman <lennart.borgman@gmail.com> writes:
> Csanyi, do you have an example you can mail me privately? (Or to the
> list, if you prefer, of course.)
Sure!
[-- Attachment #2: The Arduino.org file --]
[-- Type: application/octet-stream, Size: 6996 bytes --]
* [[file:///home/csanyipal/Emacs/Org-mode/Minden_tudas_ide_vezet__innen_talalhato_meg.org][Vissza a Mindentudáshoz C-c C-o]]
* Arduino
** Exhibition What you've made with Arduino.
http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?board=projects
** Uses Of Arduino
Arduino is a general purpose I/O board.
- An example of input would be a temperature sensor,
- an example of an output would be a relay.
In this example application, the Arduino could be programmed as
- a computerised temperature controller.
This is but one application of the Arduino, others would include:
- Robots,
- Embedded Electronics,
- Web Devices via Ethernet Shield, etc.
A range of completed projects can be found on the Arduino Forums here:
http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?board=projects
** Melyik Arduino készletet vegyem meg?
*** Fritzing Starter Kit / Arduino Uno
http://www.tinkersoup.de/product_info.php?products_id=363
*** STARTER KIT Get a Fritzing Starter Kit to start learning Arduino and support Fritzing
http://fritzing.org/shop/starter-kit/
** PéldaProjektek Arduinoval
*** dallam_Melody_terv
**** A program magyarázata
***** A program fejléce
/* Dallam
Ez a program piezoelektromos kristállyal dallamot játszik.
Megfelelő gyakorisággal 5V (HIGH), majd 0V (LOW) feszültséget
küld a piezoelektromos kristályra.
A HIGH és a LOW érték váltakozása tulajdonképpen szögletes
hullám:
__ _____ ___ 5V
_| |__| |____| |_ 0V
szün magas szün magas szün magas szün
A négyszögletes hullám szöneteinek, magas, és alacsony részeinek
időbeli hosszúsága meghatározható az Arduino lap
beprogramozásával.
A piezoelektromos kristály egy vékony, körlap alakú fémlemezre
(membránra) van ragasztva, ezért a membrán a kristállyal együtt
változtatja alakját:
5V feszültségnél a membrán kidomborodik,
0V feszültségnél pedig visszanyeri eredeti, sík alakját.
Ha a membrán ezt az alakváltozást megfelelő gyakorisággal
(rezgésszámmal) teszi, akkor a rezgésszámnak megfelelő
magasságú hangot hoz létre.
Az áramkör:
* a piezo elem + (piros) kivezetése csatlakozik a digitális
9-ik tűre,
* a piezo elem - (fekete) kivezetése le van földelve.
http://arduino.cc/en/Tutorial/Melody
Készítette: dátum ismeretlen,
szerző ismeretlen.
Magyarra fordította és átírta 2012. július 6-án
Csányi Pál
A zenei hang magasságát a következő matematikai képlet adja:
magasIdeje = időszakasz / 2 = 1 / (2 x hangRezgésszáma)
ahol a magasIdeje a négyszöghullám magas részének időbeli
hossza.
A különböző hangokat a következő táblázat írja le:
hang rezgésszám időszakasz magasIdeje
c 261 Hz 3830 1915
d 294 Hz 3400 1700
e 329 Hz 3038 1519
f 349 Hz 2864 1432
g 392 Hz 2550 1275
a 440 Hz 2272 1136
h 493 Hz 2028 1014
C 523 Hz 1912 956
Ez a példaprogram public domain szabadalom alatt áll.
*/
***** A program testének részei
****** Változók megadása
// a piezoelektromos kristály "hangszóró" a 9-ik
// digitális tűre van csatlakoztatva
int hangszoroTu = 9;
// a hangjegyek száma a dallamban
int ahangjegyekszama = 28;
// a dallam egy sorozatban vannak megadva
// a betűk a hangjegyeket, a végén a szóköz szünetet jelent
char hangjegysor[] = "cecegg cecegg Chagfa gfedcc ";
// az egymást követő hangok hossza egy sorozatban van megadva
int hanghossza[] = { 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1,1,1,1,2,1,1,1,1,1,1,2,1,4 };
int sebesseg = 300;
****** szolaHang függvény
// létrehozza a szolaHang függvényt, amely megszólaltatja a hangot
// a függvény két egész számú változót kér, melyek: hang és idotartam
// a hang változó a szolaHangjegyHangja függvényben kap értéket
// Itt rezegtetjük meg a membránt!
void szolaHang(int hang, int idotartam) {
// alább egy ismétlődő rész következik:
// tedd, míg i kisebb (időtartam x 1000L) értékénél
// Mi az L? Válasz itt, az U & L formatters cím alatt:
// http://arduino.cc/en/Reference/IntegerConstants
// i értékét növeld minden lépésben a hang változó kétszeresével
// i += hang * 2 jelentése: i = i + hang x 2
for (long i = 0; i < idotartam * 1000L; i += hang * 2) {
// 5 Voltot adunk a piezoelektromos kristálynak
digitalWrite(hangszoroTu, HIGH);
// legyen 5V a 'hang' értékének megfelelő időhosszig
delayMicroseconds(hang);
// 0 Voltot adunk a piezoelektromos kristálynak
digitalWrite(hangszoroTu, LOW);
// legyen 0V a 'hang' értékének megfelelő időhosszig
delayMicroseconds(hang);
}
}
****** szolaHangjegyHangja függvény
// létrehozza a szolaHangjegyHangja függvényt, amely
// kér egy betűjel (hangjegy), és egy egész számú (idotartam) változót,
// megadja a hangjegyek neveit és a nekik megfelelő hosszúságú időtartamot,
// ameddig majd kapják a szögletes hullám MAGAS értékét.
void szolaHangjegyHangja(char hangjegy, int idotartam) {
char hangjegynevek[] = { 'c', 'd', 'e', 'f', 'g', 'a', 'h', 'C' };
int hangok[] = { 1915, 1700, 1519, 1432, 1275, 1136, 1014, 956 };
// lejátssza a hangjegy nevének megfelelő hangot
for (int i = 0; i < 8; i++) {
// ha a hangjegyeknevek sorozatból az egyik elem
// megfelel a hangjegy változó pillanatnyi értékének
if (hangjegynevek[i] == hangjegy) {
// akkor hívja a szolaHang függvényt a következő változókkal
// hangok és időtartam; itt a hangok[i] értéke
// lesz a hang változó értéke a szolaHang függvény számára
szolaHang(hangok[i], idotartam);
}
}
}
****** Beállítások
// a digitális 9-ik tű kimenetre van beállítva
void setup() {
pinMode(hangszoroTu, OUTPUT);
}
****** Hurok rész
// ezt ismételgeti, míg le nem játszotta
// a dallam összes hangját
void loop() {
// amíg az i változó értéke nem lesz 28, addig ismétli
// a lenti parancsokat, vagyis lejátssza egyenként
// a dallam hangjait
for (int i = 0; i < ahangjegyekszama; i++) {
// ha a hangjegysor eleme szóköz,
if (hangjegysor[i] == ' ') {
// akkor szünet lesz egy darabig
delay(hanghossza[i] * sebesseg); // ez a szünet
} else {
// máskülönben megszólal egy hang a hangjegysorból
// hívjuk a szolaHangjegyHangja függvényt, megadva neki a
// a hangjegysor egyik elemét, a hang hosszát szorozva a sebességgel
szolaHangjegyHangja(hangjegysor[i], hanghossza[i] * sebesseg);
}
// szünet a dallam hangjai között
delay(sebesseg / 2);
}
}
***** A program működése
*** a
[-- Attachment #3: The exported Arduino.mm file --]
[-- Type: application/x-freemind, Size: 12325 bytes --]
<?xml version="1.0" encoding="utf-8"?>
<map version="0.9.0">
<!-- To view this file, download free mind mapping software FreeMind from http://freemind.sourceforge.net -->
<node text="Arduino.org" background_color="#00bfff">
<richcontent TYPE="NOTE"><html><head></head><body><p>--org-mode: WHOLE FILE</p></body></html></richcontent>
<node text="[[file:///home/csanyipal/Emacs/Org-mode/Minden_tudas_ide_vezet__innen_talalhato_meg.org][Vissza a Mindentudáshoz C-c C-o]]" position="left">
</node>
<node text="Arduino">
<node text="Exhibition What you've made with Arduino.">
<node style="bubble" background_color="#eeee00">
<richcontent TYPE="NODE"><html>
<head>
<style type="text/css">
<!--
p { margin-top: 0 }
-->
</style>
</head>
<body>
<p>http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?board=projects<br /></p>
</body>
</html>
</richcontent>
<richcontent TYPE="NOTE"><html><head></head><body><p>-- This is more about "Exhibition What you've made with Arduino." --</p></body></html></richcontent>
</node>
</node>
<node text="Uses Of Arduino">
<node style="bubble" background_color="#eeee00">
<richcontent TYPE="NODE"><html>
<head>
<style type="text/css">
<!--
p { margin-top: 0 }
-->
</style>
</head>
<body>
<p><br />Arduino is a general purpose I/O board. </p><p><br /> - An example of input would be a temperature sensor,<br /> - an example of an output would be a relay. </p><p><br />In this example application, the Arduino could be programmed as<br /> - a computerised temperature controller.</p><p><br />This is but one application of the Arduino, others would include: <br /> - Robots, <br /> - Embedded Electronics, <br /> - Web Devices via Ethernet Shield, etc. </p><p><br />A range of completed projects can be found on the Arduino Forums here:<br /<a href="http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?board=projects">http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?board=projects</a><br /></p>
</body>
</html>
</richcontent>
<richcontent TYPE="NOTE"><html><head></head><body><p>-- This is more about "Uses Of Arduino" --</p></body></html></richcontent>
</node>
</node>
<node text="Melyik Arduino készletet vegyem meg?" folded="true">
<node text="Fritzing Starter Kit / Arduino Uno">
<node style="bubble" background_color="#eeee00">
<richcontent TYPE="NODE"><html>
<head>
<style type="text/css">
<!--
p { margin-top: 0 }
-->
</style>
</head>
<body>
<p>http://www.tinkersoup.de/product_info.php?products_id=363<br /></p>
</body>
</html>
</richcontent>
<richcontent TYPE="NOTE"><html><head></head><body><p>-- This is more about "Fritzing Starter Kit / Arduino Uno" --</p></body></html></richcontent>
</node>
</node>
<node text="STARTER KIT Get a Fritzing Starter Kit to start learning Arduino and support Fritzing">
<node style="bubble" background_color="#eeee00">
<richcontent TYPE="NODE"><html>
<head>
<style type="text/css">
<!--
p { margin-top: 0 }
-->
</style>
</head>
<body>
<p>http://fritzing.org/shop/starter-kit/<br /></p>
</body>
</html>
</richcontent>
<richcontent TYPE="NOTE"><html><head></head><body><p>-- This is more about "STARTER KIT Get a Fritzing Starter Kit to start learning Arduino and support Fritzing" --</p></body></html></richcontent>
</node>
</node>
</node>
<node text="PéldaProjektek Arduinoval">
</node>
<node text="dallam_Melody_terv">
<node text="A program magyarázata">
<node text="A program fejléce">
<node style="bubble" background_color="#eeee00">
<richcontent TYPE="NODE"><html>
<head>
<style type="text/css">
<!--
p { margin-top: 0 }
-->
</style>
</head>
<body>
<p>/* Dallam<br /> Ez a program piezoelektromos kristállyal dallamot játszik.<br /> Megfelelő gyakorisággal 5V (HIGH), majd 0V (LOW) feszültséget<br /> küld a piezoelektromos kristályra.<br /> A HIGH és a LOW érték váltakozása tulajdonképpen szögletes<br /> hullám: <br /> __ _____ ___ 5V<br /> _| |__| |____| |_ 0V</p><p><br /> szün magas szün magas szün magas szün</p><p><br /> A négyszögletes hullám szöneteinek, magas, és alacsony részeinek<br /> id𕆾li hosszúsága meghatározható az Arduino lap<br /> beprogramozásával.</p><p><br /> A piezoelektromos kristály egy vékony, körlap alakú fémlemezre<br /> (membránra) van ragasztva, ezért a membrán a kristállyal együtt<br /> változtatja alakját:<br /> 5V feszültségnél a membrán kidomborodik,<br /> 0V feszültségnél pedig visszanyeri eredeti, sík alakját.</p><p><br /> Ha a membrán ezt az alakváltozást megfelelő gyakorisággal<br /> (rezgésszámmal) teszi, akkor a rezgésszámnak megfelelő <br /> magasságú hangot hoz létre.</p><p><br /> Az áramkör:<br /> * a piezo elem + (piros) kivezetése csatlakozik a digitális<br /> 9-ik tűre, <br /> * a piezo elem - (fekete) kivezetése le van földelve.</p><p><br /> <a href="http://arduino.cc/en/Tutorial/Melody">http://arduino.cc/en/Tutorial/Melody</a></p><p><br /> Készítette: dátum ismeretlen,<br /> szerző ismeretlen.<br /> Magyarra fordította és átírta 2012. július 6-án<br /> Csányi Pál</p><p><br /> A zenei hang magasságát a következő matematikai képlet adja:</p><p><br /> magasIdeje = időszakasz / 2 = 1 / (2 x hangRezgésszáma)</p><p><br /> ahol a magasIdeje a négyszöghullám magas részének id𕆾li<br /> hossza.<br /> A különböző hangokat a következő táblázat írja le:</p><p><br /> hang rezgésszám időszakasz magasIdeje<br /> c 261 Hz 3830 1915<br /> d 294 Hz 3400 1700<br /> e 329 Hz 3038 1519<br /> f 349 Hz 2864 1432<br /> g 392 Hz 2550 1275<br /> a 440 Hz 2272 1136<br /> h 493 Hz 2028 1014<br /> C 523 Hz 1912 956</p><p><br /> Ez a példaprogram public domain szabadalom alatt áll. <br />*/</p>
</body>
</html>
</richcontent>
<richcontent TYPE="NOTE"><html><head></head><body><p>-- This is more about "A program fejléce" --</p></body></html></richcontent>
</node>
</node>
<node text="A program testének részei">
<node text="Változók megadása">
<node style="bubble" background_color="#eeee00">
<richcontent TYPE="NODE"><html>
<head>
<style type="text/css">
<!--
p { margin-top: 0 }
-->
</style>
</head>
<body>
<p>// a piezoelektromos kristály "hangszóró" a 9-ik<br />// digitális tűre van csatlakoztatva<br />int hangszoroTu = 9;</p><p><br />// a hangjegyek száma a dallamban<br />int ahangjegyekszama = 28;</p><p><br />// a dallam egy sorozatban vannak megadva<br />// a betűk a hangjegyeket, a végén a szóköz szünetet jelent<br />char hangjegysor[] = "cecegg cecegg Chagfa gfedcc ";</p><p><br />// az egymást követő hangok hossza egy sorozatban van megadva<br />int hanghossza[] = { 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1,1,1,1,2,1,1,1,1,1,1,2,1,4 };<br />int sebesseg = 300;<br /></p>
</body>
</html>
</richcontent>
<richcontent TYPE="NOTE"><html><head></head><body><p>-- This is more about "Változók megadása" --</p></body></html></richcontent>
</node>
</node>
<node text="szolaHang függvény">
<node style="bubble" background_color="#eeee00">
<richcontent TYPE="NODE"><html>
<head>
<style type="text/css">
<!--
p { margin-top: 0 }
-->
</style>
</head>
<body>
<p>// létrehozza a szolaHang függvényt, amely megszólaltatja a hangot<br />// a függvény két egész számú változót kér, melyek: hang és idotartam<br />// a hang változó a szolaHangjegyHangja függvényben kap értéket<br />// Itt rezegtetjük meg a membránt!<br />void szolaHang(int hang, int idotartam) {</p><p><br /> // alább egy ismétlᔝő rész következik:<br /> // tedd, míg i kisebb (időtartam x 1000L) értékénél<br /> // Mi az L? Válasz itt, az U & L formatters cím alatt:<br /> //<a href="http://arduino.cc/en/Reference/IntegerConstants">http://arduino.cc/en/Reference/IntegerConstants</a><br /> // i értékét növeld minden lépésben a hang változó kétszeresével<br /> // i += hang * 2 jelentése: i = i + hang x 2<br /> for (long i = 0; i < idotartam * 1000L; i += hang * 2) {<br /> // 5 Voltot adunk a piezoelektromos kristálynak<br /> digitalWrite(hangszoroTu, HIGH);<br /> // legyen 5V a 'hang' értékének megfelelő időhosszig<br /> delayMicroseconds(hang);<br /> // 0 Voltot adunk a piezoelektromos kristálynak<br /> digitalWrite(hangszoroTu, LOW);<br /> // legyen 0V a 'hang' értékének megfelelő időhosszig<br /> delayMicroseconds(hang);<br /> }<br />}<br /></p>
</body>
</html>
</richcontent>
<richcontent TYPE="NOTE"><html><head></head><body><p>-- This is more about "szolaHang függvény" --</p></body></html></richcontent>
</node>
</node>
<node text="szolaHangjegyHangja függvény">
<node style="bubble" background_color="#eeee00">
<richcontent TYPE="NODE"><html>
<head>
<style type="text/css">
<!--
p { margin-top: 0 }
-->
</style>
</head>
<body>
<p>// létrehozza a szolaHangjegyHangja függvényt, amely<br />// kér egy betűjel (hangjegy), és egy egész számú (idotartam) változót,<br />// megadja a hangjegyek neveit és a nekik megfelelő hosszúságú időtartamot,<br />// ameddig majd kapják a szögletes hullám MAGAS értékét.<br />void szolaHangjegyHangja(char hangjegy, int idotartam) {<br /> char hangjegynevek[] = { 'c', 'd', 'e', 'f', 'g', 'a', 'h', 'C' };<br /> int hangok[] = { 1915, 1700, 1519, 1432, 1275, 1136, 1014, 956 };</p><p><br /> // lejátssza a hangjegy nevének megfelelő hangot<br /> for (int i = 0; i < 8; i++) {<br /> // ha a hangjegyeknevek sorozatból az egyik elem<br /> // megfelel a hangjegy változó pillanatnyi értékének<br /> if (hangjegynevek[i] == hangjegy) {<br /> // akkor hívja a szolaHang függvényt a következő változókkal<br /> // hangok és időtartam; itt a hangok[i] értéke<br /> // lesz a hang változó értéke a szolaHang függvény számára<br /> szolaHang(hangok[i], idotartam);<br /> }<br /> }<br />}<br /></p>
</body>
</html>
</richcontent>
<richcontent TYPE="NOTE"><html><head></head><body><p>-- This is more about "szolaHangjegyHangja függvény" --</p></body></html></richcontent>
</node>
</node>
<node text="Beállítások">
<node style="bubble" background_color="#eeee00">
<richcontent TYPE="NODE"><html>
<head>
<style type="text/css">
<!--
p { margin-top: 0 }
-->
</style>
</head>
<body>
<p>// a digitális 9-ik tű kimenetre van beállítva<br />void setup() {<br /> pinMode(hangszoroTu, OUTPUT);<br />}<br /></p>
</body>
</html>
</richcontent>
<richcontent TYPE="NOTE"><html><head></head><body><p>-- This is more about "Beállítások" --</p></body></html></richcontent>
</node>
</node>
<node text="Hurok rész">
<node style="bubble" background_color="#eeee00">
<richcontent TYPE="NODE"><html>
<head>
<style type="text/css">
<!--
p { margin-top: 0 }
-->
</style>
</head>
<body>
<p>// ezt ismételgeti, míg le nem játszotta<br />// a dallam összes hangját<br />void loop() {<br /> // amíg az i változó értéke nem lesz 28, addig ismétli<br /> // a lenti parancsokat, vagyis lejátssza egyenként<br /> // a dallam hangjait<br /> for (int i = 0; i < ahangjegyekszama; i++) {<br /> // ha a hangjegysor eleme szóköz,<br /> if (hangjegysor[i] == ' ') {<br /> // akkor szünet lesz egy darabig<br /> delay(hanghossza[i] * sebesseg); // ez a szünet<br /> } else {<br /> // máskülönben megszólal egy hang a hangjegysorból<br /> // hívjuk a szolaHangjegyHangja függvényt, megadva neki a<br /> // a hangjegysor egyik elemét, a hang hosszát szorozva a sebességgel<br /> szolaHangjegyHangja(hangjegysor[i], hanghossza[i] * sebesseg);<br /> }</p><p><br /> // szünet a dallam hangjai között<br /> delay(sebesseg / 2);<br /> }<br />}<br /></p>
</body>
</html>
</richcontent>
<richcontent TYPE="NOTE"><html><head></head><body><p>-- This is more about "Hurok rész" --</p></body></html></richcontent>
</node>
</node>
</node>
</node>
</node>
<node text="a">
</node>
</node>
</node>
</map>
[-- Attachment #4: Type: text/plain, Size: 22 bytes --]
--
Regards from Pal
next prev parent reply other threads:[~2012-07-09 13:45 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-07-08 18:40 Exporting to FreeMind - opened in FreeMind failed Csanyi Pal
2012-07-09 13:24 ` Bastien
2012-07-09 13:28 ` Lennart Borgman
2012-07-09 13:40 ` Csanyi Pal [this message]
2012-07-09 13:37 ` Csanyi Pal
2012-07-09 13:42 ` Bastien
2012-07-09 13:43 ` Csanyi Pal
2012-07-09 13:53 ` Bastien
2012-07-09 14:13 ` Csanyi Pal
2012-07-09 14:34 ` Bastien
2012-07-09 14:55 ` Csanyi Pal
2012-07-09 15:23 ` Nick Dokos
2012-07-09 15:55 ` Csanyi Pal
2012-07-09 16:22 ` Nick Dokos
2012-07-09 16:46 ` Csanyi Pal
2012-07-10 15:41 ` Manish
2012-07-10 16:52 ` Csanyi Pal
2012-07-10 16:55 ` Csanyi Pal
2012-07-09 14:35 ` Csanyi Pal
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.orgmode.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87a9z9qchy.fsf@gmail.com \
--to=csanyipal@gmail.com \
--cc=emacs-orgmode@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).