Torna indietro   BaroneRosso.it - Forum Modellismo > Elettronica > Circuiti Elettronici


Rispondi
 
Strumenti discussione Visualizzazione
Vecchio 25 aprile 20, 16:44   #1 (permalink)  Top
Guest
 
Data registr.: 17-07-2013
Messaggi: 3.734
Citazione:
Originalmente inviato da madqwerty Visualizza messaggio
considerando che non programmo con Arduino da un tot (non programmo da un tot in generale ) e che non ho mai usato la libreria servo..

...........
non so se sia giusta la routine di lettura dell'input, e anche non ricordo come dichiarare gli AND
grazie, ora provo a far funzionare anche il tuo sketch, inizio a capire meglio la sintassi e chiaramente ci voglio provare

mi spaventava un pò questa roba ma alla fine è molto interessante.. anche sbagliando si scoprono ugualmente alcune cose utili.
wrighizilla non è collegato   Rispondi citando
Vecchio 25 aprile 20, 18:14   #2 (permalink)  Top
User
 
L'avatar di madqwerty
 
Data registr.: 18-05-2013
Residenza: Chivasso (TO)
Messaggi: 2.352
Citazione:
Originalmente inviato da wrighizilla Visualizza messaggio
grazie, ora provo a far funzionare anche il tuo sketch,
de nada, onorato di poterti essere d'aiuto, vista quantità e qualità delle tue opere

l'unico vantaggio del mio è che che non ha delay lunghi nel main loop (li spezzetta in piccoli delay sempre lunghi uguali) quindi se torni al centro con l'interruttore ch3 non devi attendere un tempo random da 0 a 2 secondi del delay alla fine dei cicli for ,

però non l'ho nemmeno passato al compilatore, di sicuro contiene errori grammaticali (gli AND verso il fondo) e anche la lettura del ch3, vedendo come fa lo sketch dopo il mio, ma può servirti per fare un po' di palestra
__________________
v911 - mCPX - PRȎTOS - TRex 450 500 550
A959B - Q32 - DF03 - LRP TC2 - XB4 - M06 - B5(M) - T8E - X1 - T4 - XB2C - GF01
madqwerty non è collegato   Rispondi citando
Vecchio 25 aprile 20, 18:15   #3 (permalink)  Top
User
 
L'avatar di italo.driussi
 
Data registr.: 02-07-2004
Residenza: Ronchi dei Legionari (GO)
Messaggi: 5.709
Prova questo



#define LPAUSA 2000 //-- pausa laterale
#define CPAUSA 2000 //-- pausa centrale
#define maxsx 45 //-- corsa max sx
#define maxdx 135 //-- corsa max dx
#define centro 90 //-- centro servo
#define VelSer 60 //-- velocita servo
#define PinSer 9 //-- pin servo
#define PinRX 8 //-- pin legge RX

#include <Servo.h>
Servo myservo;

int rxpulse = 1500;
int n = 90;

void setup() {
myservo.attach(PinSer);
pinMode(PinRX, INPUT);
}

void loop() {
rxpulse = pulseIn(PinRX, HIGH);
Serial.println(rxpulse);
if (rxpulse > 1700)
{
myservo.write(centro);
delay(200);
} else {
ruota();
}
}


void ruota() {
//-- da centro a sx
for (n = centro; n >= maxsx; n--) {
myservo.write(n);
delay(VelSer);
} delay(LPAUSA);
//-- torno al centro
for (n = maxsx ; n <= centro; n++) {
myservo.write(n);
delay(VelSer);
} delay(CPAUSA);
//-- da centro a dx
for (n = centro; n <= maxdx; n++) {
myservo.write(n);
delay(VelSer);
} delay(LPAUSA);
//-- torno al centro
for (n = maxdx ; n >= centro; n--) {
myservo.write(n);
delay(VelSer);
} delay(CPAUSA);
}
__________________
Solo Aeromodelli -
Autogiro Elicotteri Multirotori No grazie
italo.driussi non è collegato   Rispondi citando
Vecchio 25 aprile 20, 18:21   #4 (permalink)  Top
User
 
L'avatar di italo.driussi
 
Data registr.: 02-07-2004
Residenza: Ronchi dei Legionari (GO)
Messaggi: 5.709
Comunque fa minimo un ciclo dx, sx anche se accendi e spegni subito l' interruttore.
__________________
Solo Aeromodelli -
Autogiro Elicotteri Multirotori No grazie
italo.driussi non è collegato   Rispondi citando
Vecchio 25 aprile 20, 18:29   #5 (permalink)  Top
Guest
 
Data registr.: 17-07-2013
Messaggi: 3.734
Citazione:
Originalmente inviato da italo.driussi Visualizza messaggio
Comunque fa minimo un ciclo dx, sx anche se accendi e spegni subito l' interruttore.
ora lo provo, grazie 1000

ad ogni modo si, al momento fa il ciclo completo se si sorpassa il centro..

