- Pret redus
![Senzor de viteza infrarosu (cititor encoder) Senzor de viteza infrarosu (cititor encoder)](https://ardushop.ro/11330-large_default/senzor-de-viteza-infrarosu-cititor-encoder.jpg)
Preț de la 10.27 LEI
Ridică-ți comenzile când vrei tu!
Comandă până la ora 14:00 și expediem astăzi coletul
Produse sigure, fără griji!
Produse nefolosite? Retur fără întrebări!
Modul bazat pe senzor optic infrarosu si comparator LM393 utilizat pe scala larga în detectarea vitezei, numararea impulsurilor, etc.
Tensiune de functionare: 3.3V ;
Foloseste comparator LM393 cu tensiune mare;
Tip de iesire: ieșire digitala (0 și 1) si analogica;
DO: iesire digitala;
AO: Iesire analogica;
Dimensiuni pcb: 32.2 x 14.2
Distanta intre brate: 4.7mm
Inaltime totala modul (aprox.): 12.6 [mm]
Pentru realizarea acestui exemplu de conectare aveti nevoie de o placa de dezvoltare UNO || Referinta: TXVMOK_DB-UNO-R3
1.Faceti urmatoarele legaturi intre modulul L9110 si placa UNO:
Encoder __________ UNO
GND __________ GND
VCC __________ 3.3V
A0 __________ D2
2. Conectati placa UNO la un PC
3. Instalati libraria Encoder din sectiunea descarcari
4. Incarcati codul de mai jos:
int encoder_pin = 2; // The pin the encoder is connected
unsigned int rpm; // rpm reading
volatile byte pulses; // number of pulses
unsigned long timeold;
// The number of pulses per revolution
// depends on your index disc!!
unsigned int pulsesperturn = 20;
void counter()
{
//Update count
pulses++;
}
void setup()
{
Serial.begin(9600);
//Use statusPin to flash along with interrupts
pinMode(encoder_pin, INPUT);
//Interrupt 0 is digital pin 2, so that is where the IR detector is connected
//Triggers on FALLING (change from HIGH to LOW)
attachInterrupt(0, counter, FALLING);
// Initialize
pulses = 0;
rpm = 0;
timeold = 0;
}
void loop()
{
if (millis() - timeold >= 1000) { /*Uptade every one second, this will be equal to reading frecuency (Hz).*/
//Don't process interrupts during calculations
detachInterrupt(0);
//Note that this would be 60*1000/(millis() - timeold)*pulses if the interrupt
//happened once per revolution
rpm = (60UL * 1000 / pulsesperturn ) / (millis() - timeold) * pulses;
timeold = millis();
pulses = 0;
//Write it out to serial port
Serial.print("RPM = ");
Serial.println(rpm, DEC);
//Restart the interrupt processing
attachInterrupt(0, counter, FALLING);
}
}
1x Senzor de viteza infrarosu (cititor encoder)
Aprecierea ta pentru recenzie nu a putut fi trimisa
Reclama un comentariu
Raport trimis
Reclamatia tau nu a putut fi trimisa
Scrie-ti recenzia
Recenzia a fost trimisa
Recenzia ta nu a putut fi trimisa
Referinta: NEWWMQ_BMS_10S_15A
Referinta: ETZPMN_RPI_RELAY8
Producător: Raspberry Pi
check_circle
check_circle