SlideShare una empresa de Scribd logo
1 de 7
Descargar para leer sin conexión
Textul si imaginile din acest document sunt licentiate
Attribution-NonCommercial-NoDerivs
CC BY-NC-ND
Codul sursa din acest document este licentiat
Public-Domain
Esti liber sa distribui acest document prin orice mijloace consideri (email, publicare pe website /
blog, printare, sau orice alt mijloc), atat timp cat nu aduci nici un fel de modificari acestuia. Codul
sursa din acest document poate fi utilizat in orice fel de scop, de natura comerciala sau nu, fara
nici un fel de limitari.
http://www.robofun.ro/forum
Arduino UNO, senzor de indoire si servomotor
Senzorii de indoire sau senzorii flex au proprietatea de a isi modifica
rezistenta atunci cand sunt indoiti. Cu cat gradul de indoire este mai mare, cu
atat rezistenta creste mai mult. Senzorii sunt utilizati in manusi pentru a simti
miscarile degetelor, exemplu fiind manusa Nintendo Power Glove.
Senzorul poate fi folosit si in alte scopuri, cum ar fi, sa controlezi un
servomotor in functie de gradul de indoire.
Vei avea nevoie de urmatoarele componente:
• Arduino UNO
• Servomotor medium
• Senzor de indoire 11.4 cm brick (sau varianta mai mica de 5.5 cm)
• Breadboard
• Fire pentru conexiuni.
Servomotorul are un consum suficient de mic ca sa il poti alimenta direct
din Arduino. Firele servomotorului au urmatoarele semnificatii:
Firul negru – Gnd
Firul rosu – Vcc
Firul alb – PWM
Senzorul brick se conecteaza direct la portul analogic al lui Arduino.
Semnificatiile firelor sunt marcate pe placuta de cablaj:
http://www.robofun.ro/forum
Intern, placuta contine un rezistor de 10 K (sub plasticul rosu), circuitul
obtinut formand o configuratie de divizor de tensiune, ca mai jos. Ca sa il
utilizezi, tot ce ai de facut este sa conectezi fire la cei trei pini mama (avantajul
versiunii brick).
http://www.robofun.ro/forum
Tabelul de conexiuni:
Senzor indoire pin OUT Arduino analog A0
Senzor indoire pin Vcc Arduino 5V
Senzor indoire pin Gnd Arduino Gnd
Servomotor fir alb Arduino digital 7
Servomotor fir rosu Arduino 5V
Servomotor fir negru Arduino Gnd
Cum functioneaza?
La nivelul sketch-ului, Arduino citeste in mod repetat valori ale senzorului
de indoire si le utilizeaza in functia smooth() pentru a returna o valoare cat
mai aproape de cea reala deoarece senzorul, ca orice sistem electronic,
introduce erori - salturi de la o valoare la alta. Aceste salturi pot fi declansate
de miscari bruste ale senzorului sau de o indoire incorecta. Gradul de atenuare
al erorilor il controlezi din variabila filterVal. Pentru atenuarea maxima a
erorilor poti sa alegi valoarea 0.0001. Daca servomotorul devine incontrolabil
http://www.robofun.ro/forum
sau se deplaseaza brusc in pozitii aleatorii inseamna ca este afectat de erori.
Valoarea medie obtinuta (smoothedVal) este redimensionata prin functia
map() pentru a fi adaptata servomotorului si este mentinuta corect intre
valorile (0,179) prin functia constrain().
Valoarea medie si unghiul servomotorului sunt transmise si la monitorul
serial ca sa poti vedea usor cum variaza la indoirea senzorului.
Monitorul serial va arata ca mai jos.
In plus, vei vedea ca servomotorul se misca atunci cand indoi senzorul
intr-o parte sau in alta.
Daca vei folosi 5 senzori si 5 servomotoare, vei obtine ceva ca in acest
film: http://www.tehnorama.ro/animatronic-hand/ . Tot in link-ul anterior vei
vedea si cateva poze din procesul de fabricatie al degetelor.
http://www.robofun.ro/forum
Codul sursa.
#include <Servo.h>
Servo myservo;
int sensVal; // for raw sensor values
float filterVal = 0.0001; // this determines //smoothness - .0001
is max 1 is off (no smoothing)
float smoothedVal; // this holds the last loop value just use a
//unique variable for every different sensor that needs smoothing
void setup()
{
Serial.begin(9600);
myservo.attach(7);
}
void loop()
{
sensVal = analogRead(0);
smoothedVal = smooth(sensVal, filterVal, smoothedVal);
int pos = map(smoothedVal, 440, 545, 0, 179);
pos = constrain(pos, 0, 179);
myservo.write(pos);
Serial.print("Position: ");
Serial.print(pos);
Serial.print(" Smoothed value: ");
Serial.println(smoothedVal);
delay(50);
}
int smooth(int data, float filterVal, float smoothedVal){
if (filterVal > 1){ // check to make sure param's are within
range
filterVal = .99;
}
else if (filterVal <= 0){
filterVal = 0;
}
smoothedVal = (data * (1 - filterVal)) + (smoothedVal *
filterVal);
return (int)smoothedVal;
}
http://www.robofun.ro/forum

