# Rem Yksinkertainen PICAXE 08m perus ohjelma, satunnaisesti ja riippumattomasti säätelee kirkkauden kaikkien 3 värien RGB LED luoda rauhoittava patterms (kuten tuulella lamppu). Katso blogini http://andrey.mikhalchuk.com lisätietoja Olet vapaa tekemään mitä haluat tällä koodilla, vain mainita blogini http://andrey.mikhalchuk.com
kommenteissa, jotta ihmiset voivat löytää päivittää koodia. Kiitos!
Tämä on minun ensimmäinen ohjelma PICAXE pahoittelen, jos tämä koodi ei tavata laatu
odotukset ja haitat tunteitasi miten hyvä koodin pitäisi näyttää :)
# Endrem
# Picaxe 08m
setfreq m4
; Config
symboli SPEED = 3; pienempi arvo suurempi värin muutoksen nopeus
symboli SPEED_VARIATIONS = 7, määrittelee, kuinka monta eri väriä muutoksen nopeutta tulisi se käyttää
; Kartta nastat
symboli RED0_PIN = 0
symboli GREEN0_PIN = 1
symboli BLUE0_PIN = 2
; Kartta pin arvot jäse
, Pin-arvo on nykyistä kirkkautta LED
symboli red0 = b0
symboli green0 = b1
symboli blue0 = b2
; Kartta pin_deltas käyttää muistikortille
, Delta on nopeus kirkkauden muutos
symboli red0_delta = b3
symboli green0_delta = b4
symboli blue0_delta = b5
, Lämpötila-arvot alirutiinin
symboli delta_w = w3
symboli tmp = B7
; Aliohjelman parametrit
tunnus pin = b8
symboli val = B9
symboli delta = b10
; Alustamaan kaikki
red0 = 0
green0 = 70
blue0 = 200
red0_delta = 1
green0_delta = 5
blue0_delta = 9
, Alat servo-tilassa
, Toteavat, että "servopos RED0_PIN, 255" tekee LED pois päältä!
, "Servopos RED0_PIN, 0", tekee todella hämärä, mutta palaa. Onko tämä bugi PICAXE?
servo RED0_PIN, 255
servo GREEN0_PIN, 255
servo BLUE0_PIN, 255
, Tämä koodi on kuin silmukka () Arduino
tärkeimmät:
; Jäljittelemällä funktiokutsua toiminnolla, vähemmän ympäristöä
pin = RED0_PIN: Val = red0: delta = red0_delta: GOSUB set_color_val: red0 = Val: red0_delta = delta
pin = GREEN0_PIN: Val = green0: delta = green0_delta: GOSUB set_color_val: green0 = Val: green0_delta = delta
pin = BLUE0_PIN: Val = blue0: delta = blue0_delta: GOSUB set_color_val: blue0 = Val: blue0_delta = delta
goto tärkein
; Tämä osa säätää kirkkautta LED ja delta
set_color_val:
val = val + delta
Jos delta <128 ja val <delta sitten; fwd
satunnainen delta_w
delta = delta% SPEED_VARIATIONS + 1
delta = 255 - delta
val = 255
elseif delta> = 128 ja Val> = delta niin, käänteinen
satunnainen delta_w
delta = delta% SPEED_VARIATIONS + 1
Val = 0
endif
tmp = val - 1; servopos bug kiertotapaa
, Joo, servopos vie vain vakio ensimmäisenä argumenttina: (
jos pin = RED0_PIN sitten
servopos RED0_PIN, tmp
elseif pin = GREEN0_PIN sitten
servopos GREEN0_PIN, tmp
elseif pin = BLUE0_PIN sitten
servopos BLUE0_PIN, tmp
endif
tauko SPEED
palata
; Nähdä muita blogin http://rtfms.com ja videoblogin RTFMs YouTubessa demo
, Tämä on käsitelty jakson # 7: Microcontroller Meets Korut