Subject:
|
R: rotation sensor
|
Newsgroups:
|
lugnet.loc.it
|
Date:
|
Sun, 23 Dec 2001 14:04:47 GMT
|
Viewed:
|
343 times
|
| |
| |
Grazie per la dritta, ma non funziona neppure questo! Forse sul tuo sì,
(chissà, io ho un RIS 1.5 aggiornato alla "beta" 2)ma sul mio sortisce un
effetto simile al precedente prg, con la differenza che parte da un valore
del contatore (sempre -20, chissà), azionando il motore ad intermittenza (il
wait(10)), e si ferma solo se torno sotto il -20!!
Il problema è (penso) che lui, anzi, esso, legge il rotation solo una volta,
poi continua a confrontarlo, ed ovviamente la reazione è sempre la stessa.
Effettivamente riaggiornare il valore di sens dovrebbe essere la soluzione,
ma a questo punto non so proprio. Sai se in rete c'è qualche tutorial in
merito, oppure un po' di esempi simili?
Oppure è il mio rotation che è rotto? eppure sul display , quando faccio
view, mi fa vedere tutti i valori correttamente durante la rotazione!
Comunque, quello che vorrei fare è un sistema di livellamento, per mantenere
orizzontale una piattaforma al variare dell'inclinazione del braccio su cui
è montata. Ovviamente non voglio usare bracci e braccetti, insomma, sennò
che divertimento c'è? ;) eppoi il braccio è telescopico, quindi il sistema
del quadrilatero è inutilizzabile.
se hai qualche illuminazione fammi sapere - intanto io macino
ciao
Giulio Ferrari <giuliof@iol.it> wrote in message 3C25BBBD.1C33F27F@iol.it...
> SteP wrote:
>
> > Chi mi può - ehm- aiutare col NQC? Vorrei fare la seguente routine: quando
> > il sensore di rotazione legge un incremento (decremento) di angolo, aziona
> > il motore per qualche ms.
>
> int sens;
>
> task main()
> {
> SetSensor(SENSOR_1,SENSOR_ROTATION);
> sens == SENSOR_1;
> while (true)
> {
> if (SENSOR_1 > sens)
> {
> OnFwd(OUT_A);
> Wait(10); // aspetta un decimo
> Off(OUT_A);
> sens == SENSOR_1;
> }
> else if (SENSOR_1 < sens)
> {
> OnRev(OUT_C);
> Wait(10); // aspetta un decimo
> Off(OUT_C);
> sens == SENSOR_1;
> }
> }
> }
>
>
> Questo dovrebbe andare meglio. A seconda di quello che vuoi fare, però, si
> possono inserire controlli e procedure più specifiche..
>
> Ciao
> Giulio
>
>
>
|
|
Message has 1 Reply: | | Re: rotation sensor
|
| Ciao SteP, Non uso molto NQC ma il programma inviato da Giulio mi pare quasi corretto, tranne un piccolo dettaglio: come nella tua prima versione il codice contiene degli assegnamenti scritti in questo modo sens == SENSOR_1; Non so se sia un (...) (23 years ago, 24-Dec-01, to lugnet.loc.it)
|
Message is in Reply To:
| | Re: rotation sensor
|
| (...) int sens; task main() { SetSensor(SENSOR_1,S...ROTATION); sens == SENSOR_1; while (true) { if (SENSOR_1 > sens) { OnFwd(OUT_A); Wait(10); // aspetta un decimo Off(OUT_A); sens == SENSOR_1; } else if (SENSOR_1 < sens) { OnRev(OUT_C); Wait(10); (...) (23 years ago, 23-Dec-01, to lugnet.loc.it)
|
6 Messages in This Thread:
- Entire Thread on One Page:
- Nested:
All | Brief | Compact | Dots
Linear:
All | Brief | Compact
This Message and its Replies on One Page:
- Nested:
All | Brief | Compact | Dots
Linear:
All | Brief | Compact
|
|
|
|