Más contenido relacionado

La actualidad más candente

Curs gratuitarduino lectia4-modalitati decomunicare
Curs gratuitarduino lectia4-modalitati decomunicareCurs gratuitarduino lectia4-modalitati decomunicare
Curs gratuitarduino lectia4-modalitati decomunicareIulius Bors
 
Curs gratuitarduino lectia1-arduinoblink
Curs gratuitarduino lectia1-arduinoblinkCurs gratuitarduino lectia1-arduinoblink
Curs gratuitarduino lectia1-arduinoblinkIulius Bors
 
Set prizecomandatedinarduino
Set prizecomandatedinarduinoSet prizecomandatedinarduino
Set prizecomandatedinarduinoIulius Bors
 
Arduino indicatoare cp-usiram
Arduino indicatoare cp-usiramArduino indicatoare cp-usiram
Arduino indicatoare cp-usiramIulius Bors
 
Curs gratuitarduino lectia5-accelerometre
Curs gratuitarduino lectia5-accelerometreCurs gratuitarduino lectia5-accelerometre
Curs gratuitarduino lectia5-accelerometreIulius Bors
 
Curs gratuitarduino lectia2-senzorianalogici
Curs gratuitarduino lectia2-senzorianalogiciCurs gratuitarduino lectia2-senzorianalogici
Curs gratuitarduino lectia2-senzorianalogiciIulius Bors
 
Curs gratuitarduino lectia3-proiectesimple-1
Curs gratuitarduino lectia3-proiectesimple-1Curs gratuitarduino lectia3-proiectesimple-1
Curs gratuitarduino lectia3-proiectesimple-1Iulius Bors
 
Asamblare statie meteo
Asamblare statie meteoAsamblare statie meteo
Asamblare statie meteoIulius Bors
 

La actualidad más candente (8)

Curs gratuitarduino lectia4-modalitati decomunicare
Curs gratuitarduino lectia4-modalitati decomunicareCurs gratuitarduino lectia4-modalitati decomunicare
Curs gratuitarduino lectia4-modalitati decomunicare
 
Curs gratuitarduino lectia1-arduinoblink
Curs gratuitarduino lectia1-arduinoblinkCurs gratuitarduino lectia1-arduinoblink
Curs gratuitarduino lectia1-arduinoblink
 
Set prizecomandatedinarduino
Set prizecomandatedinarduinoSet prizecomandatedinarduino
Set prizecomandatedinarduino
 
Arduino indicatoare cp-usiram
Arduino indicatoare cp-usiramArduino indicatoare cp-usiram
Arduino indicatoare cp-usiram
 
Curs gratuitarduino lectia5-accelerometre
Curs gratuitarduino lectia5-accelerometreCurs gratuitarduino lectia5-accelerometre
Curs gratuitarduino lectia5-accelerometre
 
Curs gratuitarduino lectia2-senzorianalogici
Curs gratuitarduino lectia2-senzorianalogiciCurs gratuitarduino lectia2-senzorianalogici
Curs gratuitarduino lectia2-senzorianalogici
 
Curs gratuitarduino lectia3-proiectesimple-1
Curs gratuitarduino lectia3-proiectesimple-1Curs gratuitarduino lectia3-proiectesimple-1
Curs gratuitarduino lectia3-proiectesimple-1
 
Asamblare statie meteo
Asamblare statie meteoAsamblare statie meteo
Asamblare statie meteo
 

Destacado

