Advertisement
Guest User

Re,ag

a guest
Nov 25th, 2014
149
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. i2c = require 'i2c'
  2.  
  3. address = 0x04
  4.  
  5. wire = new i2c(
  6.     address,
  7.     device: "/dev/i2c-1"
  8. )
  9.  
  10. # ID команды на контроллере
  11. digitalWrite = 0x02
  12.  
  13. # Чтоб логировать покороче, и отключать логирование
  14. log = ( err ) -> console.log err if err
  15.  
  16.  
  17.  
  18.  
  19. #Класс для управления реле
  20. class Relay
  21.    
  22.     constructor: (@port) -> #Пустой конструктор, делает из аргумента this.port
  23.    
  24.     power: ( state ) -> #Управление питанием реле
  25.         bytes = [
  26.             @port, # порт, на котором висит реле
  27.             @state = state, # заодно перепишем this.state
  28.             0 # хуй знает чо за ноль
  29.         ]
  30.         wire.writeBytes digitalWrite, bytes , log # команда, данные, коллбэк
  31.  
  32.     toggle: -> # Переключение состояния реле на противоположное
  33.         state = if @state is 1 then 0 else 1
  34.         @power state
  35.  
  36. # Экземпляр реле на 8 порту
  37. relay = new Relay 8
  38.  
  39.  
  40. # Щелкаем
  41. setInterval (->
  42.     relay.toggle()
  43. ), 500
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement