Igorx99 / instrumentacao_IFECO

0 stars 0 forks source link

esp32_acs712_micropython #1

Open Igorx99 opened 1 year ago

Igorx99 commented 1 year ago

import machine from machine import ADC, Pin import time from utime import ticks_ms, sleep_ms import os import sdcard SENSOR_PIN = 34

media = 0

Inicialização do pino ADC

adc = ADC(Pin(SENSOR_PIN)) i = 0 while True:

sensor_valor = adc.read()
# Converte o valor analógico em corrente (em A)
volts = (sensor_valor * 3.3) / 4095
corrente = (volts - 2.50) / 0.066
corrente = corrente + 5.40
if corrente <= 0.25:
    corrente = 0.0

print(round(corrente,2))
sleep_ms(1000)
Igorx99 commented 1 year ago

from machine import Pin import time from time import * import machine from machine import ADC, Pin import time from utime import ticks_ms, sleep_ms

pin_hall = Pin(14, mode=Pin.IN, pull=Pin.PULL_UP) pulsos = 0 rpm = 0

tempo_ant = time.ticks_ms() tempo_inicio = time.time() circunferencia_roda = 2 3.14 0.256 # Circunferência da roda em metros (ajuste de acordo com a roda do seu projeto) distancia = 0 # Distância percorrida em km velocidade = 0 # Velocidade em km/h velocidade_ant = 0 def tratador_interrupcao(p):

Ações a serem executadas quando o sinal do sensor Hall detectar uma borda de subida

            global pulsos, rpm, tempo_ant, tempo_inicio, circunferencia_roda, distancia, velocidade, velocidade_ant, parametro, tempo_diferenca

            tempo_atual = time.ticks_ms()
            tempo_diferenca = time.ticks_diff(tempo_atual, tempo_ant)/999  # Diferença de tempo em segundos
            tempo_ant = tempo_atual
            pulsos = pulsos + 1 

            velocidade = (circunferencia_roda / tempo_diferenca) * 3.6
            parametro = abs(velocidade_ant - velocidade)

            if parametro >= 1 and pulso != 0:
                velocidade = velocidade_ant

            # Velocidade em km/h
            print(round (velocidade, 2), "km/h        Anterior:  ", velocidade_ant)
            velocidade_ant = velocidade

while True: pulso = 0 pin_hall.irq(trigger=Pin.IRQ_RISING, handler=tratador_interrupcao)