User Tools

Site Tools


projektas_nr.1

Projektas Nr. 1. Pradžia. Mirksintis šviesos diodas

Ką darome?
LED (šviesos diodai) yra naudojami visuose protinguose dalykuose, rūšyse, todėl mes įtraukiame juos į ši rinkinį. Pradėsime nuo ko nors paprasto - vieną jų įjungdami ir išjungdami pakartotinai, sukursim mirksintį efektą. Pradėdami pasiimkite žemiau išvardintas dalis, pin išdėstymo lapą ir bandomąją lentelę ir viską sujunkite. Kai grandinė yra surinkta, jums reikia įkelti programą . Norėdami tai padaryti, prijunkite „Arduino“ plokštę į USB jungtį. Tada pasirinkite tinkamą jungtį įrankiuose > tam skirta (serijinė) jungtis> (jungtis skirta „Arduino“ programai). Po to įkelkite programą: kelti failą> kelti I/O jungties lentelė (ctrl+U). Galiausiai mėgaukitės šlove galėdami valdyti žibintus.

Jei turite problemą su įkėlimu pilną problemos tvarkymo vadovą rasite čia: http://ardx.org/TRBL

Grandinės dalys:

  • 10mm šviesos diodas x1
  • 560 omų reistorius (žalias-mėlynas-rudas) x1
  • Jungtis (laidas) x3

Principinė schema

Surinkta grandinė

Kodas: (nukopijuokite kodą į IDE atvertą langą) (Kodo pavyzdys paimtas iš arduino.cc tinklalapio. Pasidomėkite dėl kitų idėjų)

/*
  *Mirksėjimas
  *Pakartotinai kas sekundę įjungia ir išjungia LED’ą.
  *Grandinė:
  *LED’as, prijungtas iš 13 skaitmeninio kontakto į įžeminimą.
  *Pastaba: daugumoje „Arduino“ plokščių LED’as jau turėtų būti prijungtas prie 13
  *kontakto, tad papildomo jungti nebereikia.
*/
 
int ledPin =  13;    // LED’as prijungtas prie 13 skaitmeninio kontakto 
 
// setup() paleidžiama vieną kartą, kai pradeda veikti programa 
 void setup()   {                
  // inicijuoti skaitmeninę jungtį kaip išvesties:
  pinMode(ledPin, OUTPUT);     
}
 
// loop() vis kartojasi ir kartojasi,
// kol „Arduino“ turi energijos
 
void loop()                     
{
  digitalWrite(ledPin, HIGH);   // įjungti LED’ą 
  delay(1000);                  // luktelėti sekundę
  digitalWrite(ledPin, LOW);    // išjungti LED’ą
  delay(1000);                  // luktelėti sekundę
}

Neveikia? (Trys dalykai bandymui)

  • Šviesos diodas nešviečia: LED'ai veikia tik viena kryptimi. Pabandykite išimti ir apsukti LED atvirkščiai (nesijaudinkite, blogai įdėtas diodas nebus pažeistas).
  • Neįsikelia programa: Kartais nutinka ir taip. Dažniausia priežastis - supainiotas įvado numeris. Jį galima pakeisti per tools>serial port>
  • Vis dar jokio pasisiekimo: Sugadinta plokštė - menki juokai. Susisiekite su gamintojais arba savo tiekėju.

Padaryti geriau?

Kontakto keitimas: LED'as prijungtas prie 13 kontakto, bet galima naudoti bet kurį kitą „Arduino“ kontaktą. Keisdami kontaktą išimkite jungiamąjį laidą iš 13 kontakto ir prijunkite į kitą pasirinktą kontaktą (nuo 0 iki 13). Galima naudoti ir analogines jungtis (0-5). Analoginis 0 žymimas kaip 14 ir t.t.

Tuomet kodo eilutėje

int ledPin = 13; 

keičiame skaičių 13 į kitą skaičių nuo 0 iki 12.

Atsiunčiame programą: (ctrl-u)

Keičiame diodo mirksėjimo laiką: Nepatinka vienos sekundės įsijungimas-išsijungimas?

Pakeiskite kodo eilutėse skaičius, esančius funkcijose delay() :

    digitalWrite(ledPin, HIGH); 
    delay(1000); //(seconds * 1000) 
    digitalWrite(ledPin, LOW); 
    delay(1000); //(seconds * 1000) 

Šviesumo valdymas: Šalia skaitmeninio (on/off) valdymo „Arduino“ gali valdyti kontaktus analoginiu būdu (pvz. šviesumas). (daugiau apie tai - kituose projektuose). Pabandykime:

Prijunkime LEDą prie 9 kontakto: (pakeiskime ir laidą)

int ledPin = 13;

Keičiame į :

int ledPin = 9; 

pakeiskime loop() funkcijos kodą, kuris yra tarp skliaustų '{}', šia eilute:

 analogWrite(ledPin, new number); 

(new number) = bet koks skaičius tarp 0 iki 255. 0 = išjungta, 255 = įjungta, tarpinės reikšmės = skirtingas šviesumas

Gesimas: Naudosime dar vieną pridėtą pavyzdinę programą. Eikime į meniu:

File > Examples > Analog > Fading

Tuomet įkelkite į „Arduino“ plokštę ir stebėkite, kaip LED'o šviestukas palengva įsižiebia ir pamažu užgęsta.

Kitas projektas. Sukiojame. Potenciometrai

Atgal į projektus

projektas_nr.1.txt · Keista: 2015/12/03 00:19 vartotojo valius.benas