Arduino - Zapojení Hallového Senzoru
Moderátor: Moderátoři
Arduino - Zapojení Hallového Senzoru
Ahoj, koupil jsem tento modul (Hallův Senzor Magnetický Indukční Snímač Arduino Modul).
http://robotstore.cz/obchod/arduino/hal ... ino-modul/
Jenže nemůžu najít kam se zapojuje třetí PIN (S) zda do analogového nebo digitálního vstupu. Poradí někdo? Děkuji
http://robotstore.cz/obchod/arduino/hal ... ino-modul/
Jenže nemůžu najít kam se zapojuje třetí PIN (S) zda do analogového nebo digitálního vstupu. Poradí někdo? Děkuji
Děkuji za informaci.hakamusai píše:Dva jsou napájení a třetí signál.Jakej je tam hall? Určitě digitální.
Tady jsem našel kód
https://github.com/animeshshastry/motor ... /hall3.ino
problém je v tom, že je to pro analog.
Kód: Vybrat vše
//this code measures the difference between two rising edges of the digitalised signal coming from hall sensor and then prints the rpm.
//pin A0 is the signal pin
int refsig=200;//for converting the analog signal coming from hall sensor to digital through arduino code
int val;//the digital value of the incoming analog signals
int prev_val=0;
unsigned long t,cur_t;//time variables
void setup()
{
Serial.begin(115200);
pinMode(A0,INPUT);
}
void loop()//Measure RPM
{
int sig=analogRead(A0);//read raw value of hall sensor
if(sig>refsig) val=HIGH;//convert it to digital 0,1 form
else val=LOW;
if(prev_val==0 && val==1) {//check for rising edge
cur_t=micros();
Serial.println(1000000*60/(cur_t-t));//print the rpm
t=micros();
}
prev_val=val;
}
PS: Jak mám v kódu poznat, že se to má připojit na analog nebo digital vstup? Vždy je tam jen číslo. Tím nemyslím tento kód. Díky
Myslíš tohle?misocko píše:hall je digital
pichni ho kam chces , aj analogove vstupy sa daju pouzit ako digitalne vstupy, dokonca aj ako digitalne vystupy
inac v datasheete ktory Ty nemozes najst , a nachadza sa na stranke ktoru si prilozil (nasiel som behom asi 10sec) je pichnuty do pinu 3
int inputPin = 3; // Connect sensor to input pin 3
jenže tam už není uvedeno zda je to PIN Analog nebo Digital
Špatně jsem se díval, je to opravdu tak jak říkáš, díky a omlouvám se.
Zapojení tedy znám ale co ten kód. Ani ten co je v tom manuálu nefunguje, i když nepřiložím magnet, led dioda stále bliká, poslal jsem data na serial.print jako 0 = normal stav a 1 = detekce magnetu. Výsledek není jen 000000000000000 ale jsou tam i jedničky 0000000000110000111110000000111111111111111 a magnet jsem vůbec nepřiložil![Sad :-(](./images/smilies/icon_sad.gif)
Zapojení tedy znám ale co ten kód. Ani ten co je v tom manuálu nefunguje, i když nepřiložím magnet, led dioda stále bliká, poslal jsem data na serial.print jako 0 = normal stav a 1 = detekce magnetu. Výsledek není jen 000000000000000 ale jsou tam i jedničky 0000000000110000111110000000111111111111111 a magnet jsem vůbec nepřiložil
![Sad :-(](./images/smilies/icon_sad.gif)
Jen pro upřesnění ať něco neodpálím, zcela odpojím ten Hall modul a vCowley píše:Kod vypada v poradku, zkus si propojkou propojit vstup 3 nejprve s GND a nasimulovat jeden stav, potom si propojkou mezi vstupem 3 a +5V nasimuluj druhy stav.
- Arduinu na digitální vstup č.3 připojím GND a spustím kód
a potom
- Arduinu na digitální vstup č.3 připojím +5V a spustím kód
Pochopil jsem to dobře? Díky
- pocitujlasku
- Příspěvky: 1757
- Registrován: 12 pro 2005, 01:00
Omlouvám se ale nerozumím otázce, můžeš mi to prosím trochu přiblížit? Začínám ![Sad :(](./images/smilies/icon_sad.gif)
Kód mám takto
![Sad :(](./images/smilies/icon_sad.gif)
Kód mám takto
Kód: Vybrat vše
int inputPin = 3;
int val = 0;
void setup()
{
pinMode(inputPin, INPUT);
Serial.begin ( 9600 ) ;
}
void loop()
{
val = digitalRead(inputPin);
if (val == HIGH)
{
Serial.print(HIGH);
} else {
Serial.print(LOW);
}
}
Naposledy upravil(a) janpav dne 18 kvě 2017, 13:44, celkem upraveno 1 x.
Odpoj hall, nahraj tam kod podle prvniho odkazu .
Arduino nech pripojene na USB od PC a
propojkou ze vstupu 3 nejprve prijpoj GND (to je jeden stav) a potom ji odpoj a spoj vstup 3 na plus 5V.
Tak jak bude v Arduino bezet program, bude bud trvale svitit nebo bude trvale zhasla LED na zakladni desce Arduino, ktera je interne zapojena jako vystup 13. (U desky UNO, Mega)
Arduino nech pripojene na USB od PC a
propojkou ze vstupu 3 nejprve prijpoj GND (to je jeden stav) a potom ji odpoj a spoj vstup 3 na plus 5V.
Tak jak bude v Arduino bezet program, bude bud trvale svitit nebo bude trvale zhasla LED na zakladni desce Arduino, ktera je interne zapojena jako vystup 13. (U desky UNO, Mega)
Díky moc. Tady jsou výsledkyCowley píše:Odpoj hall, nahraj tam kod podle prvniho odkazu .
Arduino nech pripojene na USB od PC a
propojkou ze vstupu 3 nejprve prijpoj GND (to je jeden stav) a potom ji odpoj a spoj vstup 3 na plus 5V.
Tak jak bude v Arduino bezet program, bude bud trvale svitit nebo bude trvale zhasla LED na zakladni desce Arduino, ktera je interne zapojena jako vystup 13. (U desky UNO, Mega)
Výsledek s modulem
1100111100011100011110001110001110001111000
Výsledek bez modulu pin 3 => GND
0000000000000000000000000000000000000000000
Výsledek bez modulu pin 3 => +5V
1111111111111111111111111111111111111111111
Vyplívá z toho, že je modul vadný?