برای مشاهده روند ساخت پروژه ها و محصولات به کانال تلگرام ما بپیوندید           
  خانه محصولات دانلود پروژه ها بحث و گفتگو وبلاگ آموزشها و مقالات تماس با ما  

  فروم khazama.com --> زبانهای برنامه نویسی --> راهنمایی برای اوقات شرعی

  شنبه 14 آذر 94 , 4:59 PM


کاربر
electron113
تعداد پستها : 4
راهنمایی برای اوقات شرعی

با سلام
من چند وقتیه دنبال یه فرمول مناسب برای اوقات شرعی توی ایران می گردم.و البته هنوز به یه فرمول دقیق نرسیدم.
دیدم که شما یه برنامه برای سال 1385 نوشته بودین و فکر کنم درست کار می کنه.و البته دقیق
میشه فرمولش رو که بر حسب روز سال و طول و عرض جغرافیایی باشه را ببینم.
راسش ویژوال بیسیک سر در نمیارم. و برای AVR می خوام بنویسم /
با تشکر فراوان

  جمعه 20 آذر 94 , 10:54 AM


مدیر سایت
behzad
تعداد پستها : 905
درود و خوش آمد به شما
این کد روی سایت مربوط به سال 85 هست و توسط مهندس خدام به زبان جاوا اسکریپت نوشته شده بود
من به وی بی تبدیلش کردم و بعد هم به زبان سی برای avr
ولی عملا برای سالهای بعد دقت کافی رو نداره... و روی پروژه هائی که عملا بخواد برای همه جامعه استفاده بشه پس میخوره
چون با اونچیزی که صدا و سیما اعلام میکنه کمی فرق داره و مردم بی اعتماد میشن بهش..ولی برای استفاده های شخصی و آموزشی خوبه..

یه کد دیگه هم دارم که به زبان سی کدویژن هست که کاملا به صدا و سیما سازگار هست و فعلا تجاری هست و برای خریدش باید با من تلفنی تماس بگیرید..

_______________________________________________________________________
پروژه های حرفه ای الکترونیک و کامپیوتر در www.khazama.com
مجموعه متن باز نامهای اصیل ایرانی
وبلاگ نوشته های شخصی من


  جمعه 20 آذر 94 , 3:39 PM


کاربر
electron113
تعداد پستها : 4
متشکرم.

اگه لطف کنید کد آموزشی برای AVR  را لینک دانلود بدید ممنون میشم .

البته چون اگه بقیه مشکلات پروژم حل شد هدف تجاری سازی دارم و خودم فرصت برنامه نویسی زیاد ندارم احتمالا برای کد حرفه ای باز هم مزاحم شما خواهم شد.

با تشکر فراوان

  چهارشنبه 25 آذر 94 , 9:44 AM


مدیر سایت
behzad
تعداد پستها : 905
این کد تبدیل شده همون برنامه ویژوال بیسیک سال 85 برای میکرو AVR و زبان C هست که من قبلا استفاده میکردم

توی یک فایل بنام owghat.c باید کپی کنید و توی پروژتون ازش استفاده کنید

#include <math.h>
//============== www.khazama.com
//============== faghat baraye sale 85 daghigh ast

//const float PI=3.14159265358979;
typedef struct _sun
{
    float XX;
    float YY;
}Sun;

typedef struct _Behzad
{
    unsigned long AzanSOb;
    unsigned long Toloe;
    unsigned long AzanZohr;
    unsigned long Ghoroob;
    unsigned long Maghreb;
    unsigned long NimeShab;
}Behzad;

float sind(float x){return(sin(PI/180.0*x));}
float cosd(float x){return(cos(PI/180.0*x));}
float tand(float x){return(tan(PI/180.0*x));}
float atand(float x){return(atan(x)*180.0/PI);}
float asind(float x){return(asin(x)*180.0/PI);}
float acosd(float x){return(acos(x)*180.0/PI);}

float loc2hor(float z,float d,float p){
    return(acosd((cosd(z)-sind(d)*sind(p))/cosd(d)/cosd(p))/15);
}
float Round(float x,float a){
    float tmp;
    tmp=fmod(x,a);
    if(tmp<0)
        tmp+=a;
    return(tmp);
}
unsigned long hms(float x)
{
    unsigned long int h,mp,m,s;
    x=floor(3600*x);
    h=floor(x/3600);
    mp=x-3600*h;
    m=floor(mp/60);
    s=floor(mp-60*m);     
    return(s+(m<<8)+(h<<16));
}

Sun sun(float m,float d,float h,float lg)
{
    Sun s;
    float M,L,lst,e,omega,ep,ed,u;
    float v, theta , delta , alpha , ha , zr ;
    unsigned char i;
    if(m<7)
        d= 31*(m-1)+d+h/24;
    else
        d=6+30*(m-1)+d+h/24;
    M=74.2023+0.98560026*d;
    L=-2.75043+0.98564735*d;
    lst=8.3162159+0.065709824*floor(d)+1.00273791*24*(fmod(d,1))+lg/15;    
    e=0.0167065;
    omega=4.85131-0.052954*d;
    ep=23.4384717+0.00256*cosd(omega);
    ed=180.0/PI*e;
    u=M;
    for(i=1;i<5;i++)
        u=u-(u-ed*sind(u)-M)/(1-e*cosd(u));
    v=2*atand(tand(u/2)*sqrt((1+e)/(1-e)));
    theta=L+v-M-0.00569-0.00479*sind(omega);
    delta=asind(sind(ep)*sind(theta));
    alpha=180.0/PI*atan2(cosd(ep)*sind(theta),cosd(theta));
    if(alpha>=360)
        alpha-=360;
    ha=lst-alpha/15;
    zr=Round(h-ha,24);
    s.XX=zr;
    s.YY=delta;
    return (s)  ;
}

