2012.01.21.
13:10

Írta: harsanyireka

Alapok: Minimum kód, LED villogtatása

Szükséges minimum kód

 

Arduino sketch írásnál a szükséges minimum a setup() és a loop() függvények meghívása (persze ehhez írhatunk saját függvényeket, de e nélkül nem fog működni a kódunk). 

A setup funkció a program futtatásakor csak egyszer fut le az elején. Itt adhatjuk meg hogy melyik pin-t hogyan akarjuk használni (bemenetként vagy kimenetként). Itt inicializáljuk a pineket (értékadás 0-val). Itt hívjuk meg a soros portot. ÁLLANDÓK

A loop funkció, mint a neve is mutatja, többször fut le egymás után. A bemeneti és kimeneti adatokat itt változtathatjuk. VÁLTOZÓK

Ezek dedikált funkciók, tehát be vannak építve a fejlesztőkörnyezetbe. Void-dal kell őket meghívni:  void setup(),  void loop().  Kapcsos zárójel jelzi a funkcióblokk elejét és végét. Kerek zárójelbe kerülnek a paraméterek. Az utasítások végét pontosvasszővel jelezzük. Ha egysoros kommentet akarsz írni azt dupla perjel // után megteheted, így nem zavar bele a kódba. Ha hosszabb szöveget akarsz akkor azt /* ilyen jelek közé tedd be. */

 

SZINTAXISUK: 

void setup() {
  // ide tedd az állandókat

}

void loop() {
  // ide jönnek a változók - ismétlődik a lefutás
  
}

 

LED villogtatása

 

220 Ohm-os ellenállás, 1db 5mm LED dióda - A LED negatív lába megy a földbe (rövidebb szára), a pozitív (hosszabb) pedig az ellenálláson keresztül a 13 digitális pinbe (ami a beépített LED kibezetése). Az ellenállás azért kell hogy csökkentsük a LEDhez jutó feszültséget. Az átlagos 5mm LEDek kb 20mA-t fogyasztanak és 2,2-3,4V-tal működnek. A gyártó adatlapján lehet megtudni hogy az adott LEDnek mik a paraméterei. Az ellenállások színkódolással rendelkeznek, azt kell róluk leolvasni hogy megtudjuk az értéküket.

Az egyszerűség kedvéért most kalkulátort használunk ehhez, egyébként táblázatból is visszakereshető lenne. Több online, ellenállás kalkulátor van. Némelyik ha rossz sorrendben adod meg a csíkokat, akkor figyelmeztet hogy ez nem szabványos érték, olyankor a fordított sorrend lesz a jó megoldás. Illetve ha megadunk egy értéket és hogy hány színkód legyen az ellenálláson akkor megmutatja a csíkok színét is. Példák:

ExampleCircuit_bb.png

 Arduinó kód:

/*
  Blink
  Turns on an LED on for one second, then off for one 
second, repeatedly. This example code is in the public domain. */ void setup() { // a 13 pint kimenetként használjuk //ha nem kötsz bele LEDet akkor a beépített fog villogni pinMode(13, OUTPUT); } void loop() { digitalWrite(13, HIGH); // LED bekapcsolása delay(1000); // 1 másodperc várakozás digitalWrite(13, LOW); // LED kikapcsolása delay(1000); //1 másodperc várakozás
}

 

SZINTAXISOK

pinMode(pin, mode);

Itt adjuk meg hogy melyik pin-t mire használjuk.

  • pin: az általad használt pin száma, digitálisokat számmal 0,1,2,, stb.), analógokat nagy A betű mellé írott számmal (A0, A1, stb.) jelőljük.
  • mode: bementként vagy kimenetként akarod használni: INPUT, OUTPUT

 

digitalWrite(pin, value);

Kimenetként használt digitális pin-t tudjuk vele be- és kikapcsolni.

  • pin: az általad használt pin száma, amit a pinMode-nál is megadtál
  • value: értéke lehet ki- (0V) vagy bekapcsolt (5V): LOW, HIGH

 

delay(ms);

Szüntet tart a futtatásban.

  • ms: milisecundumban kell megadni az értékét, 1000ms = 1s (másodperc)

 

FELADAT

Köss be 5db LEDet digitális pinekbe az eddigiek szerint és 1mp-ig világítsanak sorban oda-vissza.

 

forrás: http://arduino.cc/en/Tutorial/BareMinimumhttp://arduino.cc/en/Reference/Setup,

