Size: a a a

2019 February 18

АБ

Алексей Богданов in ARDUINO [RU]
Все работает!! Через тх ардуины 1к резистор при нормальном контакте убирает хрипы!!
источник

АБ

Алексей Богданов in ARDUINO [RU]
Долбаная макетка!!
источник

АБ

Алексей Богданов in ARDUINO [RU]
Зато теперь есть рабочая библиотека для работы с этим модулем. Если кому надо - поделюсь
источник
2019 February 19

L

LeonidLV spNTEC in ARDUINO [RU]
вобщем вот скеч для мп3 без библиотеки -
источник

L

LeonidLV spNTEC in ARDUINO [RU]
// библиотека для работы с памятью
#include <EEPROM.h>
// адрес хранения уровня громкости EEPROM 0/30
int addr_vol = 0;
int value_vol;

/////////////////  mp3 модуль

// установка громкости
uint8_t vol30[10] = { 0x7E, 0xFF, 0x06, 0x06, 00, 00, 0x1E, 0xFE, 0xD7, 0xEF};
uint8_t vol29[10] = { 0x7E, 0xFF, 0x06, 0x06, 00, 00, 0x1D, 0xFE, 0xD8, 0xEF};
uint8_t vol28[10] = { 0x7E, 0xFF, 0x06, 0x06, 00, 00, 0x1C, 0xFE, 0xD9, 0xEF};
uint8_t vol27[10] = { 0x7E, 0xFF, 0x06, 0x06, 00, 00, 0x1B, 0xFE, 0xDA, 0xEF};
uint8_t vol26[10] = { 0x7E, 0xFF, 0x06, 0x06, 00, 00, 0x1A, 0xFE, 0xDB, 0xEF};
uint8_t vol25[10] = { 0x7E, 0xFF, 0x06, 0x06, 00, 00, 0x19, 0xFE, 0xDC, 0xEF};
uint8_t vol24[10] = { 0x7E, 0xFF, 0x06, 0x06, 00, 00, 0x18, 0xFE, 0xDE, 0xEF};
uint8_t vol23[10] = { 0x7E, 0xFF, 0x06, 0x06, 00, 00, 0x17, 0xFE, 0xDF, 0xEF};
uint8_t vol22[10] = { 0x7E, 0xFF, 0x06, 0x06, 00, 00, 0x16, 0xFE, 0xE0, 0xEF};
uint8_t vol21[10] = { 0x7E, 0xFF, 0x06, 0x06, 00, 00, 0x15, 0xFE, 0xE1, 0xEF};
uint8_t vol20[10] = { 0x7E, 0xFF, 0x06, 0x06, 00, 00, 0x14, 0xFE, 0xE2 ,0xEF};
uint8_t vol19[10] = { 0x7E, 0xFF, 0x06, 0x06, 00, 00, 0x13, 0xFE, 0xE3, 0xEF};
uint8_t vol18[10] = { 0x7E, 0xFF, 0x06, 0x06, 00, 00, 0x12, 0xFE, 0xE4, 0xEF};
uint8_t vol17[10] = { 0x7E, 0xFF, 0x06, 0x06, 00, 00, 0x11, 0xFE, 0xE5, 0xEF};
uint8_t vol16[10] = { 0x7E, 0xFF, 0x06, 0x06, 00, 00, 0x10, 0xFE, 0xE6, 0xEF};
uint8_t vol15[10] = { 0x7E, 0xFF, 0x06, 0x06, 00, 00, 0x0F, 0xFF, 0xE7, 0xEF};
uint8_t vol14[10] = { 0x7E, 0xFF, 0x06, 0x06, 00, 00, 0x0E, 0xFE, 0xE8, 0xEF};
uint8_t vol13[10] = { 0x7E, 0xFF, 0x06, 0x06, 00, 00, 0x0D, 0xFE, 0xE9, 0xEF};
uint8_t vol12[10] = { 0x7E, 0xFF, 0x06, 0x06, 00, 00, 0x0C, 0xFE, 0xEA, 0xEF};
uint8_t vol11[10] = { 0x7E, 0xFF, 0x06, 0x06, 00, 00, 0x0B, 0xFE, 0xEB, 0xEF};
uint8_t vol10[10] = { 0x7E, 0xFF, 0x06, 0x06, 00, 00, 0x0A, 0xFE, 0xEC, 0xEF};
uint8_t vol09[10] = { 0x7E, 0xFF, 0x06, 0x06, 00, 00, 0x09, 0xFE, 0xED, 0xEF};
uint8_t vol08[10] = { 0x7E, 0xFF, 0x06, 0x06, 00, 00, 0x08, 0xFE, 0xEE, 0xEF};
uint8_t vol07[10] = { 0x7E, 0xFF, 0x06, 0x06, 00, 00, 0x07, 0xFE, 0xEF, 0xEF};
uint8_t vol06[10] = { 0x7E, 0xFF, 0x06, 0x06, 00, 00, 0x06, 0xFE, 0xF0, 0xEF};
uint8_t vol05[10] = { 0x7E, 0xFF, 0x06, 0x06, 00, 00, 0x05, 0xFE, 0xF1, 0xEF};
uint8_t vol04[10] = { 0x7E, 0xFF, 0x06, 0x06, 00, 00, 0x04, 0xFE, 0xF2, 0xEF};
uint8_t vol03[10] = { 0x7E, 0xFF, 0x06, 0x06, 00, 00, 0x03, 0xFE, 0xF3, 0xEF};
uint8_t vol02[10] = { 0x7E, 0xFF, 0x06, 0x06, 00, 00, 0x02, 0xFE, 0xF4, 0xEF};
uint8_t vol01[10] = { 0x7E, 0xFF, 0x06, 0x06, 00, 00, 0x01, 0xFE, 0xF5, 0xEF};
uint8_t vol00[10] = { 0x7E, 0xFF, 0x06, 0x06, 00, 00, 0x00, 0xFE, 0xF6, 0xEF};

