|
Pagine: 1 [2] 3 4
|
|
|
Nick85 |
du choke is megl' che one |
|
Febbraio 02, 2016, 11:09:22 am |
Utente standard, V12, 3228 posts |
|
non ci crederai ma sto facendo esattamente quello che vuoi tu per modellismo. Sto comandando dei servi con arduino mega con un tasto. In pratica sto cercando di fare un plastico ferroviario utilizzando i servi al posto dei motori x scambio e gestendo il pannello con arduino. Dopo ti posto lo sketch che ho scritto « Ultima modifica: Febbraio 02, 2016, 11:11:46 am da Nick85 »
|
|
Somaro special parts Rulez!!!
|
|
|
Nick85 |
du choke is megl' che one |
|
Febbraio 02, 2016, 11:18:07 am |
Utente standard, V12, 3228 posts |
|
ecco qui, questo è ancora work in progress, cambierà molto
#include <Servo.h> #include <SoftwareSerial.h> #include <program.h>
Servo myservo; //Classe servi #define LED 13 // LED collegato al pin digitale 13 #define BUTTON 7 // pin di input dove è collegato il pulsante int val = 0; // si userà val per conservare lo stato del pin di input int vecchio_val = 0; // si userà vecchio_val per conservare lo stato del pin di input al passo precedente int stato = 0; // ricorda lo stato in cui si trova il led, stato = 0 led spento, stato = 1 led acceso int maxpos = 170; // max pos servo int minpos = 10; // min pos servo int currpos =10; //posizione corrente int passo =2; int i;
void setup() { pinMode(LED, OUTPUT); // imposta il pin digitale come output pinMode(BUTTON, INPUT); // imposta il pin digitale come input myservo.attach(8,700,2300); //imposta il servo sulla porta nr 9 Serial.begin(9600); myservo.write(currpos); } void loop() { val = digitalRead(BUTTON); // legge il valore dell'input e lo conserva
// controlla se è accaduto qualcosa if ((val == HIGH) && (vecchio_val == LOW)){ stato = 1 - stato; }
vecchio_val = val; // ricordiamo il valore precedente di val Serial.print("stato "); Serial.println(stato); Serial.print("servo pos "); Serial.println(myservo.read()); if (stato == 1){ if (currpos < maxpos) { currpos = currpos+passo; if (myservo.read() != currpos){ myservo.write(currpos); } } digitalWrite(LED, HIGH); // accende il led delay(100); digitalWrite(LED, LOW); //spegne il led } else{ if (currpos > minpos) { currpos = currpos-passo; if (myservo.read() != currpos){ myservo.write(currpos); } } } //myservo.write(currpos); //delay(5); Serial.print("currpos "); Serial.println(currpos); //Sleep(10); delay(100); }
void Sleep(int Time){ Serial.println("TIME"); for (i =0;i==Time;i+=1){ if (stato == 1) { digitalWrite(LED, HIGH); // accende il led delay(100); digitalWrite(LED, LOW); //spegne il led //myservo.write(currpos); Serial.println("blink "+i); } } }
|
|
Somaro special parts Rulez!!!
|
|
|
pasquale83 |
ALFA ROMEO cuore sportivo :( |
|
Febbraio 02, 2016, 15:14:02 pm |
Utente standard, V12, 10074 posts |
|
La mia idea è quella di riuscire a tarare il PID in modo tale da avere un'apertura di farfalla proporzionale all'assorbimento
Il quadro comandi sarà ridotto all'osso: Interruttore on-off Pulsante + Pulsante - Interruttore auto
Per quanto riguarda l'alimentazione, in fase di test posso alimentarlo con una Powerbank tramite usb?
|
|
|
|
|
pasquale83 |
ALFA ROMEO cuore sportivo :( |
|
Febbraio 02, 2016, 15:19:37 pm |
Utente standard, V12, 10074 posts |
|
Tu devi mettere una resistenza di pull-up oppure un pull-down, da 10k va bene.... esempio In realtà l'atmega puo' puo' farlo internamente su buona parte dei pin, quindi a te basta il pulsante. https://www.arduino.cc/en/Tutorial/DigitalPinsIl pulsante puo' essere interessante collegarlo ad un digitale che permette di essere configurato come interrupt... aspe' che mi sono appena affacciato alla programmazione in C reale... Ho dato una veloce letta al link da te postato, In pratica scelgo il Pin , gli dico che è un ingresso e gli do valore alto, così l'altro estremo dell'interruttore invece che collegarlo al 5V, lo collego al gnd ?
|
|
|
|
|
alura |
|
|
Febbraio 02, 2016, 15:30:50 pm |
webmaster, V12, 50851 posts |
|
aspe' che mi sono appena affacciato alla programmazione in C reale...
Ho dato una veloce letta al link da te postato, In pratica scelgo il Pin , gli dico che è un ingresso e gli do valore alto, così l'altro estremo dell'interruttore invece che collegarlo al 5V, lo collego al gnd ?
si esatto
|
|
Kia Sorento = Oso nei Kart
|
|
|
Raven |
Wild thing, you make my heart sing |
|
Febbraio 02, 2016, 16:07:26 pm |
Staff, V12, 19424 posts |
|
io avevo una fidanzata che abitava in piazzale Arduino
|
|
Prima vengono i sorrisi, poi le bugie. Per ultimi gli spari.
|
|
|
THE KAISER |
|
|
Febbraio 02, 2016, 16:27:38 pm |
Staff, V12, 37777 posts |
|
wow, un intero thread di cui ignoro totalmente l'argomento della discussione...ma per curiosità, di cosa parlate?! è un linguaggio di programmazione o cosa?
|
|
Nessun vento è favorevole per chi non sa dove andare, ma per noi che sappiamo, anche la brezza sarà preziosa.
|
|
|
&re@ |
|
|
Febbraio 02, 2016, 16:28:41 pm |
Utente standard, V12, 77625 posts |
|
|
Loggato
|
|
|
Nick85 |
du choke is megl' che one |
|
Febbraio 04, 2016, 08:39:34 am |
Utente standard, V12, 3228 posts |
|
|
|
Somaro special parts Rulez!!!
|
|
|
alura |
|
|
Febbraio 04, 2016, 09:05:41 am |
webmaster, V12, 50851 posts |
|
ma quel sensore come funziona?
quel sensore esce con una tensione proporzionale alla pressione... lo puoi collegare direttamente ad un analogico.
|
|
Kia Sorento = Oso nei Kart
|
|
|
jimb0 |
Harry, hol schon mal den Wagen! |
|
Febbraio 04, 2016, 09:16:35 am |
Utente standard, V12, 9565 posts |
|
Lo ignoravo anche io
ti facevo piu' nerd!
|
|
|
|
|
pasquale83 |
ALFA ROMEO cuore sportivo :( |
|
Febbraio 04, 2016, 17:11:21 pm |
Utente standard, V12, 10074 posts |
|
il trasduttore ha 3 connessioni, 2 per l'alimentazione (5V e GND), e la terza da in uscita un valore di tensione proporzionale, in questo caso, alla pressione, 0V a 0bar e 5V a fondo scala che, se ho capito bene per quel po' che sto leggendo, arduino interpreta, sull'ingresso analogico, con valori che vanno da 0 a 1024 quel sensore esce con una tensione proporzionale alla pressione... lo puoi collegare direttamente ad un analogico.
stavo pensando di sostituire i 2 pulsanti per il comando manuale, con un potenziometro, così da avere una programmazione più pulita (alias: un buon copia e incolla ) dovrei uscirmene con un semplice if/else del tipo: se l'interruttore "auto" è down applica il controllo automatico dell'acceleratore altrimenti leggi il potenziomentro e "sposta" il servocomando altra fulminata di genio: (o fumata?! ) durante i test userò il pc per leggere i valori in uscita al potenziometro per "tarare" il controllore, quindi l'alimentazione sarà fornita dal pc ma una volta terminato il tutto, vorrei alimentare arduino con una dinamo di una bicicletta collegata alla cingha che collega il motore al compressore ovviamente dovrò raddrizzare e stabilizzare l'uscita della dinamo (che in realtà è un alternatore a 4 bobine) e qui mi servirà un bel aiuto so che ci vuole un ponte di greatz ed un condensatore di sicuro... ma dopo? che condensatore? che capacità? ci vuole qualche resistenza per "aiutare" il condensatore?
|
|
|
|
|
jimb0 |
Harry, hol schon mal den Wagen! |
|
Febbraio 04, 2016, 17:21:40 pm |
Utente standard, V12, 9565 posts |
|
ma una volta terminato il tutto, vorrei alimentare arduino con una dinamo di una bicicletta collegata alla cingha che collega il motore al compressore ovviamente dovrò raddrizzare e stabilizzare l'uscita della dinamo (che in realtà è un alternatore a 4 bobine) e qui mi servirà un bel aiuto so che ci vuole un ponte di greatz ed un condensatore di sicuro... ma dopo? che condensatore? che capacità? ci vuole qualche resistenza per "aiutare" il condensatore? ma che marrazzo vi danno da fumare laggiu'?!? C'hai la 12 volt gia' in continua, no? Ti basta portarla a 5, che marrazzo te ne fai di una dinamo per bicicletta?!?!?!?
|
|
|
|
|
alura |
|
|
Febbraio 04, 2016, 17:25:50 pm |
webmaster, V12, 50851 posts |
|
ma una volta terminato il tutto, vorrei alimentare arduino con una dinamo di una bicicletta collegata alla cingha che collega il motore al compressore ovviamente dovrò raddrizzare e stabilizzare l'uscita della dinamo (che in realtà è un alternatore a 4 bobine) e qui mi servirà un bel aiuto so che ci vuole un ponte di greatz ed un condensatore di sicuro... ma dopo? che condensatore? che capacità? ci vuole qualche resistenza per "aiutare" il condensatore? A me pare un po' una cazzata questa
|
|
Kia Sorento = Oso nei Kart
|
|
|
Pagine: 1 [2] 3 4
|
|
|
|