نقل قول نوشته اصلی توسط cjmj نمایش پست ها
با سلام
یه کد نوشتم برای راه اندازی سنسور جریان با آردوینو و سون سگمنت که با استفاده از یه باطری 9 ولت کتابی میشه یه آمپر متر همراه ساخت که خودم یکی ساختم

اینم از کد هاش

کد:
#include <SevSeg.h>
SevSeg sevseg; //ساخت یک آبجکت


float current_zero = 511; //relative digital zero of the arudino input from ACS712
float adcvalue = 0;
float adcvolt = 0;
float current = 0;

unsigned long previousMillis = 0;
const long interval = 500;

void setup()
{
  // Serial.begin(9600);

  byte numDigits = 4;   //تعداد بلاک سون سگمنت
  byte digitPins[] = {9, 10, 11, 12}; //شماره پین های مشترک
  byte segmentPins[] = {0, 1, 2, 3, 4, 5, 6, 7}; //شماره پین های aتاg

  sevseg.begin(COMMON_ANODE, numDigits, digitPins, segmentPins);
  /*توسط این تابع کانفیگ سون سگمنت انجام می*شود. آرگمان اول نوع سون سگمنت را مشخص می*کند ، اگر
      آند مشترک باشد به جای آرگمان Type از COMMON_ANODE ، اگر کاتد مشترک باشد از
     COMMON_CATHODE  استفاده می*شود ، هچنین می*تواند دارای مقادیر زیر باشد:
     N_TRANSISTORS ، P_TRANSISTORS ، NP_COMMMON_CATHODE
     و NP_COMMMON_ANODE
  */
  sevseg.setBrightness(100); //تنظیم نور سون سگمنت(در صورت استفاده از ترانزیستور)
}

void loop()
{
  unsigned long currentMillis = millis();
  
  if (currentMillis - previousMillis >= interval) {
      previousMillis = currentMillis;
  
    adcvalue = (analogRead(0) - current_zero);
    adcvolt = ((adcvalue * 5) / 1024);
    current = (adcvolt / 0.066);
    //Serial.print("CURRENT= ");
    // Serial.print(current);
    //  Serial.println(" A");
  }

  sevseg.setNumber(current, 2); //نمایش متغییر بر روی سون سگمنت(آرگومان اول مقدار عدد و آرگومان دوم مقدار اعشار)
  sevseg.refreshDisplay(); //تازه سازی سون سگمنت
delay(1);
}
فایل ضمیمه:
current_sensor
http://s2.picofile.com/file/8264477392/7seg_pins.png
امیدوارم یک روز همه تو انجمن مثل شما بشن