Tilaa Sulautetut-kirja Readme.fi:stä - Lähetä viesti ylläpidolle
|
||||
Koodi: alkeellinen ledijärjestelmä
Sat, 2009-12-12 23:36 — Propelli
Terve, Sain eilen Arduino Duemilanove-mikrokontrollerin ja aloitin leikkimään sillä- en oikeastaan löydä mitään eroavaisuuksia sulautetut.fi-kirjassa käsiteltyyn Diecimila-kontrolleriin. Uutena harrastajana pykäsin kaikkien meidän aloittelijoiden iloksi hiukan perusdianvilkkumista astetta monimutkaisemman laitteen- ei paha yhdessä illassa! Koodi ja selitys: Välineet: -Arduino Duemilanove-mikrokontrolleri -Koekytkentälevy -Kolme lediä (mieluiten puna-kelta-sininen) -Virtakytkin -Kasa johtoja Laitteen tarkoitus on vilkuttaa virtakytkimen kytkemisen jälkeen viiden sekunnin ajan vuorotellen punaista, keltaista ja vihreää lediä ja aloittaa kierros alusta. Mikäli virtakytkin kytketään pois, ledit vilkkuvat nykyisen kierroksen loppuun. Koodi: int ledPin1 = 13; int ledPin2 = 12; int ledPin3 = 11; int buttonpin= 10; int buttonstate=0; void setup() { buttonstate=digitalRead(buttonpin); if (buttonstate==HIGH) { //initialize the digital pin as an output: pinMode(ledPin1, OUTPUT); digitalWrite(ledPin1, HIGH); delay(5000); digitalWrite(ledPin1, LOW); pinMode(ledPin2, OUTPUT); digitalWrite(ledPin2, HIGH); delay(5000); digitalWrite(ledPin2, LOW); pinMode(ledPin3, OUTPUT); digitalWrite(ledPin3, HIGH); delay(5000); digitalWrite(ledPin3, LOW); } else { digitalWrite(ledPin1, LOW); digitalWrite(ledPin2, LOW); digitalWrite(ledPin3, LOW); } } void loop() { setup(); } Kykentäkuva: Löytyy myös (toivottavasti piakkoin laajenevasta) blogimuistiostani http://propelli33.blogspot.com/ Parannusvinkit tervetulleita, ja käyttäkää koodia jos jotain hyödyllistä osuu silmään!
|
Book in English?Käytetyimmät avainsanatKeskusteluissa nyt |
|||
Useimmat ohjelmointi
Useimmat ohjelmointi ympäristöissä on kahdenlaista tietoa. Tietueina voit jäsentää tietojen mielekkäisiin ryhmiin. Alkukantaiset tyypit ovat sinun rakennuspalikoita. Kirjanpito on aina oltava tietty määrä yläpuolella: ne voivat tarkoittaa taulukoiden tietokantaan, 000-330 tai ne voivat olla hankalia luoda milloin tahansa vain yksi tai kaksi asiaa. Yksi arvokkaita asioita esineitä on, että ne hämärtyä tai jopa murtaa toisistaan primitiivinen ja suuremmille ryhmille. 0B0-106 Voit kirjoittaa vähän luokkia, jotka erottaa sisäisen eri kielellä. Ruby tekee kaiken tarkoitus, mutta nimissä tämän keskustelun, 640-816 olemme nimetään sisäänrakennettu lajit kuten Fixnum ja narua perusalkioiden.
Toimivat liikennevalot
Seuraavaksi vuorossa todellisia liikennevaloja simuloivat ledit:
http://propelli33.blogspot.com/2009/12/toimivat-liikennevalot.html
Hieno on...
Kuin myös muidenkin tämän sivun koodit.Myös tuo sinun blogisi on mukava juttu,että uutta nettisivua tulee markkinoille tästä aiheesta.Meitä harrastelijoita löytyy monen tasoisia...joillekin nämä asiat ovat itsestään selvyys,ja jotkut taas vaativat vähän rautalangasta vääntämistä,mutta kaikki haluavat kokea onnistumista lopputuloksena,ja onnistumisesta seuraa aina oppimista ja motivaatiota ,joten terve tuloa meidän aloittelioiden joukkoon. toivottavasti saat taas uusia älynväläyksiä,joten laita kaikki tieto/fakta blogiisi tai tänne.
Kiitos vinkistä
Arduino-nyyppänä rakentelin tuon ja kokeilin koodia, ja se näyttikin toimivan ihan niinkuin piti... paitsi että ledit alkoivat välkkyä sarjassa ihan satunnaisesti riippumatta siitä oliko nappi pohjassa vai ei. Syykin selvisi: katkaisijalle tarvitsee laittaa alasvetovastus, jotta tuolle napin inputille saadaan tieto siitä onko tila HIGH vai LOW. Ilman alasvetovastusta se jää ikäänkuin arpomaan sitä tilaa. Apu ja kuva alasvetovastuksen kytkentään löytyi täältä:
http://www.arduino.cc/en/Tutorial/Button
Kun katkaisijan kytkentä tehdään tuon kuvan mukaan on pinni HIGH tilassa kun nappi on pohjassa. Jos haluaa päinvastaisen toiminnan (nappi ylhäällä = HIGH), niin vaihda katkaisijalle tulevien + ja - johtimien paikat.
16.12.2009 muokkaus:
Arduinossa on myös sisäänrakennetut 20Kohm alasvetovastukset ja ne voidaan ottaa ohjelmallisesti käyttöön:
digitalWrite(pin, HIGH); // turn on pullup resistors
Lähde: http://www.arduino.cc/en/Tutorial/DigitalPins
Johdatusta liikennevaloihin
Itsessään ei vielä kovin käytännöllinen, mutta erääseen projektiin kyhäilin tuollaisen. Käyttää satunnaislukugeneraattoria ja for-silmukkaa:
http://propelli33.blogspot.com/2009/12/johdatusta-liikennevaloihin.html