Skip to main content

Topic: Arduino čitanje gyro-acc senzora (Read 3737 times) previous topic - next topic

0 Members and 1 Guest are viewing this topic.

Arduino čitanje gyro-acc senzora

Pozdrav,


pokušavam čitati vrijednosti sa ovog senzora: https://bit.ly/2lsSCSC ..ali nije mi jasno što griješim.


Pin VCC sam spojio na +, a GND na -
Ostalih 6 pinova koji su očito gryo stanja oko tri osi i acc stanja u smjeru tri osi ...njih sam spojio na A0, A1, A2, A3, A4, A5. Koji je od tih pinova točno koji senzor, nemam pojma...ali ne vidim niti bitnim, glavno da očitanja na ikoji način odreagiraju na "drmuckanje" senzorom.


Code sam koristio sljedeći:


Quote
const int x_pin = A0;                
const int y_pin = A1;               
const int z_pin = A2;        


int max_x=0;
int max_y=0;
int max_z=0;


void setup() {
  Serial.begin(9600);


}


void loop() {
 
  int x = analogRead(x_pin);
  int y = analogRead(y_pin);
  int z = analogRead(z_pin);


  if(millis()>1500){ //odgoda da ne razbijam glavu što se dešava sa stanjima senzora u inicijalnom stanju pokretanja programa
    if(x>max_x) max_x = x;
    if(y>max_y) max_y = y;
    if(z>max_z) max_z = z;
  }




  Serial.print("max x: ");
  Serial.print(max_x);
  Serial.print("\t max y: ");
  Serial.print(max_y);


  Serial.print("\t max z: ");
  Serial.print(max_z);


  Serial.println();


  delay(100);
}


Ispisujem samo max stanja senzora, jer na taj način lakše pratim u logu jel neki pokret senzora utjecao na outpute koje dobivam sa senzora.
I kao što vidite, pokušavam dokučiti zasada samo što kažu A0, A1 i A2. Ono što dobivam mi je zbunjujuće...konstantno dobivam stanja na sva tri INPUTA, otprilike:
max x: 692   max y: 691  max z: 691

Eventualno te brojke narastu do:
max x: 696   max y: 698  max z: 696


...a nisam dokučio iz kojeg razloga se popnu sa 691 na 696. Definitivno se ne popnu iz razloga što ja pomičem/rotiram/drmam senzor. A i da ja svojim naporima poguram te brojke...kakva bi to bila osjetljivost očitanja? Nikakva...




Prije nego sam zaglavio sa ovim senzorom, pokušao sam čitati stanja sa senzora: https://bit.ly/2n0ABM1 ..i u suštini isti vrag mi se dešavao. Ako se ne varam i tamo su bile brojke oko 700.
Na tom senzoru sam zaključio da možda neki vrag sa senzorom ne valja...ali sada kada mi se dešava isto sa ovim senzorom...očito ja nešto ne kužim. :/


Novi sam u ovoj igri, pa će biti da me neka glupost zeza.
Do sada sam uspješno čitao senzore tipa potencimetar i foto-dioda. ...ali ne znam kako sa ovima treba? Ako može tko pomoći, bit ću zahvalan.





Odg: Arduino čitanje gyro-acc senzora

Reply #2
Da, I2C je komunikacija, potrebni su odgovarajući libovi (#include)...može se kroz Arduino IDE složiti okruženje... ovdje ima primjera upotrebe zajedno sa kodovima:
https://create.arduino.cc/projecthub/search?q=6050
Damir

Odg: Arduino čitanje gyro-acc senzora

Reply #3
Ok, hvala vam. Čini se da su to smjernice koje mi fale :)

Odg: Arduino čitanje gyro-acc senzora

Reply #4
Možda bi brže napredovao u svom projektu s ovim:


https://www.ebay.com/itm/9DOF-Sensor-Module-3V-5V-IMU-AHRS-ITG3200-ITG3205-ADXL345-HMC5883L-F-DIY-Arduino/293219618992?hash=item44454050b0:g:u90AAOSwKqlddgg5


To je tzv. 9DOF modul koji na sebi osim senzora ima i atmel mikrokontroler, tako da je izlaz RS232, teoretski samo ga priključiš na napajanje i serijski port na kompu i stvar radi bez programiranja.
9DOF je zapravo 6DOF, sa dodanim magnetnim kompasom. Ima i varijanta sa senzorom tlaka (tj visine).
Taj modul ima primjenjene kalmanove filtere na očitane veličine, što je jako važno, jer su očitanja neupotrebljiva u sirovom obliku.
Ako koristiš arduino i senzore iz tvog posta, namučit ćeš se da dobiješ nešto smisleno.


Pozdrav
Outrage Fusion 50
Futaba T14SG

Odg: Arduino čitanje gyro-acc senzora

Reply #5
Pa zapravo projekta nema...prolazim redom example lekcije za arduino i usput se igram s komponentama koje imam doma. Pokupovao sam valjda sve senzore sa ebaya koji su po kikiriki cijeni bili, tako da se imam s čime igrati i proučavati materiju...a onda će i neki mrvu ozbiljniji projektići :) Zasad se pacaju ideje. :)


Tako da probleme koje susrećem, neka ih...jedino ako je baš besmisleno uparivati ovo dvoje? Al ionako ću to vjerovatno preskočiti zasad.


U tutorijalu su oni radili sa nekim drugim gyro senzorom koji ima analogne izlaze, ja imao ovog doma....mislio sam da je to sve isti/sličan vrag.


U čemu je fora da neki senzor ima analogne izlaze, a neki ne? Ako je netko raspoložen za podijeliti malo teorije. :)


Mislim, ovaj moj senzor isto ima 8 pinova...dva su +/- ...što im je falilo da ostalih 6 budu 3x gyro i 3x acc.
Konkretnije pitanje je, da li pristup arhitekture ovog senzora nosi neke određene prednosti...ili je takav jeftini za proizvesti...ili nešto treće?

Odg: Arduino čitanje gyro-acc senzora

Reply #6
P.S. zapravo bezveze pitam...lijepih stvari se da pročitati na Googleu :)

Odg: Arduino čitanje gyro-acc senzora

Reply #7
Svakako posjeti ovu stranicu:  https://randomnerdtutorials.com/  .. tamo se može naći o ovaj tutorijal: https://randomnerdtutorials.com/esp32-web-server-with-bme280-mini-weather-station/#more-69087
..što je lijep primjer rada sa I2C i jasan razlog zašto se ne isplati čitati analogne podatke, pa ih onda statistički "peglati" ako to već može obaviti i sam senzor ili neka biblioteka rutina (kako je Davor i naveo).

Ako koristiš Arduino Uno, Nano ili Mega, to su već zastarjeli kontroleri, bolje potroši još 5-6 baksi i nabavi ESP32 (može i jeftiniji 8266 ali taj ima burek od WiFija): to su kontroleri sa dual-core, sleep modom,WiFi, razina sposobnosti kao PC iz ranih 2000-tih, lako se importiraju u IDE, troše vrlo malo struje.

Ako si baš zapeo za analogne vrijednosti sa senzora, probaj sa UZV senzorom HC-SR04 čitati udaljenost: dobiti ćeš hrpu besmislenih vrijednosti sve dok ne primijeniš odgovarajuću biblioteku za "peglanje" rezultata,
recimo upotrebom funkcije "medijan" to postaje točno u centimetar!

Eto, želim ti puno zabave i uspjeha u ovom interesantnom području mikrokontrolera, IOT-a ..  ;)   !
Damir

Odg: Arduino čitanje gyro-acc senzora

Reply #8
Hvala na savjetima i željama :)