Sensores

Relacionado com: [HW] Módulo de Sensores

Esta biblioteca contém funções para uso de diferentes sensores do kit HomeLab.

Tipos

  • ir_distance_sensor

Estrutura dos parâmetros de cálculo de distância do sensor de distância por infravermelhos. A fórmula para o cálculo da distância é a / (ADC + b) - k. Membros da estrutura:

  • a - Dividendo.
  • b - Constante não-linear.
  • k - Constante de linearização.

Constantes

  • ir_distance_sensor GP2Y0A21YK

Sharp GP2Y0A21YK distance calculation formula parameters.

Funções

  • signed short thermistor_calculate_celsius(unsigned short adc_value)

Calcula a temperatura do termómetro em graus Celsius a partir do resultado de conversão do ADC. As funções usam uma tabela de conversão pré-calculada. Parâmetros:

  • adc_value - Resultado da conversão ADC (10 bits com voltagem de referência de +5 V).
  • Devolve a temperatura em graus Celsius entre -20 e 100 graus.
  • signed short ir_distance_calculate_cm(ir_distance_sensor sensor, unsigned short adc_value)

Calcula a distância a partir do resultado do ADC, recebido da voltagem do sensor de distância por infravermelhos. Parâmetros:

  • sensor - Parâmetros de cálculo do sensor de distância.
  • adc_value - Resultado da conversão ADC (10 bits com voltagem de referência de +5 V).
  • Devolve a distância em centímetros ou -1 se esta não pode ser calculada.
  • unsigned short ultrasonic_measure_srf04(pin trigger, pin echo)

Mede a distância com o sensor ultrasónico SRF04. A função gera um pulso num pin e mede o tempo do pulso de eco noutro pin. A distância é calculada a partir da diferença de tempo. A função espera uma frequência de relógio de 14.7456 MHz. A medição pode demorar até 36 ms. Parâmetros:

  • trigger - Variável do pin de triggering.
  • echo - Variável do pin de eco.
  • Devolve a distância em centímetros ou 0 quando a medição falha.
  • unsigned short ultrasonic_measure_srf05(pin trigger_echo)

Mede a distância com o sensor ultrasónico SRF05 no regime de um fio. A função gera um pulso num pin e mede o tempo do pulso de eco no mesmo pin. A distância é calculada a partir da diferença de tempo. A função espera uma frequência de relógio de 14.7456 MHz. A medição pode demorar até 36 ms. Parâmetros:

  • trigger_echo - Variável combinada de pin Trigger/Eco.
  • Devolve a distância em centímetros ou 0 quando a medição falha.

Exemplo

O programa que se segue demonstra a utilização de sensores de distância IR e ultrasónico SRF05.

#include <homelab/module/sensors.h>
 
// Ultrasonic distance sensor control pins.
pin pin_triggerecho    = PIN(G, 0);
 
int main(void)
{
	unsigned short adc_value = 400; // random ADC result.
	signed short distance;
 
	// Distance calculation from IR distance sensor ADC result.
	distance = ir_distance_calculate_cm(GP2Y0A21YK, adc_value);
 
	// Measuring with ultrasonic distance sensor.
	distance = ultrasonic_measure_srf05(pin_triggerecho);
}
pt/software/homelab/library/module/sensor.txt · Last modified: by 127.0.0.1
CC Attribution-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0