# Бэр Простые PICAXE 08м основной программы, которая случайно и независимо управляет Яркость всех 3-х цветов в RGB LED создание успокаивающей patterms (как в настроении лампы). Смотрите мой блог http://andrey.mikhalchuk.com подробнее Вы вольны делать что угодно с этим кодом, так сказать мой блог http://andrey.mikhalchuk.com
в комментариях, чтобы люди могли найти обновленный код. Спасибо!
Это моя самая первая программа для PICAXE, я прошу прощения, если этот код не соответствует вашим качества
ожидания и вреда своими чувствами о том, как хороший код должен выглядеть :)
# Endrem
# Picaxe 08м
setfreq m4
; Конфигурации
Символ SPEED = 3; чем меньше значение, тем выше скорость изменения цвета
Символ SPEED_VARIATIONS = 7; определяет, сколько разной скоростью изменения цвета она должна использовать
, Карта контакты
Символ RED0_PIN = 0
Символ GREEN0_PIN = 1
Символ BLUE0_PIN = 2
, Карта контактный значения сувениры
; Вывод значение текущей яркости светодиодов
Символ red0 = b0
Символ green0 = b1
Символ blue0 = b2
, Карта pin_deltas на сувениры
, Дельта скорости изменения яркости
Символ red0_delta = b3
Символ green0_delta = b4
Символ blue0_delta = b5
, Темп значения для подпрограммы
Символ delta_w = w3
Символ TMP = b7
, Подпрограммы параметры
Символ контактный = b8
Символ вал = b9
символ дельта = b10
; Инициализировать все
red0 = 0
green0 = 70
blue0 = 200
red0_delta = 1
green0_delta = 5
blue0_delta = 9
; Начало серво режим
, Отмечают, что "servopos RED0_PIN, 255» оказывает не горит!
, "Servopos RED0_PIN, 0" делает его очень тусклым, но горит. Это ошибка в PICAXE?
серво RED0_PIN, 255
серво GREEN0_PIN, 255
серво BLUE0_PIN, 255
; Этот код, как петля () в Arduino
главная:
; Эмуляции вызова функции в функцию менее среде
вывод = RED0_PIN: значение = red0: дельта = red0_delta: GoSub set_color_val: red0 = значение: red0_delta = дельта
вывод = GREEN0_PIN: значение = green0: дельта = green0_delta: GoSub set_color_val: green0 = значение: green0_delta = дельта
вывод = BLUE0_PIN: значение = blue0: дельта = blue0_delta: GoSub set_color_val: blue0 = значение: blue0_delta = дельта
Перейти на главную
; Данный подпункт регулирует яркость светодиода и дельта
set_color_val:
вал = вал + дельта
если дельта <128 и вал <дельта то, FWD
случайный delta_w
дельта = дельта SPEED_VARIATIONS% + 1
дельта = 255 - дельта
Вал = 255
ElseIf дельта> = 128 и вал> = дельта то, обратном
случайный delta_w
дельта = дельта SPEED_VARIATIONS% + 1
Вал = 0
ENDIF
TMP = значение - 1; servopos ошибка обхода
, Да, servopos занимает постоянная в качестве первого аргумента: (
Если PIN-= то RED0_PIN
servopos RED0_PIN, TMP
ElseIf контактный = GREEN0_PIN то
servopos GREEN0_PIN, TMP
ElseIf контактный = BLUE0_PIN то
servopos BLUE0_PIN, TMP
ENDIF
Пауза SPEED
возвращать
, См. мой другой блог и http://rtfms.com RTFMs видеоблоге на YouTube для демо
, Это описано в эпизоде # 7: микроконтроллер Соответствует ювелирных изделий