본문 바로가기
  • 인공지능
  • 블록체인
  • 정보보안
신기술분석/사물인터넷

ACS712ELCTR-05A 전류 센서 모듈 설치

by nathan03 2023. 11. 5.
반응형

ACS712ELCTR-05A

CS712ELCTR-05A 전류 센서 모듈을 아두이노에 연결하는 방법은 비교적 간단합니다. 아래는 일반적인 연결 방법입니다.

전원 연결:

모듈의 VCC 핀을 아두이노의 5V 핀에 연결합니다.
모듈의 GND 핀을 아두이노의 GND 핀에 연결합니다.
신호 연결:

모듈의 OUT 핀을 아두이노의 아날로그 핀(A0, A1, 등) 중 하나에 연결합니다.
이후 연결이 완료되면, 아두이노 코드를 사용하여 아날로그 입력 핀에서 전류 값을 읽을 수 있습니다. 아래는 간단한 예제 코드입니다.

 

const int analogInPin = A0; // 전류 센서 신호 핀
int sensorValue = 0; // 센서 값

void setup() {
  Serial.begin(9600); // 시리얼 통신 시작
}

void loop() {
  // 아날로그 입력 값을 읽음 (0-1023 사이 값)
  sensorValue = analogRead(analogInPin);

  // 전류 값으로 변환 (센서의 출력 값과 연관하여 계산 필요)
  float voltage = sensorValue * (5.0 / 1023.0); // 아두이노 5V 기준
  float current = (voltage - 2.5) / 0.185; // 0.185는 센서의 감도에 따라 다를 수 있음

  // 시리얼 모니터에 출력
  Serial.print("전류 (mA): ");
  Serial.println(current * 1000); // mA로 변환하여 출력

  delay(1000); // 1초마다 샘플링
}

 

라즈베리 파이에 ACS712ELCTR-05A 전류 센서 모듈을 연결하는 방법은 아두이노와 유사합니다. 
여기에는 라즈베리 파이에 연결하는 간단한 방법이 있습니다.

전원 연결:

모듈의 VCC 핀을 라즈베리 파이의 5V 핀에 연결합니다.
모듈의 GND 핀을 라즈베리 파이의 GND 핀에 연결합니다.
아날로그 입력 연결:

모듈의 OUT 핀을 라즈베리 파이의 아날로그 입력에 연결합니다. 라즈베리 파이에는 아날로그 핀이 없으므로 ADC(아날로그-디지털 변환기) 모듈을 사용하여 아날로그 값을 디지털 값으로 변환해야 합니다.
ADC 모듈 사용:

MCP3008 또는 ADS1015와 같은 ADC 모듈을 사용하여 아날로그 값을 라즈베리 파이에서 읽을 수 있습니다. 이 모듈을 사용하면 아날로그 값을 디지털 값으로 변환할 수 있습니다.
라즈베리 파이에서 Python을 사용하여 ADC 모듈과 상호 작용하여 전류 값을 읽어올 수 있습니다. 필요한 경우 해당 ADC 모듈에 대한 라이브러리를 설치하고 라즈베리 파이에서 해당 라이브러리를 사용하여 ADC 값을 읽어올 수 있습니다.

 

import time
import board
import busio
import digitalio
import adafruit_ads1x15.ads1015 as ADS
from adafruit_ads1x15.analog_in import AnalogIn

# SPI 버스 초기화
spi = busio.SPI(clock=board.SCK, MISO=board.MISO, MOSI=board.MOSI)

# ADC 초기화
ads = ADS.ADS1015(spi, 0x48)
chan = AnalogIn(ads, ADS.P0)

while True:
    # 아날로그 값을 읽어서 전압으로 변환
    voltage = chan.voltage

    # 센서 값을 전류 값으로 변환 (센서의 출력 값과 연관하여 계산 필요)
    sensitivity = 0.185  # 센서 감도
    offset_voltage = 2.5  # 오프셋 전압
    current = (voltage - offset_voltage) / sensitivity

    # 전류 값을 출력
    print('전류 (mA): {0}'.format(current * 1000))  # mA로 변환하여 출력

    time.sleep(1)  # 1초마다 샘플링

 

반응형

댓글