// воспроизведение часов
uint8_t play00[10] = {0x7E, 0xFF, 0x06, 0x12, 00, 00, 0x01, 0xFE, 0xE8 ,0xEF};
uint8_t play01[10] = {0x7E, 0xFF, 0x06, 0x12, 00, 00, 0x02, 0xFE, 0xE7 ,0xEF};
uint8_t play02[10] = {0x7E, 0xFF, 0x06, 0x12, 00, 00, 0x03, 0xFE, 0xE6 ,0xEF};
uint8_t play03[10] = {0x7E, 0xFF, 0x06, 0x12, 00, 00, 0x04, 0xFE, 0xE5 ,0xEF};
uint8_t play04[10] = {0x7E, 0xFF, 0x06, 0x12, 00, 00, 0x05, 0xFE, 0xE4 ,0xEF};
uint8_t play05[10] = {0x7E, 0xFF, 0x06, 0x12, 00, 00, 0x06, 0xFE, 0xE3 ,0xEF};
uint8_t play06[10] = {0x7E, 0xFF, 0x06, 0x12, 00, 00, 0x07, 0xFE, 0xE2 ,0xEF};
uint8_t play07[10] = {0x7E, 0xFF, 0x06, 0x12, 00, 00, 0x08, 0xFE, 0xE1 ,0xEF};
uint8_t play08[10] = {0x7E, 0xFF, 0x06, 0x12, 00, 00, 0x09, 0xFE, 0xE0 ,0xEF};
uint8_t play09[10] = {0x7E, 0xFF, 0x06, 0x12, 00, 00, 0x0A, 0xFE, 0xDF ,0xEF};
uint8_t play10[10] = {0x7E, 0xFF, 0x06, 0x12, 00, 00, 0x0B, 0xFE, 0xDE ,0xEF};
uint8_t play11[10] = {0x7E, 0xFF, 0x06, 0x12, 00, 00, 0x0C, 0xFE, 0xDD ,0xEF};
uint8_t play12[10] = {0x7E, 0xFF, 0x06, 0x12, 00, 00, 0x0D, 0xFE, 0xDC ,0xEF};
uint8_t play13[10] = {0x7E, 0xFF, 0x06, 0x12, 00, 00, 0x0E, 0xFE, 0xDB ,0xEF};
uint8_t play14[10] = {0x7E, 0xFF, 0x06, 0x12, 00, 00, 0x0F, 0xFE, 0xDA ,0xEF};
uint8_t play15[10] = {0x7E, 0xFF, 0x06, 0x12, 00, 00, 0x10, 0xFE, 0xD9 ,0xEF};
uint8_t play16[10] = {0x7E, 0xFF, 0x06, 0x12, 00, 00, 0x11, 0xFE, 0xD8 ,0xEF};
uint8_t play17[10] = {0x7E, 0xFF, 0x06, 0x12, 00, 00, 0x12, 0xFE, 0xD7 ,0xEF};
uint8_t p
источник