http://arduino.cc/en/Reference/Loophttp://arduino.cc/en/Reference/SemiColon

http://arduino.cc/en/Reference/Braceshttp://arduino.cc/en/Tutorial/Blink

http://arduino.cc/en/Reference/PinModehttp://arduino.cc/en/Reference/DigitalWrite

http://arduino.cc/en/Reference/Delay

 

cc-by-sa3s.jpg

Szólj hozzá!

Címkék: leckék

2012.01.21.
13:08

Írta: harsanyireka

Alapok: Kiolvasás analóg és digitális pinből, LED fade-elés

Kiolvasás digitális pinből

 

Szükség lesz egy nyák mikro nyomógombra, 10 kiloOhmos ellenállásra, dugaszolós próbapanelre. Az ábrán látható módon kösd össze őket. A nyomógomb azért van középen hogy a lábai ne legyenek egymáshoz bekötve, mivel a próbapanel közepén ott nincs átvezetés.

button.png

 A dugaszolós próbapanel összeköttetései:

breadboard1.gif

 

"Az elektromos áram töltéssel rendelkező részecskék rendezett áramlása.

Egyenáramnál az áramforrásnak pozitív és negatív pólusa van, az áram megszakítás nélkül folyik a vezetékben és az Ohm-törvény segítségével egyszerűen kiszámítható.

A váltakozó áram esetén az áramot létrehozó váltakozófeszültség értéke ismétlődően (periodikusan) ellentétes értékeket vesz fel (vagyis a pólusok váltakoznak)." http://hu.wikipedia.org/wiki/%C3%81ram

Habár az elektronok a negatív töltéstől a pozítív felé áramlanak, az elektronikában az áram folyási iránya mindig a pozitívtól a negatív felé vannak értelmezve. "konvencionális áram iránya ellentétes az elektronok tényleges áramlási irányával fémekben, a tipikus elektromos vezetőkben, ami félreértések forrása az elektronika kezdői számára." 
http://hu.wikipedia.org/wiki/Elektromos_t%C3%B6lt%C3%A9s#T.C3.B6lt.C3.A9s_az_elektrotechnik.C3.A1ban

 

Arduino kód a nyomógombhoz:

/*
  DigitalReadSerial
 Reads a digital input on pin 2, prints the result to the 
serial monitor
///A 2. digitális pint bemenetként használjuk, a kiolvasott
eredményt soros porton továbbítjuk
 
 This example code is in the public domain.
 */

void setup() {
  Serial.begin(9600); //soros kom. bekapcsolása, 9600 bps
  pinMode(2, INPUT);  //2. pint bemenetként inicializáljuk
}

void loop() {
  //integerként defíniáljuk a bejövő adatot
int sensorValue = digitalRead(2);
  //egész szám, válotzó
//a kapott értéket kiírjuk (serial monitor)
Serial.println(sensorValue);
}

 

A jobb felső sarkoban lévő gombbal tudod megnyitni a serial monitort. Vagy 0-t vagy 1-t ír ki attól függően hogy meg van-e nyomva a gomb.

 

SZINTAXISOK

digitalRead(pin);

pin: annak a pinnek a száma, amiből ki akarod olvasni az adatot, integer=egész szám. A kapott érték lehet HIGH (1, be) vagy LOW (0, ki).

 

int var = val;

var: az általad elnevezett integer változód neve

val: az érték amit ehhez a változóhoz hozzárendelsz

Speciális esete ha folyamatosan növekvő vagy csökkenő változót akarsz: (int x; x= x+1; vagy x= x-1;)

 

Serial.begin(9600); és Serial.println(val, format);

Az elsővel bekapcsoljuk a soros kommunikációt 9600 bit/sec-on, a másodikkal kiíratjuk a kapott adatokat

val: az érték amit ki akarunk iratni - bármilyen adat lehet

format: elhagyható, ilyankor decimális számrendszet használ (ha oda akarjuk írni: DEC -tizes ,HEX -tizenhatos számrendszer, OCT -nyolcas, BIN -kettes számrendszer)

 

 

Kiolvasás analóg pinből

 

Ehhez egy 1 kiloOhmos potmétert fogunk használni. Ezzel a feszültséget tudjuk szabályozni, egyfajta változtatható ellenállásként alkalmazható.  potenciométer

AnalogReadSerial_BB.png

Első lába az 5V pinbe megy, a középső az analóg A0-ba, és a harmadikat le kell földelni. Kiolvasáshoz az analogRead() funkciót fogjuk használni, ami egy számértéket ad vissza 0-1023 között (a használt feszültséghez arányosítva, pl 5V=1023).

