RC toy Arduino PC kontrolleras av 2 ledare (signal och marken) (4 / 7 steg)
Steg 4: Behandlingen TX signal
Ladda upp till Arduino koden som anges av benripley i detta inlägg (bilden ovan), Anslut Arduino till datorn och öppna den seriella monitorn.
flyktiga int pwm_value = 0;
flyktiga int prev_time = 0;
void setup() {
Serial.BEGIN(115200);
När stift D2 går hög, anropa funktionen stigande
attachInterrupt (0, stiger, stiger);
}
void loop() {}
void rising() {
attachInterrupt (0, faller, faller);
prev_time = micros();
}
void falling() {
attachInterrupt (0, stiger, stiger);
pwm_value = micros ()-prev_time;
Serial.println(pwm_value);
}
Att trycka på varje knapp och push pinnar upp och ner kommer du att se en sekvens med siffror som representerar längden på pulserna i mikrosekunder (tid som signalen bo hög).
När jag tryckte upp vänster spak, skicka registeransvarige (upprepade gånger):
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 (...)
Så vi kan se: en lång puls av 1356 micros (är "sync" ett bra namn?) två pulser av 860 micros (kommando) och 12 pulser av 564 micros
När jag släppt:
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
Igen en lång puls av 1356 micros och 14 pulser av 564 micros (ingen kod)
Till slut fick jag ovanstående tabell.