Raspberry pi lcd-shield20x4
Raspberry pi lcd-shield20x4Raspberry pi lcd-shield20x4
Raspberry pi lcd-shield20x4Iulius Bors
 
Arduino gyro stabilizator
Arduino gyro stabilizatorArduino gyro stabilizator
Arduino gyro stabilizatorIulius Bors
 
Raspberry pi wirelesshotspot
Raspberry pi wirelesshotspotRaspberry pi wirelesshotspot
Raspberry pi wirelesshotspotIulius Bors
 
Arduino yala electronicabazatapecodsecret
Arduino yala electronicabazatapecodsecretArduino yala electronicabazatapecodsecret
Arduino yala electronicabazatapecodsecretIulius Bors
 
Conector bluetoothmatesilver arduino-pc
Conector bluetoothmatesilver arduino-pcConector bluetoothmatesilver arduino-pc
Conector bluetoothmatesilver arduino-pcIulius Bors
 
Arduino wifi shield-drivermotoarel298
Arduino wifi shield-drivermotoarel298Arduino wifi shield-drivermotoarel298
Arduino wifi shield-drivermotoarel298Iulius Bors
 
Arduino multiplexarea le-durilor
Arduino multiplexarea le-durilorArduino multiplexarea le-durilor
Arduino multiplexarea le-durilorIulius Bors
 
Arduino uno rfidid-12
Arduino uno rfidid-12Arduino uno rfidid-12
Arduino uno rfidid-12Iulius Bors
 
Arduino releemodio2
Arduino releemodio2Arduino releemodio2
Arduino releemodio2Iulius Bors
 
Arduino shield wifi-monitorizarelocuinta
Arduino shield wifi-monitorizarelocuintaArduino shield wifi-monitorizarelocuinta
Arduino shield wifi-monitorizarelocuintaIulius Bors
 
Curs gratuitarduino lectia14-analogieelectricitatecurgereafluidelor-proiect-f...
Curs gratuitarduino lectia14-analogieelectricitatecurgereafluidelor-proiect-f...Curs gratuitarduino lectia14-analogieelectricitatecurgereafluidelor-proiect-f...
Curs gratuitarduino lectia14-analogieelectricitatecurgereafluidelor-proiect-f...Iulius Bors
 
Raspberry pi timelapse
Raspberry pi timelapseRaspberry pi timelapse
Raspberry pi timelapseIulius Bors
 
Raspberry pi firmata - arduino
Raspberry pi   firmata - arduinoRaspberry pi   firmata - arduino
Raspberry pi firmata - arduinoIulius Bors
 
Curs gratuitarduino lectia12-conexiunewifi-googledocs
Curs gratuitarduino lectia12-conexiunewifi-googledocsCurs gratuitarduino lectia12-conexiunewifi-googledocs
Curs gratuitarduino lectia12-conexiunewifi-googledocsIulius Bors
 
Arduino yun arduino-wifi-ethernet-linux
Arduino yun arduino-wifi-ethernet-linuxArduino yun arduino-wifi-ethernet-linux
Arduino yun arduino-wifi-ethernet-linuxIulius Bors
 

Destacado (18)

Raspberry pi lcd-shield20x4
Raspberry pi lcd-shield20x4Raspberry pi lcd-shield20x4
Raspberry pi lcd-shield20x4
 
Arduino gyro stabilizator
Arduino gyro stabilizatorArduino gyro stabilizator
Arduino gyro stabilizator
 
Arduino rtc
Arduino rtcArduino rtc
Arduino rtc
 
Arduino mod-gps
Arduino mod-gpsArduino mod-gps
Arduino mod-gps
 
Raspberry pi wirelesshotspot
Raspberry pi wirelesshotspotRaspberry pi wirelesshotspot
Raspberry pi wirelesshotspot
 
Arduino yala electronicabazatapecodsecret
Arduino yala electronicabazatapecodsecretArduino yala electronicabazatapecodsecret
Arduino yala electronicabazatapecodsecret
 
Conector bluetoothmatesilver arduino-pc
Conector bluetoothmatesilver arduino-pcConector bluetoothmatesilver arduino-pc
Conector bluetoothmatesilver arduino-pc
 
Arduino pid
Arduino pidArduino pid
Arduino pid
 
Arduino wifi shield-drivermotoarel298
Arduino wifi shield-drivermotoarel298Arduino wifi shield-drivermotoarel298
Arduino wifi shield-drivermotoarel298
 
