Zmien kod na:
#include <Wire.h>
volatile uint8_t fromPC[52] = {0};
volatile uint8_t toPC[20] = {0xEF, 0xEF, 0xEF, 0xEF, 0};
void setup()
{
Wire.begin();
pinMode(A15, INPUT);
Serial.begin(115200);
Serial.setTimeout(30);
while(!Serial.available()){}
}
void loop()
{
toPC[15] = map(analogRead(A15), 0, 1023, 0, 255);
// Data transmission
while (!Serial.available()) {};
Serial.readBytes((char*)fromPC, 52);
Serial.write((char*)toPC, 20);
}
Wyjaśnienie:
W wartość 0/1 (bit) chciałeś wsadzić 0-255 (bajt). Zmieniłem żeby do bajtu wsadzać wartość 8 bitową.
Dodatkowo potencjometr podłącz od lewej GND, A15, 5V dla lepszego i dokładniejszego odczytu.