Arduino kód:

/*
  AnalogReadSerial
 Reads an analog input on pin 0, prints the result to 
the serial monitor
//Az A0 analóg pinből kiolvasott értéket küldi soros portra This example code is in the public domain. */ void setup() { Serial.begin(9600); } void loop() { int sensorValue = analogRead(A0); Serial.println(sensorValue); }

 

SZINTAXISOK

analogRead(pin);

pin: annak az analóg pinnek a száma amiből ki akarunk olvasni

pinMode(A0, OUTPUT);
digitalWrite(A0, HIGH);

 

LED fade-elés

 

220 Ohmos ellenállásal bekötjük a LED a digitális 9 pinbe:

simplefade_bb.pngled_magyarazat.gif

1. a rövidebb lába a negatív. 2. itt le vn csapva az oldala. 3. a LED rajzi jele. Minden alkatrésznek van ilyen áramköri jele. 4. a pozitív tábánál van az ellenállás.

Az analogWrite() funkciót használjuk a feladathoz, ami PWM-mel működik. Hihetetlenül gyorsan kapcsolja a pin állapotát ki-be így idézi elő a fade effektet. 0-255 közötti értéket használ, pl. az analogWrite(127); 50%-ot jelent.

PWM=pulse with modulation=impulzus-szélesség moduláció

pwm.gif

kép: www.cnv.hu/gallery/cikkek/elektronika/pwm%20magyarazat.jpg

Arduino kód:

/*
 Fade
 
 This example shows how to fade an LED on pin 9
 using the analogWrite() function.
// a 9. pinbe kötött LED fade-elése This example code is in the public domain. */ int brightness = 0; //LED fényerejét változóként adjuk meg int fadeAmount = 5; // fade effekthez használt érték void setup() { // 9 pint kimenetként deklaráljuk: pinMode(9, OUTPUT); } void loop() { // a brightness nevű változó értékét kiküldjük: analogWrite(9, brightness); //loop következő lefutásához megváltoztatjuk a fényerőt: brightness = brightness + fadeAmount; //a fade-elés irányát megváltoztatjuk ha a végére ért: if (brightness == 0 || brightness == 255) { fadeAmount = -fadeAmount ; /// +ból -, -ból + lesz } //30 ms-t várunk hogy lássuk a fényerő csökkenést : delay(30); }

 

SZINTAXIS

analogWrite(pin, value);

PWM pinre küldhetünk vele értéket, hogy analog tulajdonsággal ruházzuk fel a digitalis pint.

 

pin: amelyik pwm pint kimenetként használjuk

value: értéke 0-255 között

(emlékeztető: az analogRead() 0-1023 között olvas ki)

 

 

FELADAT:

http://arduino.cc/en/Tutorial/BarGraph For ciklus, if, else -szerepel a kódban.

 

forrás: http://arduino.cc/en/Tutorial/DigitalReadSerialhttp://arduino.cc/en/Reference/DigitalRead,

http://arduino.cc/en/Tutorial/DigitalPinshttp://arduino.cc/en/Reference/Inthttp://arduino.cc/en/Reference/Serial

http://arduino.cc/en/Serial/Printlnhttp://arduino.cc/en/Tutorial/AnalogReadSerial

http://arduino.cc/en/Tutorial/AnalogInputPinshttp://arduino.cc/en/Tutorial/Fade

http://arduino.cc/en/Reference/AnalogWritehttp://arduino.cc/en/Tutorial/PWM

cc-by-sa3s.jpg

Szólj hozzá!

Címkék: leckék

2012.01.18.
18:53

Írta: harsanyireka

Arduinio telepítése, windows hibakeresés

Ha nem tudod feltölteni, a következőket nézd meg a Device Managerben / Eszközkezelőben:

Hiányzik-e a driver (sárga felkiáltójel jelzi ha igen - frissítsd), ha nem akkor melyik portot használod:

Device Manager.jpg

 devicemanager.jpg

Ha nem hiányzik a drivered, néha az is segít ha átdugod a gépen egy másik USB-be. Ne felejtsd el a Tools menüben leellenőrizni a Serial Portot utána. Illetve ha rosszul állítod be a board típusát, akkor szintén nem tölti fel a kódot.