Arduino multiplexarea le-durilor
Arduino multiplexarea le-durilorArduino multiplexarea le-durilor
Arduino multiplexarea le-durilor
 
Arduino uno rfidid-12
Arduino uno rfidid-12Arduino uno rfidid-12
Arduino uno rfidid-12
 
Arduino releemodio2
Arduino releemodio2Arduino releemodio2
Arduino releemodio2
 
Arduino shield wifi-monitorizarelocuinta
Arduino shield wifi-monitorizarelocuintaArduino shield wifi-monitorizarelocuinta
Arduino shield wifi-monitorizarelocuinta
 
Curs gratuitarduino lectia14-analogieelectricitatecurgereafluidelor-proiect-f...
Curs gratuitarduino lectia14-analogieelectricitatecurgereafluidelor-proiect-f...Curs gratuitarduino lectia14-analogieelectricitatecurgereafluidelor-proiect-f...
Curs gratuitarduino lectia14-analogieelectricitatecurgereafluidelor-proiect-f...
 
Raspberry pi timelapse
Raspberry pi timelapseRaspberry pi timelapse
Raspberry pi timelapse
 
Raspberry pi firmata - arduino
Raspberry pi   firmata - arduinoRaspberry pi   firmata - arduino
Raspberry pi firmata - arduino
 
Curs gratuitarduino lectia12-conexiunewifi-googledocs
Curs gratuitarduino lectia12-conexiunewifi-googledocsCurs gratuitarduino lectia12-conexiunewifi-googledocs
Curs gratuitarduino lectia12-conexiunewifi-googledocs
 
Arduino yun arduino-wifi-ethernet-linux
Arduino yun arduino-wifi-ethernet-linuxArduino yun arduino-wifi-ethernet-linux
Arduino yun arduino-wifi-ethernet-linux
 

Similar a Arduino flexsensorbrickbionicfinger

Arduino alcoolmetru
Arduino alcoolmetruArduino alcoolmetru
Arduino alcoolmetruIulius Bors
 
Arduino protocolul 1 wire
Arduino   protocolul 1 wireArduino   protocolul 1 wire
Arduino protocolul 1 wireIulius Bors
 
Arduino matriceled8x8
Arduino matriceled8x8Arduino matriceled8x8
Arduino matriceled8x8Iulius Bors
 
Curs gratuitarduino lectia11-muzicacuarduino
Curs gratuitarduino lectia11-muzicacuarduinoCurs gratuitarduino lectia11-muzicacuarduino
Curs gratuitarduino lectia11-muzicacuarduinoIulius Bors
 
Controlul unui motor pas cu pas
Controlul unui motor pas cu pasControlul unui motor pas cu pas
Controlul unui motor pas cu paskramactar
 
Despre automate programabile
Despre automate programabileDespre automate programabile
Despre automate programabileRomica Dilimot
 
Arduino gsmgprs-shield-partea-a-2-a
Arduino gsmgprs-shield-partea-a-2-aArduino gsmgprs-shield-partea-a-2-a
Arduino gsmgprs-shield-partea-a-2-aIulius Bors
 

Similar a Arduino flexsensorbrickbionicfinger (9)

Arduino alcoolmetru
Arduino alcoolmetruArduino alcoolmetru
Arduino alcoolmetru
 
Arduino protocolul 1 wire
Arduino   protocolul 1 wireArduino   protocolul 1 wire
Arduino protocolul 1 wire
 
Arduino matriceled8x8
Arduino matriceled8x8Arduino matriceled8x8
Arduino matriceled8x8
 
Arduino tv out
Arduino tv outArduino tv out
Arduino tv out
 
Curs gratuitarduino lectia11-muzicacuarduino
Curs gratuitarduino lectia11-muzicacuarduinoCurs gratuitarduino lectia11-muzicacuarduino
Curs gratuitarduino lectia11-muzicacuarduino
 
Arduino sht11
Arduino sht11Arduino sht11
Arduino sht11
 
Controlul unui motor pas cu pas
Controlul unui motor pas cu pasControlul unui motor pas cu pas
Controlul unui motor pas cu pas
 
Despre automate programabile
Despre automate programabileDespre automate programabile
Despre automate programabile
 
