Quote:
Originariamente inviata da Litto97
Ottima idea se non hai le radio con un sistema per il mixing o vuoi settare in modo particolare lo sterzo delle ruote posteriori
Inviato con il mio Redmi Note 7 - Scarica l‘app del Forum di Modellismo.net
|
grazie
ho cercato di scrivere il post in modo da mettere in grado chiunque di poterla costruire, anche senza aver mai fatto un solo passo in arduino, io stesso mi colloco in questa categoria, solo 2 settimane addietro mi spaventava soltanto.
la controller funziona anche con la peggiore radio 2ch, la centralina è destinata proprio a chi non ha una radio con mix.
altrettanto interessante almeno per me è questo progetto per radio 3ch dove la stessa feature si può attivare o disattivare con il canale ausiliario 2 posizioni fisse.
io l'ho messa sul mio camion dynahead per controllare la microcamera fpv
in modo da avere una posizione dove il servo rimane fermo (e vedo solo avanti) e una seconda dove il servo segue lo sterzo (e posso darmi un occhiata attorno.. magari da fermo è meglio)
sostanzialmente è uguale a quella descritta nel post precedente ma la attivi e disattivi attraverso il segnale del canale ausiliario che ho assegnato al piedino 9
sul circuito l'unica differenza è appunto il piedino 9 aggiunto per entrare con il segnale di aux nella board nano.
codice:
#include <Servo.h>
Servo myservo;
#define antsx 1000 //-- in fronte servo finecorsa sx
#define antdx 2000 //-- in fronte servo finecorsa dx
#define postsx 30//-- out finecorsa posteriore servo sx
#define postdx 150 //-- out finecorsa posteriore destra dx
#define centro 0 //-- un numero aggiunto o sottratto per centrare le ruote
#define tolleranza 0 //-- settare a 5 se il servo vibra
unsigned int rxpulse;
unsigned int newPos, oldPos;
unsigned int centralPos = 1500;
void setup() {
myservo.attach(10); //--piedino uscita segnale servo posteriore
pinMode(9, INPUT); //--piedino segnale ingresso aux
pinMode(8, INPUT); //-- piedino segnale ingresso sterzo
}
void loop() {
rxpulse = pulseIn(9, HIGH);
if (rxpulse > 1600) {
myservo.write(centralPos);
} else {
newPos = map(pulseIn(8, HIGH), antsx, antdx, postsx, postdx);
if(abs(newPos - oldPos) > tolleranza) {
oldPos = newPos;
myservo.write(newPos + centro);
}
}
}
se invece usate un bec esterno potete mandare nella ricevente radio anche solo i segnali. l'importante è alimentare i servi e la nano ai piedini VIN e GND con i 5v del bec ma la nano sulla porta VIN accetta alimentazioni fino a 9v anche la batteria 2s diretta la potrebbe alimentare..
di fatto non consuma nulla quindi basta il bec della ricevente.
come vedete in allegato non ho fatto altro che aggiungere in verde un filo di segnale tra il canale aux e il piedino 9