contrl.js 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. // PCF8591 数模转换芯片
  2. const i2cBus = require("i2c-bus")
  3. const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
  4. class ContrlService {
  5. constructor() {
  6. this.BUS = i2cBus.openSync(1)
  7. // 寄存器地址
  8. this.ADR = 0x48
  9. // 电位器地址->对应模块in1,in2
  10. this.P1 = 0x41
  11. this.P2 = 0x42
  12. this.P3 = 0x43
  13. this.P4 = 0x44
  14. this.run()
  15. }
  16. async run() {
  17. // 数模初始值
  18. const data = await this.Orientation()
  19. console.log(data)
  20. // process.send(data);
  21. await sleep(500)
  22. this.run()
  23. }
  24. // 获取值
  25. async Orientation() {
  26. const v0 = this.BUS.readByteSync(this.ADR,this.P1)
  27. const v1 = this.BUS.readByteSync(this.ADR,this.P2)
  28. const v2 = this.BUS.readByteSync(this.ADR,this.P3)
  29. const v3 = this.BUS.readByteSync(this.ADR,this.P4)
  30. // 接入socket 发送数据
  31. const db = `{"type":"conctrl","conctrl":{"v0":${v0},"v1":${v1},"v2":${v2},"v3":${v3}}}`
  32. return db
  33. }
  34. }
  35. new ContrlService()