Stap 4: Lezing TX signaal
Uploaden naar de Arduino de code die door benripley in deze post (afbeelding hierboven), sluit de Arduino op uw PC en de seriële monitor openen.
volatile int pwm_value = 0;volatile int prev_time = 0; void setup() { Serial.begin(115200); // when pin D2 goes high, call the rising function attachInterrupt(0, rising, RISING); } void loop() { } void rising() { attachInterrupt(0, falling, FALLING); prev_time = micros(); } void falling() { attachInterrupt(0, rising, RISING); pwm_value = micros()-prev_time; Serial.println(pwm_value); }
Druk op elke knop en druk op stokken op en neer ziet u een reeks getallen die staan voor de lengte van de pulsen in microseconden (tijd die het signaal blijven hoog).
Wanneer ik de linker stick opgedreven, wordt de controller (herhaaldelijk) verzenden:
84 564 564 564 560 1356 860 560 564 560 560 564 560 564 860 560 560 560 560 564 1356 860 564 560 564 564 560 564 560 864 564 564 564 564 564 (...)
Dus, we kunnen zien: een long pulse van 1356 micros (is "sync" een goede naam?) twee pulsen van 860 micros (opdracht) en 12 pulsen van 564 micros
Wanneer ik vrijgegeven:
1356 564 564 564 564 564 564 564 564 564 564 560 564 564 564 1360 564 564 564 564 564 564 564 564 564 564 560 560 564 564
Opnieuw een lange puls van 1356 micros en 14 pulsen van 564 micros (geen code)
Uiteindelijk kreeg ik de bovenstaande tabel.