Всем привет, собственно вопрос: как управлять модулем TM1637 с Iskra JS? Я обгуглился - но не нашел модуля под искру на js, только CPP или Python. Попытки переписать с этих языков на js - так же не увенчились успехом(да, я знаю - это из за не понимания и недостатка опыта). Откуда пытался переписать на js: модуль на питоне модуль на c++ datasheet Что удалось написать - м.б. кто то посмотрит и скажет что не так Код (Javascript): var C = { I2C_COMM1: 0x40, I2C_COMM2: 0xC0, I2C_COMM3: 0x80, PIN_INPUT: 'input', PIN_OUTPUT: 'output', }; var codigitToSegment = [ // XGFEDCBA 0b00111111, // 0 0b00000110, // 1 0b01011011, // 2 0b01001111, // 3 0b01100110, // 4 0b01101101, // 5 0b01111101, // 6 0b00000111, // 7 0b01111111, // 8 0b01101111, // 9 0b01110111, // A 0b01111100, // b 0b00111001, // C 0b01011110, // d 0b01111001, // E 0b01110001 // F ]; var TM1637 = function(pinClk, pinDIO){ this.pinClk = pinClk; this.pinDIO = pinDIO; this.pinClk.mode(C.PIN_OUTPUT); this.pinDIO.mode(C.PIN_OUTPUT); digitalWrite([this.pinClk, this.pinDIO]); }; TM1637.prototype.bit_delay = function(cb){ setTimeout(cb, 0.001); }; TM1637.prototype.start = function(cb){ this.pinDIO.mode(C.PIN_OUTPUT); this.bit_delay(cb); }; TM1637.prototype.stop = function(cb){ this.pinDIO.mode(C.PIN_OUTPUT); this.bit_delay(function(){ this.pinClk.mode(C.PIN_INPUT); this.bit_delay(function(){ this.pinDIO.mode(C.PIN_INPUT); this.bit_delay(cb); }); }); }; TM1637.prototype.writeBit = function(value){ this.pinClk.reset(); if (value) { this.pinDIO.set(); } else { this.pinDIO.reset(); } this.pinClk.set(); if(LED1.read()){ LED1.reset(); }else{ LED1.set(); } }; TM1637.prototype.writeByte = function(byte) { for (let i = 0; i < 8; i++) { this.pinClk.mode(C.PIN_OUTPUT); this.bit_delay(function(){ this.pinDIO.mode( (byte && 0x01) ? C.PIN_INPUT : c.PIN_OUTPUT); }); byte >>= 1; } }; Вот как выглядить модуль: Заранее всем огромное спасибо за любую помощь.
В общем удалось таки завести дисплей на Iskra JS. Вот модуль если кому надо: https://github.com/xMlex/TM1637
Доброго дня! Не прошло и 5 летки, у меня такой-же экран. Пофиксил ошибку. Сделал запрос на принятие изменений в реп выше по ссылке. В своем форке исправил https://github.com/rklonm/TM1637