Arduino gsmgprs-shield-partea-a-2-a
Arduino gsmgprs-shield-partea-a-2-aArduino gsmgprs-shield-partea-a-2-a
Arduino gsmgprs-shield-partea-a-2-a
 

Más de Iulius Bors

Raspberry piuln2803
Raspberry piuln2803Raspberry piuln2803
Raspberry piuln2803Iulius Bors
 
Raspberry pi bmp085blueedition
Raspberry pi bmp085blueeditionRaspberry pi bmp085blueedition
Raspberry pi bmp085blueeditionIulius Bors
 
Programare in prolog_pentru_inteligenta_artificiala
Programare in prolog_pentru_inteligenta_artificialaProgramare in prolog_pentru_inteligenta_artificiala
Programare in prolog_pentru_inteligenta_artificialaIulius Bors
 
Curs gratuitarduino lectia15-seismografcuexcel
Curs gratuitarduino lectia15-seismografcuexcelCurs gratuitarduino lectia15-seismografcuexcel
Curs gratuitarduino lectia15-seismografcuexcelIulius Bors
 
Curs gratuitarduino lectia13-mousesitastatura
Curs gratuitarduino lectia13-mousesitastaturaCurs gratuitarduino lectia13-mousesitastatura
Curs gratuitarduino lectia13-mousesitastaturaIulius Bors
 
Curs gratuitarduino lectia10-lcd-uri
Curs gratuitarduino lectia10-lcd-uriCurs gratuitarduino lectia10-lcd-uri
Curs gratuitarduino lectia10-lcd-uriIulius Bors
 
Curs gratuitarduino lectia8-comunicareethernet
Curs gratuitarduino lectia8-comunicareethernetCurs gratuitarduino lectia8-comunicareethernet
Curs gratuitarduino lectia8-comunicareethernetIulius Bors
 
Cum instaleziapachesimysql peraspberrypi
Cum instaleziapachesimysql peraspberrypiCum instaleziapachesimysql peraspberrypi
Cum instaleziapachesimysql peraspberrypiIulius Bors
 

Más de Iulius Bors (8)

Raspberry piuln2803
Raspberry piuln2803Raspberry piuln2803
Raspberry piuln2803
 
Raspberry pi bmp085blueedition
Raspberry pi bmp085blueeditionRaspberry pi bmp085blueedition
Raspberry pi bmp085blueedition
 
Programare in prolog_pentru_inteligenta_artificiala
Programare in prolog_pentru_inteligenta_artificialaProgramare in prolog_pentru_inteligenta_artificiala
Programare in prolog_pentru_inteligenta_artificiala
 
Curs gratuitarduino lectia15-seismografcuexcel
Curs gratuitarduino lectia15-seismografcuexcelCurs gratuitarduino lectia15-seismografcuexcel
Curs gratuitarduino lectia15-seismografcuexcel
 
Curs gratuitarduino lectia13-mousesitastatura
Curs gratuitarduino lectia13-mousesitastaturaCurs gratuitarduino lectia13-mousesitastatura
Curs gratuitarduino lectia13-mousesitastatura
 
Curs gratuitarduino lectia10-lcd-uri
Curs gratuitarduino lectia10-lcd-uriCurs gratuitarduino lectia10-lcd-uri
Curs gratuitarduino lectia10-lcd-uri
 
Curs gratuitarduino lectia8-comunicareethernet
Curs gratuitarduino lectia8-comunicareethernetCurs gratuitarduino lectia8-comunicareethernet
Curs gratuitarduino lectia8-comunicareethernet
 
Cum instaleziapachesimysql peraspberrypi
Cum instaleziapachesimysql peraspberrypiCum instaleziapachesimysql peraspberrypi
Cum instaleziapachesimysql peraspberrypi
 