Arduino UNO esetén magától telepíti a drivert ha rádugod USB-vel a gépedre. Ha nem sikerült, akkor manuálisan kell megtenned ezt http://forum.arduino.cc/index.php/topic,118440.0.html 

forrás: http://arduino.cc/en/Guide/Windows#toc1http://arduino.cc/en/Guide/Troubleshooting

cc-by-sa3s.jpg

 

 

Szólj hozzá!

Címkék: leckék

2012.01.16.
18:53

Írta: harsanyireka

Kopogás érzékelése piezoval

knock.jpg

 

 

"piezoelektromosság olyan elektromos jelenség, melynek során bizonyos anyagokon (kristálykerámia) összenyomás hatására elektromos feszültség keletkezik, illetve elektromos feszültség hatására alakváltozás jön létre." / bővebben: http://hu.wikipedia.org/wiki/Piezoelektromoss%C3%A1g

A piezo hangszórók csak megfelelő polaritással működnek, ez azt jelenti hogy meghatározott irányban kell hogy ármenjen rajta az áram, ezért a fekete vagy kék drótját a földbe még a pirosat az analóg pinbe kell kötni. Plusz 1MOhm-os ellenállást is használunk, ugyanebből a pinbe kell a másik Gnd (földelés) pinbe kötni, hogy megóvjuk az arduinot. (Piezo hangszoró 12V DC gerjesztő áramkörrel.)

Műanyag borítás nélkül is beszerezhető a piezo, fényes lemezeknek látszanak, könnyebb őket szenzorként használni, pl. lehet nyomogatni. Akkor működnek a legjobban ha az érzékelő felületük erősen neki van támasztva valaminek, vagy fel van ragasztva. Így néz ki: https://www.youtube.com/watch?v=Xuw9frP1GNo&feature=related
piezo.jpg 

Léteznek hajlékony piezo-film lapok, vagy kisebb elemek, ezekkel nagyobb felületen lehet érzékelni.

pizoelectricfilm.jpg

A lejebb található kódban, a piezóból érkező adatok egy általunk megadott küszöbértékhez vannak viszonyítva. Próbáld meg növelni vagy csökkenteni ezt az értéket, hogy  kihasználd a szenzorod teljes érzékanységi tartományát.

Arduino kód:

/* Knock Sensor - Kopogás szenzor

This sketch reads a piezo element to detect a knocking sound.
It reads an analog pin and compares the result to a set threshold.
If the result is greater than the threshold, it writes
"knock" to the serial port, and toggles the LED on pin 13.

The circuit:
* + connection of the piezo attached to analog in 0
* - connection of the piezo attached to ground
* 1-megohm resistor attached from analog in 0 to ground

http://www.arduino.cc/en/Tutorial/Knock

created 25 Mar 2007
by David Cuartielles <http://www.0j0.org>
modified 30 Aug 2011
by Tom Igoe

This example code is in the public domain.

*/


// defíniáljuk az állandókat, ezek nem változnak majd
const int ledPin = 13; // la 13 digit pinbe tegyünk LEDet
const int knockSensor = A0; // piezot az analog pin0-ba kötjük
const int threshold = 50; // 0-100-ig, az a küszöbérték amihez
// viszonyítjuk hogy a hang kopogás-e vagy sem
// ezt növeld vagy csökkentsd hogy működjön a szenzor

// ezek a változók:
// ez a változó tárolja a szenzor pin-jéből kiolvasott értéket:
int sensorReading = 0;
// ez a változó tárolja el a LED utolsó állását:
int ledState = LOW; 


void setup() {
pinMode(ledPin, OUTPUT); // deklaráljuk a ledPin-t OUTPUT-ként
Serial.begin(9600); // bekapcsoljuk a serial portot
}

void loop() {
// olvassuk ki és tároljuk el a szenzor értékét:
sensorReading = analogRead(knockSensor);

// ha a kiolvasott érték nagyobb mint a küszöb érték:
if (sensorReading >= threshold) {
// kapcsold át a ledPin állapotát
// ! boolean jelentése: nem
// ledÁllapota = nem ledÁllapottal, tehát az ellenkezőjével
ledState = !ledState;
// frissítsd a LEDpin értékét az aktuális állapotával:
digitalWrite(ledPin, ledState);
// a "Knock!" string-et küldd vissza a sz.gépnek:
// a string-et karakterek tárolására használjuk
Serial.println("Knock!");
}
delay(100);
// késleltetés, hogy elkerüljük a
// serial port buffer túlterhelését
}

 