L

LeonidLV spNTEC in ARDUINO [RU]
lay18[10] = {0x7E, 0xFF, 0x06, 0x12, 00, 00, 0x13, 0xFE, 0xD6 ,0xEF};
uint8_t play19[10] = {0x7E, 0xFF, 0x06, 0x12, 00, 00, 0x14, 0xFE, 0xD5 ,0xEF};
uint8_t play20[10] = {0x7E, 0xFF, 0x06, 0x12, 00, 00, 0x15, 0xFE, 0xD4 ,0xEF};
uint8_t play21[10] = {0x7E, 0xFF, 0x06, 0x12, 00, 00, 0x16, 0xFE, 0xD3 ,0xEF};
uint8_t play22[10] = {0x7E, 0xFF, 0x06, 0x12, 00, 00, 0x17, 0xFE, 0xD2 ,0xEF};
uint8_t play23[10] = {0x7E, 0xFF, 0x06, 0x12, 00, 00, 0x18, 0xFE, 0xD1 ,0xEF};

// воспроизведение минут
uint8_t play24[10] = {0x7E, 0xFF, 0x06, 0x12, 00, 00, 0x19, 0xFE, 0xD0 ,0xEF};
uint8_t play25[10] = {0x7E, 0xFF, 0x06, 0x12, 00, 00, 0x1A, 0xFE, 0xCF ,0xEF};
uint8_t play26[10] = {0x7E, 0xFF, 0x06, 0x12, 00, 00, 0x1B, 0xFE, 0xCE ,0xEF};
uint8_t play27[10] = {0x7E, 0xFF, 0x06, 0x12, 00, 00, 0x1C, 0xFE, 0xCD ,0xEF};
uint8_t play28[10] = {0x7E, 0xFF, 0x06, 0x12, 00, 00, 0x1D, 0xFE, 0xCC ,0xEF};
uint8_t play29[10] = {0x7E, 0xFF, 0x06, 0x12, 00, 00, 0x1E, 0xFE, 0xCB ,0xEF};
uint8_t play30[10] = {0x7E, 0xFF, 0x06, 0x12, 00, 00, 0x1F, 0xFE, 0xCA ,0xEF};
uint8_t play31[10] = {0x7E, 0xFF, 0x06, 0x12, 00, 00, 0x20, 0xFE, 0xC9 ,0xEF};
uint8_t play32[10] = {0x7E, 0xFF, 0x06, 0x12, 00, 00, 0x21, 0xFE, 0xC8 ,0xEF};
uint8_t play33[10] = {0x7E, 0xFF, 0x06, 0x12, 00, 00, 0x22, 0xFE, 0xC7 ,0xEF};
uint8_t play34[10] = {0x7E, 0xFF, 0x06, 0x12, 00, 00, 0x23, 0xFE, 0xC6 ,0xEF};
uint8_t play35[10] = {0x7E, 0xFF, 0x06, 0x12, 00, 00, 0x24, 0xFE, 0xC5 ,0xEF};
uint8_t play36[10] = {0x7E, 0xFF, 0x06, 0x12, 00, 00, 0x25, 0xFE, 0xC4 ,0xEF};
uint8_t play37[10] = {0x7E, 0xFF, 0x06, 0x12, 00, 00, 0x26, 0xFE, 0xC3 ,0xEF};
uint8_t play38[10] = {0x7E, 0xFF, 0x06, 0x12, 00, 00, 0x27, 0xFE, 0xC2 ,0xEF};
uint8_t play39[10] = {0x7E, 0xFF, 0x06, 0x12, 00, 00, 0x28, 0xFE, 0xC1 ,0xEF};
uint8_t play40[10] = {0x7E, 0xFF, 0x06, 0x12, 00, 00, 0x29, 0xFE, 0xC0 ,0xEF};
uint8_t play41[10] = {0x7E, 0xFF, 0x06, 0x12, 00, 00, 0x2A, 0xFE, 0xBF ,0xEF};
uint8_t play42[10] = {0x7E, 0xFF, 0x06, 0x12, 00, 00, 0x2B, 0xFE, 0xBE ,0xEF};
uint8_t play43[10] = {0x7E, 0xFF, 0x06, 0x12, 00, 00, 0x2C, 0xFE, 0xBD ,0xEF};
uint8_t play44[10] = {0x7E, 0xFF, 0x06, 0x12, 00, 00, 0x2D, 0xFE, 0xBC ,0xEF};
uint8_t play45[10] = {0x7E, 0xFF, 0x06, 0x12, 00, 00, 0x2E, 0xFE, 0xBB ,0xEF};
uint8_t play46[10] = {0x7E, 0xFF, 0x06, 0x12, 00, 00, 0x2F, 0xFE, 0xBA ,0xEF};
uint8_t play47[10] = {0x7E, 0xFF, 0x06, 0x12, 00, 00, 0x30, 0xFE, 0xB9 ,0xEF};
uint8_t play48[10] = {0x7E, 0xFF, 0x06, 0x12, 00, 00, 0x31, 0xFE, 0xB8 ,0xEF};
uint8_t play49[10] = {0x7E, 0xFF, 0x06, 0x12, 00, 00, 0x32, 0xFE, 0xB7 ,0xEF};
uint8_t play50[10] = {0x7E, 0xFF, 0x06, 0x12, 00, 00, 0x33, 0xFE, 0xB6 ,0xEF};
uint8_t play51[10] = {0x7E, 0xFF, 0x06, 0x12, 00, 00, 0x34, 0xFE, 0xB5 ,0xEF};
uint8_t play52[10] = {0x7E, 0xFF, 0x06, 0x12, 00, 00, 0x35, 0xFE, 0xB4 ,0xEF};
uint8_t play53[10] = {0x7E, 0xFF, 0x06, 0x12, 00, 00, 0x36, 0xFE, 0xB3 ,0xEF};
uint8_t play54[10] = {0x7E, 0xFF, 0x06, 0x12, 00, 00, 0x37, 0xFE, 0xB2 ,0xEF};
uint8_t play55[10] = {0x7E, 0xFF, 0x06, 0x12, 00, 00, 0x38, 0xFE, 0xB1 ,0xEF};
uint8_t play56[10] = {0x7E, 0xFF, 0x06, 0x12, 00, 00, 0x39, 0xFE, 0xB0 ,0xEF};
uint8_t play57[10] = {0x7E, 0xFF, 0x06, 0x12, 00, 00, 0x3A, 0xFE, 0xAF ,0xEF};
uint8_t play58[10] = {0x7E, 0xFF, 0x06, 0x12, 00, 00, 0x3B, 0xFE, 0xAE ,0xEF};
uint8_t play59[10] = {0x7E, 0xFF, 0x06, 0x12, 00, 00, 0x3C, 0xFE, 0xAD ,0xEF};
uint8_t play60[10] = {0x7E, 0xFF, 0x06, 0x12, 00, 00, 0x3D, 0xFE, 0xAC ,0xEF};
uint8_t play61[10] = {0x7E, 0xFF, 0x06, 0x12, 00, 00, 0x3E, 0xFE, 0xAB ,0xEF};
uint8_t play62[10] = {0x7E, 0xFF, 0x06, 0x12, 00, 00, 0x3F, 0xFE, 0xAA ,0xEF};
uint8_t play63[10] = {0x7E, 0xFF, 0x06, 0x12, 00, 00, 0x40, 0xFE, 0xA9 ,0xEF};
uint8_t play64[10] = {0x7E, 0xFF, 0x06, 0x12, 00, 00, 0x41, 0xFE, 0xA8 ,0xEF};
uint8_t play65[10] = {0x7E, 0xFF, 0x06, 0x12, 00, 00, 0x42, 0xFE, 0xA7 ,0xEF};
uint8_t play66[10] = {0x7E, 0xFF, 0x06, 0x12, 00, 00, 0x43, 0xFE, 0xA6 ,0xEF};
uint8_t play67[10] = {0x7E, 0xFF, 0x06, 0x12, 00, 00, 0x44, 0xFE, 0xA5 ,0xEF};
uint8_t play68[10] = {0x7E, 0xFF, 0x06, 0x12, 00, 00, 0x45, 0xFE, 0xA4 ,0xEF};
uint8_t play69[10] = {0x7E, 0xFF, 0x06, 0x12, 00,
источник

L

LeonidLV spNTEC in ARDUINO [RU]
play01[i] );
      }
      delay(1500);
