To LUGNET HomepageTo LUGNET News HomepageTo LUGNET Guide Homepage
 Help on Searching
 
Post new message to lugnet.loc.itOpen lugnet.loc.it in your NNTP NewsreaderTo LUGNET News Traffic PageSign In (Members)
 Local / Italia / 10054
10053  |  10055
Subject: 
R: rotation sensor
Newsgroups: 
lugnet.loc.it
Date: 
Sun, 23 Dec 2001 14:04:47 GMT
Viewed: 
246 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
    

Custom Search

©2005 LUGNET. All rights reserved. - hosted by steinbruch.info GbR