Serial portot használunk. Ha a jobb felső sarokban megnyomod a Serial Monitor gombot, láthatod ahogy kiírja a "Knock!" stringet, amikor érzékeli a piezo szenzo a hangot.

forrás: http://www.arduino.cc/en/Tutorial/KnockSensor

http://arduino.cc/en/Tutorial/Knock

cc-by-sa3s.jpg

Szólj hozzá!

Címkék: leckék

2012.01.13.
22:34

Írta: harsanyireka

Dallam lejátszása hangszórón, és tone() funkció

Dallam lejátszása hangszórón

 

Egy 8 Ohm-os mini hangszóró és egy 100 Ohm-os ellenállás kell hozzá. Közben megnézzük a library használatát.

melody.jpg speaker_bb.png

Kell hozzá a "pitches.h" file, ehhez a következő kódot egy alap szövegszerkesztőben illeszd be és mentsd el a file-t azon a néven. A .h a header file kiterjesztése, ez tartalmazza a függvény meghatározásokat és definíciókat a library számára, pl. egy class függvényben belül definiálhatod a változókat amire szükséged van. (A .cpp kiterjesztésű a source file, ez tartalmazza a tényleges kódot.) De maradjunk ennél a példánál. Az arduino mappa libraries mappájában hozd létre a Melody nevű mappát és ide tedd bele a most készített pitches.h file-t, csak így fog működni. Az arduino program újraindítása után bekerül a Sketch/Import Library legördülő menübe a Melody, innen fogjuk használni. Nyiss új sketch-t, másold me az ardino kódot (lejjebb találod). Az #include "pitches.h" sort kitörölheted, ezután szedd elő az előbb említett legördülő menüből a melody-t, így megjeleni a következő sor #include <pitches.h> ezután működik a kód. 

 

A pitches.h file kódja: 

/*************************************************
 * Public Constants
 *************************************************/

#define NOTE_B0  31
#define NOTE_C1  33
#define NOTE_CS1 35
#define NOTE_D1  37
#define NOTE_DS1 39
#define NOTE_E1  41
#define NOTE_F1  44
#define NOTE_FS1 46
#define NOTE_G1  49
#define NOTE_GS1 52
#define NOTE_A1  55
#define NOTE_AS1 58
#define NOTE_B1  62
#define NOTE_C2  65
#define NOTE_CS2 69
#define NOTE_D2  73
#define NOTE_DS2 78
#define NOTE_E2  82
#define NOTE_F2  87
#define NOTE_FS2 93
#define NOTE_G2  98
#define NOTE_GS2 104
#define NOTE_A2  110
#define NOTE_AS2 117
#define NOTE_B2  123
#define NOTE_C3  131
#define NOTE_CS3 139
#define NOTE_D3  147
#define NOTE_DS3 156
#define NOTE_E3  165
#define NOTE_F3  175
#define NOTE_FS3 185
#define NOTE_G3  196
#define NOTE_GS3 208
#define NOTE_A3  220
#define NOTE_AS3 233
#define NOTE_B3  247
#define NOTE_C4  262
#define NOTE_CS4 277
#define NOTE_D4  294
#define NOTE_DS4 311
#define NOTE_E4  330
#define NOTE_F4  349
#define NOTE_FS4 370
#define NOTE_G4  392
#define NOTE_GS4 415
#define NOTE_A4  440
#define NOTE_AS4 466
#define NOTE_B4  494
#define NOTE_C5  523
#define NOTE_CS5 554
#define NOTE_D5  587
#define NOTE_DS5 622
#define NOTE_E5  659
#define NOTE_F5  698
#define NOTE_FS5 740
#define NOTE_G5  784
#define NOTE_GS5 831
#define NOTE_A5  880
#define NOTE_AS5 932
#define NOTE_B5  988
#define NOTE_C6  1047
#define NOTE_CS6 1109
#define NOTE_D6  1175
#define NOTE_DS6 1245
#define NOTE_E6  1319
#define NOTE_F6  1397
#define NOTE_FS6 1480
#define NOTE_G6  1568
#define NOTE_GS6 1661
#define NOTE_A6  1760
#define NOTE_AS6 1865
#define NOTE_B6  1976
#define NOTE_C7  2093
#define NOTE_CS7 2217
#define NOTE_D7  2349
#define NOTE_DS7 2489
#define NOTE_E7  2637
#define NOTE_F7  2794
#define NOTE_FS7 2960
#define NOTE_G7  3136
#define NOTE_GS7 3322
#define NOTE_A7  3520
#define NOTE_AS7 3729
#define NOTE_B7  3951
#define NOTE_C8  4186
#define NOTE_CS8 4435
#define NOTE_D8  4699
#define NOTE_DS8 4978
 
 