Behzad Owghat(float  m,float  d,float lg,float lat)
{

//    var lg=52.5125;
//    var lat=29.635;
    Sun ep;         
    Behzad behi;
    float zr,delta,ha,t1,t2,t3,t4;
    unsigned long int n1,n2;
    ep=sun(m,d,4,lg) ;
    zr=ep.XX;
    delta=ep.YY;
    ha=loc2hor(108.0,delta,lat) ;
    t1=Round(zr-ha,24);
    ep=sun(m,d,t1,lg);
    zr=ep.XX;
    delta=ep.YY;
    ha=loc2hor(108.0,delta,lat);
    t1=Round(zr-ha,24);
    behi.AzanSOb = hms(t1);
//
//   t2= Sun rise
//
    ep=sun(m,d,6,lg);
    zr=ep.XX;
    delta=ep.YY;
    ha=loc2hor(90.833,delta,lat);
    t2=Round(zr-ha,24);
    ep=sun(m,d,t2,lg);
    zr=ep.XX;
    delta=ep.YY;
    ha=loc2hor(90.833,delta,lat);
    t2=Round(zr-ha,24);
    behi.Toloe = hms(t2);
//    
//    zr=Zohr
//
    ep=sun(m,d,12,lg);
    ep=sun(m,d,ep.XX,lg);
    zr=ep.XX;
    behi.AzanZohr = hms(zr);
//
//   t2= Sun set
//
    ep=sun(m,d,18,lg);
    zr=ep.XX;
    delta=ep.YY;
    ha=loc2hor(90.833,delta,lat);
    t3=Round(zr+ha,24);
    ep=sun(m,d,t3,lg)  ;
    zr=ep.XX;
    delta=ep.YY;
    ha=loc2hor(90.833,delta,lat);
    t3=Round(zr+ha,24);
    behi.Ghoroob = hms(t3);
//
//   t2= Maghreb
//
    ep=sun(m,d,18.5,lg);
    zr=ep.XX;
    delta=ep.YY;
    ha=loc2hor(94.3,delta,lat);
    t4=Round(zr+ha,24);
    ep=sun(m,d,t4,lg);
    zr=ep.XX;
    delta=ep.YY;
    ha=loc2hor(94.3,delta,lat);
    t4=Round(zr+ha,24);
    behi.Maghreb = hms(t4);
    n1=((behi.AzanZohr & 0xFF0000)>>16)+11 ;
    n2=((behi.AzanZohr & 0xFF00)>>8)+15 ;
    if(n2>59){n2-=59;n1++;}
    if(n1>24){n1-=24;}
    behi.NimeShab = (n1<<16) + (n2<<8) ;
    return(behi);
}
 

_______________________________________________________________________
پروژه های حرفه ای الکترونیک و کامپیوتر در www.khazama.com
مجموعه متن باز نامهای اصیل ایرانی
وبلاگ نوشته های شخصی من


  چهارشنبه 25 آذر 94 , 11:43 AM


کاربر
electron113
تعداد پستها : 4
تشکر

تشکر مهندس جان.
خیلی ممنون از لطفتون.

  پنج‌شنبه 8 بهمن 94 , 12:37 PM


کاربر
electron113
تعداد پستها : 4
راهنمایی برای اوقات شرعی

با سلام مجدد و تشکر فراوان از کمک و راهنماییاتون.
بنده به دلیل درگیر شدن با مسائل خانوادگی مختلف نتونستم برنامه را تست کنم .
امروز که فرصت شد و نگاه کردم دیدم خروجی تابع از نوع ساختاریه که البته عالی
ولی مشکل من اینه که نوع متغییر های ساختارش u_ int هستش ؟
مثلا من یه تاریخ بهش دادم بهم یه عدد 4 رقمی داد ؟
میشه راهنمایی بفرمایید .

ضمنا قیمت و نحوهی دریافت پروژه ی اصلی که برای همه ی سال ها هم جواب بده را برام بفرستید .
تشکر

  شنبه 10 بهمن 94 , 9:32 AM


مدیر سایت
behzad
تعداد پستها : 905
برای تبدیلش به ساعت و دقیقه و ثانیه باید شیفتش بدین
مثلا اینطوری
        sprintf(Ctemp,"%02d:%02d:%02d",(vaght.AzanZohr & 0xFF),((vaght.AzanZohr & 0xFF00)>>8),((vaght.AzanZohr & 0xFF0000)>>16));

_______________________________________________________________________
پروژه های حرفه ای الکترونیک و کامپیوتر در www.khazama.com
مجموعه متن باز نامهای اصیل ایرانی
وبلاگ نوشته های شخصی من


  صفحه : [1]    
 
 


Designer And Programmer : Behzad khazama
Coded With ASP.NET
تمامي حقوق مادي و معنوي مطالب متعلق به اين سايت ميباشد .
هر گونه استفاده از مطالب اين سايت تنها با ذکر منبع بلامانع ميباشد
.
www.khazama.com
Tel : 051-44641597 - 09363677001 - 09155714862
Support SMS Center: 09363677100