Доброго времени суток. повторил проэкт МЕХАТРОНА . собрал копировальщик домофонных ключей, все завелось и заработало без танцев с бубном. но хотелось бы немного модернезировать- а именно добавить функцию добавления ключей через сериал порт. на странице проэка написали коментарий с куском кода который нужно воткнуть в скетч, если правильно понял то отсутствует функция "nibble2c" которая должна была прилагаться с куском кода кусок кода: Код (C++): // вставить в loop после echo = Serial.read(); // и загружайте ключи через serial if (echo == ‘w’){ String keyId = Serial.readStringUntil(‘\n’); if (keyId.length() == 16 && keyId[0]==keyId[1] && (keyId[0] == ‘f’ || keyId[0] == ‘F’)){ Serial.print(F(«Key is «) ); Serial.println(keyId); // convert keyID from HEX for (byte i = 0; i < 8; i++) { keyID[i] = nibble2c(keyId[i*2]) *16 + nibble2c(keyId[i*2 +1]); } } // OLED_printKey(keyID); if (EPPROM_AddKey(keyID)) { OLED_printError(F("The key saved"), false); Sd_ReadOK(); //delay(1000); } else { Sd_ErrorBeep(); } OLED_printKey(keyID); } сслылка на гитхаб, скетч большой и не влезает на форуме https://github.com/AlexMalov/EasyKeyDublicatorRFID_OLED На 904й строке есть закомментированная строка позволяющая вручную вписывать код, но это очень не удобно, и нужна постоянная прошивка с каждым новым кодом ключа. Надеюсь что кто-нибудь поможет с кодом, символическую оплату труда никто не отменял)
С 6-ти летним стажем на форуме должно быть стыдно просить подобный элементарный код. Попробуйте додумать сами. Что нужно сделать - перевести символ в цифру , по типу '0' -> 0 '1' -> 1 ..... 'A' -> 10 'B' -> 11 .... 'F' -> 15 Для такого кода вариантов просто масса - можно через switch-case, можно через табличку, через вычитание символов и тд... Дерзайте
Стаж это всего лишь цифра не имеющая отношения к опыту. Программированием года 3 уже не занимался, уже забыл даже все элементарное