sarebbe meglio riposizionasse al centro indipendentemente dalla posizione di loop nella quale si trova.
ad ogni modo l'ho montato sul camion almeno posso tarare la corsa del servo.

poi ora un amico mi ha messo in testa la possibilità di assegnare a una posizione aux il segnale di sterzo invece che fare un loop.. ovvero avere la posizione fissa avanti per guidare e come seconda posizione poter scegliere di sterzare contemporaneamente alla cam.
anche questa sarebbe una soluzione interessante, per darsi una guardata attorno almeno da fermo girando ruote e cam assieme.

Ultima modifica di wrighizilla : 25 aprile 20 alle ore 18:32
wrighizilla non è collegato   Rispondi citando
Vecchio 25 aprile 20, 18:46   #6 (permalink)  Top
User
 
L'avatar di italo.driussi
 
Data registr.: 02-07-2004
Residenza: Ronchi dei Legionari (GO)
Messaggi: 5.709
L' interruttore quante posizioni ha?
Valori delle letture?
Valori delle letture servo sterzo?

int rxpulse;
void setup() {
Serial.begin(9600);
}
void loop() {
rxpulse = pulseIn(8, HIGH);
Serial.println(rxpulse);
}
__________________
Solo Aeromodelli -
Autogiro Elicotteri Multirotori No grazie
italo.driussi non è collegato   Rispondi citando
Vecchio 25 aprile 20, 19:34   #7 (permalink)  Top
Guest
 
Data registr.: 17-07-2013
Messaggi: 3.734
Citazione:
Originalmente inviato da italo.driussi Visualizza messaggio
L' interruttore quante posizioni ha?
Valori delle letture?
Valori delle letture servo sterzo?

int rxpulse;
void setup() {
Serial.begin(9600);
}
void loop() {
rxpulse = pulseIn(8, HIGH);
Serial.println(rxpulse);
}
l'aux è a 2 posizioni.
valori letture aux e sterzo sono simili: 1000 1900

ho provato adesso l'ultimo sketch che hai postato

molto piacevole avere anche la pausa al centro, funziona benissimo, ho allargato la corsa del servo e centrato la visuale, la velocità l'ho alzata a 30.

grazie non resta che provarlo sul campo per vedere quanto risulta pratico ma direi che va una meraviglia.
wrighizilla non è collegato   Rispondi citando
Vecchio 27 aprile 20, 12:34   #8 (permalink)  Top
Guest
 
Data registr.: 17-07-2013
Messaggi: 3.734
il loop è fantastico, ti ringrazio ancora per l'aiuto, penso di aver imparato qualcosa da questa esperienza anche solo facendo banali confronti

adesso sto cercando di costruire una controller per radiocomandi 2 canali in modo da avere 4 ruote sterzanti e poter programmare le posteriori settando la centratura, il reverse e la corsa disponibile.

sono arrivato qui, lo sketch adesso permette di settare reverse e corsa del servo ma non la centratura che ovviamente dovrà essere mantenuta proporzionale.

#include <Servo.h>
Servo myservo;
unsigned int rxpulse;
unsigned int newPos;
void setup() {
myservo.attach(10);
pinMode(8, INPUT);
}
void loop() {
rxpulse = pulseIn(8, HIGH);
newPos = map(pulseIn(8, HIGH), 1000, 2000, 5, 175);
myservo.write(newPos);
}

questo sketch vorrei che potesse sostituire il classico cavetto a Y dando il modo di settare i parametri di sterzo necessari a gestire la coppia di ruote posteriori.
vediamo se ci riuscirò, credo di avere abbastanza chiaro cosa manca ma ancora non l'ho saputo scrivere bene.

Ultima modifica di wrighizilla : 27 aprile 20 alle ore 12:38
wrighizilla non è collegato   Rispondi citando
Rispondi

Bookmarks




Regole di scrittura
Non puoi creare nuove discussioni
Non puoi rispondere alle discussioni
Non puoi inserire allegati
Non puoi modificare i tuoi messaggi

BB code è Attivato
Le faccine sono Attivato
Il codice [IMG] è Attivato
Il codice HTML è Disattivato
Trackbacks è Disattivato
Pingbacks è Disattivato
Refbacks è Disattivato


Discussioni simili
Discussione Autore discussione Forum Commenti Ultimo Commento
buggy da completare BoBoPoP Automodellismo Mot. Scoppio Off-Road 41 18 maggio 16 17:56
monster da completare...! bronto_19 Automodellismo Mot. Elettrico Off-Road 2 22 giugno 10 17:35
Sto costruendo uno schiumino (o tzagi), mi aiutate??? crido96 Aeromodellismo Principianti 72 07 febbraio 10 02:26
Come completare una associated B4? ryan-j Automodellismo Mot. Elettrico On-Road 9 04 maggio 08 11:55



Tutti gli orari sono GMT +2. Adesso sono le 14:08.


Basato su: vBulletin versione 3.8.11
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
E' vietata la riproduzione, anche solo in parte, di contenuti e grafica. Copyright 1998/2019 - K-Bits P.I. 09395831002