//и т.д
     
}
источник

L

LeonidLV spNTEC in ARDUINO [RU]
00, 0x46, 0xFE, 0xA3 ,0xEF};
uint8_t play70[10] = {0x7E, 0xFF, 0x06, 0x12, 00, 00, 0x47, 0xFE, 0xA2 ,0xEF};
uint8_t play71[10] = {0x7E, 0xFF, 0x06, 0x12, 00, 00, 0x48, 0xFE, 0xA1 ,0xEF};
uint8_t play72[10] = {0x7E, 0xFF, 0x06, 0x12, 00, 00, 0x49, 0xFE, 0xA0 ,0xEF};
uint8_t play73[10] = {0x7E, 0xFF, 0x06, 0x12, 00, 00, 0x4A, 0xFE, 0x9F ,0xEF};
uint8_t play74[10] = {0x7E, 0xFF, 0x06, 0x12, 00, 00, 0x4B, 0xFE, 0x9E ,0xEF};
uint8_t play75[10] = {0x7E, 0xFF, 0x06, 0x12, 00, 00, 0x4C, 0xFE, 0x9D ,0xEF};
uint8_t play76[10] = {0x7E, 0xFF, 0x06, 0x12, 00, 00, 0x4D, 0xFE, 0x9C ,0xEF};
uint8_t play77[10] = {0x7E, 0xFF, 0x06, 0x12, 00, 00, 0x4E, 0xFE, 0x9B ,0xEF};
uint8_t play78[10] = {0x7E, 0xFF, 0x06, 0x12, 00, 00, 0x4F, 0xFE, 0x9A ,0xEF};
uint8_t play79[10] = {0x7E, 0xFF, 0x06, 0x12, 00, 00, 0x50, 0xFE, 0x99 ,0xEF};
uint8_t play80[10] = {0x7E, 0xFF, 0x06, 0x12, 00, 00, 0x51, 0xFE, 0x98 ,0xEF};
uint8_t play81[10] = {0x7E, 0xFF, 0x06, 0x12, 00, 00, 0x52, 0xFE, 0x97 ,0xEF};
uint8_t play82[10] = {0x7E, 0xFF, 0x06, 0x12, 00, 00, 0x53, 0xFE, 0x96 ,0xEF};
uint8_t play83[10] = {0x7E, 0xFF, 0x06, 0x12, 00, 00, 0x54, 0xFE, 0x95 ,0xEF};

