نمایش نتایج: از 1 به 10 از 12
Like Tree7 لایک

موضوع: فرکانس متر با آردینو

Hybrid View

  1. #1
    مدیر گروه
    تاریخ عضویت
    Nov 2013
    محل سکونت
    ایران
    نوشته ها
    4,064
    نقل قول نوشته اصلی توسط cjmj نمایش پست ها
    اینم از کد های کامل شده و کاملا تست شده:

    کد:
    #define input 4
    //#define in 8
    #define F1 15
    #define F2 16
    #define F3 17
    #define F4 13
    
    float high_time;
    float h_time;
    float low_time;
    float l_time;
    float time_period;
    float t_period;
    float frequency;
    float frequenc;
    
    
    void setup()
    {
      
    pinMode(input,INPUT_PULLUP);
    //pinMode(in,INPUT_PULLUP);
    pinMode(F1,OUTPUT);
    pinMode(F2,OUTPUT);
    pinMode(F3,OUTPUT);  
    pinMode(F4,OUTPUT);
    
    //Serial.begin(9600);
    
    }
    void loop()
    {
    
    high_time=pulseIn(input,HIGH);
    low_time=pulseIn(input,LOW);
    
    time_period=high_time+low_time;
    time_period=time_period/1000;
    if(time_period!=0){frequency=1000/time_period;}
    else {Serial.println("0 Frequency");frequency=0;}
    
    /*
    h_time=pulseIn(in,HIGH);
    l_time=pulseIn(in,LOW);
     
    t_period=h_time+l_time;
    t_period=t_period/1000;
    if(t_period!=0){frequenc=1000/t_period;}
    else {Serial.println("0 Frequenc");frequenc=0;}
    
    */
    
    
    //Serial.println(frequenc);
    //Serial.println(frequency);
    //Serial.print(" Hz");
    
    
    
    
     if (frequency >= 17){
      digitalWrite (F1, HIGH);
      }
           else if (frequency <=16) 
           {
           digitalWrite (F1, LOW);
           }
    
    
     if (frequency >= 25){
      digitalWrite (F2, HIGH);
      }
           else if (frequency <= 24) 
           {
           digitalWrite (F2, LOW); 
           }
    
    
     if (frequency >= 38){
      digitalWrite (F3, HIGH);
      }
           else if (frequency <= 37) 
           {
           digitalWrite (F3, LOW); 
           }
     if (frequency >= 49){
      digitalWrite (F4, HIGH);
     }
           else if (frequency <=48){
            digitalWrite (F4, LOW);
     }
     
    delay(100);
    }
    من توی این پروژه از سخت افزار خواصی استفاده نکردم ولی برای حرفه ای تر شدنش میشه یه آی سی 8704(مقسم فرکانس) به مدار اضافه کرد و تا فرکانس 950 مگاهرتز رو اندازه گیری کرد.
    در ضمن با استفاده از همین کد تونستم دو تا فرکانس مختلف رو همزمان اندازه گیری کنم بدون اینکه توی کار کوچک ترین تداخلی ایجاد بشه.
    با تشکر از شما که اطلاعاتتون رو به اشتراک میزارید
    لایک کردن

  2. #2
    Member
    تاریخ عضویت
    Jan 2016
    محل سکونت
    ایران
    نوشته ها
    85
    نقل قول نوشته اصلی توسط magmagmary نمایش پست ها
    با تشکر از شما که اطلاعاتتون رو به اشتراک میزارید
    خواهش میکنم
    بسیار ناقابله در مقابل کمک هایی که بهم توی این انجمن توسط شما و دوستان میشه.

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •  

SEO by vBSEO