Ovdje pročitajte kako se registrirati na forum.

Croduino interferencija

Zapeli ste s projektom? Ovdje je pravo mjesto za postaviti pitanje. Imajte na umu da ekipa e-radionice neće uvijek i/ili redovno odgovarati na pitanja postavljena u ovom podforumu.
lukazikaovic#4242
Novak
Novak
Postovi: 10
Pridružen/a: čet tra 18, 2019 1:27 am

Re: Croduino interferencija

Post Postao/la lukazikaovic#4242 » pon tra 29, 2019 10:18 pm

Zahvaljujem puno na vremenu..
U vašem slučaju korišten je relejni drajver koji koliko vidim u datasheetu nije optički izoliran tako da u vašem slučaju čak razumijem na koji način su smetnje uspile doc do arduina.
Također u vašem slučaju koristite naredbu delay koji za vrijeme trajanja blokira arduino u njegovom radu tako da je moguće da smetnja ne može negativno utjecat na arduino.
U mom slučaju arduino konstantno provjerava svih 10 prekidača i neka interferencija bi zaobišla uvjet ulaska u if petlju i petlja bi se izvrsila iako botun nije pritisnut.
također dosta je teško nešto takvo testirat ako nema priključenih više releja koji se nebi smjeli upalit za vrijeme trajanja smetnji.

Zahvaljujem puno na ovom eksperimentu, stvarno me zanimalo kako smetnje izgledaju na osciloskopu.Možda za neki drugi projekt iskoristim ovaj način spajanja releja tj da sam napravim relejni modul.
Avatar
haluzanpavao#6439
Novak
Novak
Postovi: 23
Pridružen/a: sri lip 13, 2018 12:19 pm

Re: Croduino interferencija

Post Postao/la haluzanpavao#6439 » pon tra 29, 2019 11:58 pm

u jednom od mojih projekata koristio sam čitanje analognog pina za kontrolu tipki,to je izgledalo ovako:

Kod: Označite sve

int CitajTipku()
{
   R2= analogRead(ReadKeyPin);// Ovdije čitam tipkovnicu sa ADC 3 pina
   R2= R2+analogRead(ReadKeyPin);// to ponavljam 10 puta da anuliram greške čitanja
   R2= R2+analogRead(ReadKeyPin);
   R2= R2+analogRead(ReadKeyPin);
   R2= R2+analogRead(ReadKeyPin);
   R2= R2+analogRead(ReadKeyPin);
   R2= R2+analogRead(ReadKeyPin);
   R2= R2+analogRead(ReadKeyPin);
   R2= R2+analogRead(ReadKeyPin);
   R2= R2+analogRead(ReadKeyPin);
   R2= R2/10;                     // zbroj djelim sa 10 da ponovo dobijem realni broj
              if (R2 > 800) { R2=0;goto CitajTipkuVan;} // u odnosu na pročitani broj definiram tipku
              if (R2 > 399) { R2=5; goto CitajTipkuVan;}   
              if (R2 > 300) { R2=4; goto CitajTipkuVan;}   
              if (R2 > 200) { R2=3; goto CitajTipkuVan;}   
              if (R2 > 120) { R2=2; goto CitajTipkuVan;}   
              R2=1 ;  
CitajTipkuVan:
      return (R2);
}
Projekt o kojem govorim je na ovom linku viewtopic.php?f=15&t=72
Pokušaj prilagoditi svojoj potrebi
Pozdrav
Odgovorite