uint8_t playbud[10] = {0x7E, 0xFF, 0x06, 0x12, 00, 00, 0x55, 0xFE, 0x94 ,0xEF};

void setup() {
Serial.begin(9600);
delay(500);
for (int i=0; i<10; i++) { Serial.write(vol30[i] ); }
delay (100);

//установка громкости по значению из памяти
value_vol = EEPROM.read(addr_vol);
 if(value_vol == 0) { for (int i=0; i<10; i++) { Serial.write(vol00[i] ); }}
 if(value_vol == 1) { for (int i=0; i<10; i++) { Serial.write(vol01[i] ); }}
 if(value_vol == 2) { for (int i=0; i<10; i++) { Serial.write(vol02[i] ); }}
 if(value_vol == 3) { for (int i=0; i<10; i++) { Serial.write(vol03[i] ); }}
 if(value_vol == 4) { for (int i=0; i<10; i++) { Serial.write(vol04[i] ); }}
 if(value_vol == 5) { for (int i=0; i<10; i++) { Serial.write(vol05[i] ); }}
 if(value_vol == 6) { for (int i=0; i<10; i++) { Serial.write(vol06[i] ); }}
 if(value_vol == 7) { for (int i=0; i<10; i++) { Serial.write(vol07[i] ); }}
 if(value_vol == 8) { for (int i=0; i<10; i++) { Serial.write(vol08[i] ); }}
 if(value_vol == 9) { for (int i=0; i<10; i++) { Serial.write(vol09[i] ); }}
 if(value_vol == 10) { for (int i=0; i<10; i++) { Serial.write(vol10[i] ); }}
 if(value_vol == 11) { for (int i=0; i<10; i++) { Serial.write(vol11[i] ); }}
 if(value_vol == 12) { for (int i=0; i<10; i++) { Serial.write(vol12[i] ); }}
 if(value_vol == 13) { for (int i=0; i<10; i++) { Serial.write(vol13[i] ); }}
 if(value_vol == 14) { for (int i=0; i<10; i++) { Serial.write(vol14[i] ); }}
 if(value_vol == 15) { for (int i=0; i<10; i++) { Serial.write(vol15[i] ); }}
 if(value_vol == 16) { for (int i=0; i<10; i++) { Serial.write(vol16[i] ); }}
 if(value_vol == 17) { for (int i=0; i<10; i++) { Serial.write(vol17[i] ); }}
 if(value_vol == 18) { for (int i=0; i<10; i++) { Serial.write(vol18[i] ); }}
 if(value_vol == 19) { for (int i=0; i<10; i++) { Serial.write(vol19[i] ); }}
 if(value_vol == 20) { for (int i=0; i<10; i++) { Serial.write(vol20[i] ); }}
 if(value_vol == 21) { for (int i=0; i<10; i++) { Serial.write(vol21[i] ); }}
 if(value_vol == 22) { for (int i=0; i<10; i++) { Serial.write(vol22[i] ); }}
 if(value_vol == 23) { for (int i=0; i<10; i++) { Serial.write(vol23[i] ); }}
 if(value_vol == 24) { for (int i=0; i<10; i++) { Serial.write(vol24[i] ); }}
 if(value_vol == 25) { for (int i=0; i<10; i++) { Serial.write(vol25[i] ); }}
 if(value_vol == 26) { for (int i=0; i<10; i++) { Serial.write(vol26[i] ); }}
 if(value_vol == 27) { for (int i=0; i<10; i++) { Serial.write(vol27[i] ); }}
 if(value_vol == 28) { for (int i=0; i<10; i++) { Serial.write(vol28[i] ); }}
 if(value_vol == 29) { for (int i=0; i<10; i++) { Serial.write(vol29[i] ); }}
 if(value_vol == 30) { for (int i=0; i<10; i++) { Serial.write(vol30[i] ); }}

}