Arduino kód:

/*
  Melody
 
 Plays a melody 
 
 circuit:
 * 8-ohm speaker on digital pin 8
 
 created 21 Jan 2010
 modified 30 Aug 2011
 by Tom Igoe 

This example code is in the public domain.
 
 http://arduino.cc/en/Tutorial/Tone
 
 */

 #include "pitches.h" // Sketch/Import Library-ból szedjük elő:

// a dallam hangjegyei, megszólalás sorrendjében:
int melody[] = {
  NOTE_C4, NOTE_G3,NOTE_G3, NOTE_A3, NOTE_G3,0, NOTE_B3, NOTE_C4};

// hangjegyek hossza: 4 = negyed hang, 8 = nyolcad hang, stb.:
int noteDurations[] = {
  4, 8, 8, 4,4,4,4,4 };

void setup() {
  // a dallam hangjegyének ismétlődése,
  // most 8 hangjegyet használunk, ezért:
  for (int thisNote = 0; thisNote < 8; thisNote++) {

    // a hangjegyek hosszának kiszámításához,  
    // osszuk el a másodpercet, arányosan,
    //pl. a negyed hang = 1000 / 4, a nyolcad = 1000/8, stb.
    int noteDuration = 1000/noteDurations[thisNote];
    tone(8, melody[thisNote],noteDuration);

    // hogy elkülönítsük a hangjegyeket, 
    // tegyünk közéjük szünetet
    // ennek időtartama + 30% -nál úgy tűnik jól működik:
    int pauseBetweenNotes = noteDuration * 1.30;
    delay(pauseBetweenNotes);
    // megállítja a lejátszást:
    noTone(8);
  }
}

void loop() {
  // nem ismételjük meg a dallamot.
}

 

Írd át a kódot, tetszőleges dallamra!

Standard library-ket akarsz használni a hivatalos oldalról, akkor letöltés után előbb telepíteni kell azokat. Kicsomagolás után egy .h és egy .cpp kiterjesztésű file-t találsz. Az arduino mappában találtsz egy libraries mappát, ide kell tenni, bár már alapból tartalmazza őket. Vagy ide hozhatsz létre saját library-t.

Az arduino program újraindítása után a Sketch / Import Library menüből tudod őket előszedni és használni.

 

Tone() funkció

 

Ez a példa bemutatja hogy kell használni a tone() parancsot, hogy generáljunk egy az analóg bemenet értékét követő hajlítást.

Ha nincs benne az arduino/libraries mappában akkor a TONE LIBRARY: http://code.google.com/p/rogue-code/wiki/ToneLibraryDocumentation INNEN LETÖLTHETŐ!

Kell hozzá egy 8 Ohmos mini hangszóró, egy fényellenállás, 100 Ohmos és 4,7 kiloOhmos ellenállás. Az ábra szerinti bekötésben:

arduino_speaker_photocell_bb.png

Ez lesz belőle:

 

Arduino kód:

/*
Pitch follower

Plays a pitch that changes based on a changing analog input

circuit:
* 8-ohm speaker on digital pin 8
* photoresistor on analog 0 to 5V
* 4.7K resistor on analog 0 to ground

created 21 Jan 2010
modified 30 Aug 2011
by Tom Igoe

This example code is in the public domain.

http://arduino.cc/en/Tutorial/Tone2

*/


void setup() {
// inicializáljuk a soros portot
Serial.begin(9600);
}

void loop() {
// kiolvassuk a szenzort:
int sensorReading = analogRead(A0);
// írjuk ki ezt az értéket serial monitorral
Serial.println(sensorReading);
// képezzük le a hangot az analóg bemenet értékére
// változtassuk meg a minimum, maximum bemeneti értéket
// a szenzortól kapott értéknek megfelelően:
int thisPitch = map(sensorReading, 400, 1000, 100, 1000);

// lejátszás
tone(9, thisPitch, 10);

}

 

 

forrás: arduino.cc/en/Tutorial/Tonehttp://arduino.cc/it/Hacking/LibraryTutorial

http://arduino.cc/en/Reference/Librarieshttp://arduino.cc/en/Tutorial/Tone2

 

Szólj hozzá!

Címkék: leckék

süti beállítások módosítása