Citazione:
Originalmente inviato da riki1681 la soluzione con ponte frksy/ppm (quindi un modulo frsky che trasmette a una rx frsky, prendendo un input di segnali ppm generati da arduino che a sua volta prende dal pc i valori e li converte) è una scelta di velocità ed economia.
il software richiede al massimo qualche oretta per lo sviluppo (lato arduino e lato pc), e ho un range di 1,5km spendendo meno di 40 sterline.
ed effettivamente funziona tutto e bene.
sparo una stringa con valori separati da punto e virgola e fine riga con il carattere ascii 10 (\n o vblf o linefeed, o come lo volete chiamare)
arduino attende il fine riga,
legge la stringa e memorizza i valori
ogni 22ms un interrupt richiama una funzione che genera il treno di impulsi ppm, nulla più di una serie di high e low sul pin che va alla tx frsky, di durata variabile in base a quello che invio dalla seriale del pc.
questo richiede una 50ina di righe di codice lato arduino e altrettante lato pc (compresa la lettura dei valori da un joystick collegato al pc)
sinceramente non so quanto invece cubi in termini di tempo implementare uno dei protocolli "seri" che vengono utilizzati da marche che fanno tx/rx.
per quello pensavo di fare un protocollo "light"
e che, magari in futuro, mi permetta, lato pc, di pilotare più tx, tramite le varie uscite di arduino.
poi le mie erano esempi di considerazioni sul perché dare attenzione al messaggio più che a come si invia, non tanto quesiti su come fare un protocollo.
ad ora una stringa di testo svolge egregiamente questa funzione mentre le logiche sono gestite dal pc.
arduino si occupa solo di tenere sotto controllo i valori massimi dei comandi che riceve, in modo da non inviare segnali malformati in caso di comunicazione seriale problematica.
quando tutto sarà più consolidato spero invece di poter implementare una comunicazione più efficace. |
FrskyPXX e DSM2 sono protocolli digitali seriali, specialmente il dsm2.
Un modulo dsm2 lo cannibalizzi facile facile da una dx4/dx5 che trovi sul mercato dell'usato a 40 , considerando che risparmi su arduino tutto sommato mi sembra ragionevole..