Arduino flexsensorbrickbionicfinger

  • 1.
  • 2. Textul si imaginile din acest document sunt licentiate Attribution-NonCommercial-NoDerivs CC BY-NC-ND Codul sursa din acest document este licentiat Public-Domain Esti liber sa distribui acest document prin orice mijloace consideri (email, publicare pe website / blog, printare, sau orice alt mijloc), atat timp cat nu aduci nici un fel de modificari acestuia. Codul sursa din acest document poate fi utilizat in orice fel de scop, de natura comerciala sau nu, fara nici un fel de limitari. http://www.robofun.ro/forum
  • 3. Arduino UNO, senzor de indoire si servomotor Senzorii de indoire sau senzorii flex au proprietatea de a isi modifica rezistenta atunci cand sunt indoiti. Cu cat gradul de indoire este mai mare, cu atat rezistenta creste mai mult. Senzorii sunt utilizati in manusi pentru a simti miscarile degetelor, exemplu fiind manusa Nintendo Power Glove. Senzorul poate fi folosit si in alte scopuri, cum ar fi, sa controlezi un servomotor in functie de gradul de indoire. Vei avea nevoie de urmatoarele componente: • Arduino UNO • Servomotor medium • Senzor de indoire 11.4 cm brick (sau varianta mai mica de 5.5 cm) • Breadboard • Fire pentru conexiuni. Servomotorul are un consum suficient de mic ca sa il poti alimenta direct din Arduino. Firele servomotorului au urmatoarele semnificatii: Firul negru – Gnd Firul rosu – Vcc Firul alb – PWM Senzorul brick se conecteaza direct la portul analogic al lui Arduino. Semnificatiile firelor sunt marcate pe placuta de cablaj: http://www.robofun.ro/forum
  • 4. Intern, placuta contine un rezistor de 10 K (sub plasticul rosu), circuitul obtinut formand o configuratie de divizor de tensiune, ca mai jos. Ca sa il utilizezi, tot ce ai de facut este sa conectezi fire la cei trei pini mama (avantajul versiunii brick). http://www.robofun.ro/forum
  • 5. Tabelul de conexiuni: Senzor indoire pin OUT Arduino analog A0 Senzor indoire pin Vcc Arduino 5V Senzor indoire pin Gnd Arduino Gnd Servomotor fir alb Arduino digital 7 Servomotor fir rosu Arduino 5V Servomotor fir negru Arduino Gnd Cum functioneaza? La nivelul sketch-ului, Arduino citeste in mod repetat valori ale senzorului de indoire si le utilizeaza in functia smooth() pentru a returna o valoare cat mai aproape de cea reala deoarece senzorul, ca orice sistem electronic, introduce erori - salturi de la o valoare la alta. Aceste salturi pot fi declansate de miscari bruste ale senzorului sau de o indoire incorecta. Gradul de atenuare al erorilor il controlezi din variabila filterVal. Pentru atenuarea maxima a erorilor poti sa alegi valoarea 0.0001. Daca servomotorul devine incontrolabil http://www.robofun.ro/forum
  • 6. sau se deplaseaza brusc in pozitii aleatorii inseamna ca este afectat de erori. Valoarea medie obtinuta (smoothedVal) este redimensionata prin functia map() pentru a fi adaptata servomotorului si este mentinuta corect intre valorile (0,179) prin functia constrain(). Valoarea medie si unghiul servomotorului sunt transmise si la monitorul serial ca sa poti vedea usor cum variaza la indoirea senzorului. Monitorul serial va arata ca mai jos. In plus, vei vedea ca servomotorul se misca atunci cand indoi senzorul intr-o parte sau in alta. Daca vei folosi 5 senzori si 5 servomotoare, vei obtine ceva ca in acest film: http://www.tehnorama.ro/animatronic-hand/ . Tot in link-ul anterior vei vedea si cateva poze din procesul de fabricatie al degetelor. http://www.robofun.ro/forum
  • 7. Codul sursa. #include <Servo.h> Servo myservo; int sensVal; // for raw sensor values float filterVal = 0.0001; // this determines //smoothness - .0001 is max 1 is off (no smoothing) float smoothedVal; // this holds the last loop value just use a //unique variable for every different sensor that needs smoothing void setup() { Serial.begin(9600); myservo.attach(7); } void loop() { sensVal = analogRead(0); smoothedVal = smooth(sensVal, filterVal, smoothedVal); int pos = map(smoothedVal, 440, 545, 0, 179); pos = constrain(pos, 0, 179); myservo.write(pos); Serial.print("Position: "); Serial.print(pos); Serial.print(" Smoothed value: "); Serial.println(smoothedVal); delay(50); } int smooth(int data, float filterVal, float smoothedVal){ if (filterVal > 1){ // check to make sure param's are within range filterVal = .99; } else if (filterVal <= 0){ filterVal = 0; } smoothedVal = (data * (1 - filterVal)) + (smoothedVal * filterVal); return (int)smoothedVal; } http://www.robofun.ro/forum