void loop() {


// воспроизведение файла 0001.mp3
      for (int i=0; i<10; i++) {
       Serial.write( play00[i] );
      }
      delay(1500);
// воспроизведение файла 0002.mp3
      for (int i=0; i<10; i++) {
       Serial.write(
источник

L

LeonidLV spNTEC in ARDUINO [RU]
Источник: telegramm.online
источник

L

LeonidLV spNTEC in ARDUINO [RU]
это даташит на этот плеер
источник

L

LeonidLV spNTEC in ARDUINO [RU]
согласно этого даташита и сделан скеч
источник

L

LeonidLV spNTEC in ARDUINO [RU]
самое интересное что в даташите сказано что нужно подсчитывать контрольную сумму но вот как нисказано...
источник

L

LeonidLV spNTEC in ARDUINO [RU]
вычисление контрольной суммы

0X7E, 0xFF, 0x06, 0X03, 00, 00, 0x01, 0xFE, 0xF7, 0XEF

It's easy to calculate checksum if you understand hex well. Here is an example below.
FF+06+03+00+00+01=0109   0-0109=FE F7
источник

L

LeonidLV spNTEC in ARDUINO [RU]
это пример посчета контрольной суммы
источник

L

LeonidLV spNTEC in ARDUINO [RU]
несовсем корректно скопировался скетч в чат, заного файлом
источник

АБ

Алексей Богданов in ARDUINO [RU]
Спасибо большое!!! В любом случае пригодится!
источник
2019 February 21

ГГ

Григорий Григорий in ARDUINO [RU]
Здравствуйте!  Я мимо проходил ..решил поздоратся.
источник

EG

Eduard Gilmutdinov (edgi) in ARDUINO [RU]
Григорий Григорий
Здравствуйте!  Я мимо проходил ..решил поздоратся.
👍 добро пожаловать
источник
2019 February 22

А

Артем in ARDUINO [RU]
Всем привет. Мне срочно нужна помощь, у меня есть где-то час. Залил я скетч на Arduino Nano: https://pastebin.com/W3N2BVLa  для общения по Modbus RTU.    И вдруг в выводе Serial начала твортится какая-то хрень.  Схема:
источник

А

Артем in ARDUINO [RU]
источник