• خونه
  • تماس با ما
  • همکاری با ما
  • حمایت مالی
آزادی حجاز
  • News
  • AVR
    • AVR Train
      • آموزش جامع AVR
      • آموزش صحیح و خوانا نوشتن کد
    • تابلو روان
    • موتور
      • موتور DC
      • موتور پله ای
      • سرو موتور
    • سنسور و ماژول
      • RFID
      • التراسونیک
      • شتاب سنج
      • رطوبت سنج
      • دماسنج
      • بلوتوث
      • اتصال AVR به کامپیوتر
      • اتصال رم به AVR
      • فرستنده گیرنده رادیویی
      • ساعت و تاریخ
      • جوی استیک
    • IC
      • IC حافظه
      • ADC
      • DS1307(ساعت)
      • BCD TO 7S
      • شیفت ریجستر
    • LCD
      • LCD گرافیکی
      • LCD کاراکتری
      • LCD رنگی
    • LED – 7S – Dot Matrix
      • LED
      • سون سگمنت(۷S)
      • دات ماتریس
    • ساعت
    • پروگرامر
    • اسیلوسکوپ
    • ولتاژ،جریان،مقاومت،فرکانس،خازن و…
      • ولت متر
      • اهم متر
    • امواج
    • کی پد(KEY PAD)
    • فوتوسل
  • ARM
    • ARM Projects
    • ARM Train
      • AT91
      • STM32
      • LPC1768
      • LPC2368
  • Arduino
    • Arduino Train
    • Arduino Projects
  • Raspberry
  • FPGA
  • PCB
    • آلتیوم
      • آموزش آلتیوم
      • پروژه آلتیوم
  • S.W
    • Codevision
    • Proteus
    • Serial Port
    • Android
    • Labview
  • Analog
  • etc
    • Components
    • Android
    • C/C++/Qt
    • OpenCV
    • QuadCopter
    • PC And Micro
    • Communication Protocols
دلیل پیشرفت سریع آلمان و ژاپن
آموزش الکترونیک ۱ آموزش سینماتیک روبات ها آموزش آردوینو در Proteus
آموزش الکترونیک ۲ آموزش رباتیک و ربات های سری آموزش Proteus - تحلیل مدار
آموزش مبانی الکترونیک آموزش میکروکنترلر STM32F1xx آموزش آردوینو - کنترل با شبکه
برنامه نویسی Raspberry Pi آموزش AVR و Codevision - مقدماتی آموزش برنامه نویسی آردوینو با متلب
کاربرد Raspberry Pi در صنعت آموزش AVR و Codevision - تکمیلی آموزش برنامه نویسی آردوینو - رباتیک
● تبلیغات دیجیتال هوشمند● آموزش های رایگان● استخدام در فرادرس
شما اینجائید:خانه » الکترونیک » پروژه AVR » 7segment » ساعت دییجیتالی با سون سگمنت

ساعت دییجیتالی با سون سگمنت

ارسال شده توسط:مهدی دمیرچیلو تاریخ ارسال: 2014/06/03 در 7segment, ساعت 144 نظر

به نام خدا

ساعت دییجیتالی با سون سگمنت الان میخوام براتون پروژه AVR ساعت دییجیتالی با سون سگمنت رو قرار بدم به همراه آموزش و فایل های مورد نیاز برای دانلود. راستی اینم بگم که همین مطلب هم به صورت PDF در فایل مورد نظر هستش. که میتونید از ته همین مطلب دانلودش کنید. برا ساخت  ساعت دییجیتالی با سون سگمنت  (البته تو محیط شبیه سازی شده) کار خواستی لازم نیز بکنید چون چیز خواصی هم نداره فقط کافیه یکم c ، یکم پروتئوس و یکم AVR بلد باشید. laugh این آموزش من تو محیط شبیه سازی مشکلی نداره ولی به احتمال زیاد تو عملی جواب نده. (البته این هم چیز مهمی نیست چون باید یه سری چیز میز به مدارمون اضافه کنیم شامل مقاومت(برا محدود کردن جریان) و از این جور چیزا) اینم بگم که هدف ما فعلا ساخت این مدار در عمل نیست بلکه فقط یاد گرفتن نحوه شبیه سازی و کد های این برنامه هستش. rtfm اگه مشکلی چیزی هم داشتین درخدمتیم.(البته اگه بلد باشیم===> اگه هم بلد نباشیم میپرسیم و میگیم.) crazy

ساعت دییجیتالی با سون سگمنت

ساعت دییجیتالی با سون سگمنت

خوب اول یکم در مورد این برنامه ( تابلو سون سگمنتی نمایش ساعت ) بگم که چی به چی هستش : یه ساعت که ساعت-دقیقه و ثانیه رو نشون میده و از atmega16 و سون سگمنت ۴ رقمی استفاده شده و دارای دکمه هایی برای تنظیم ساعت و ریست کردن آن.

نحوه کار اون ۴ کلید : 

برای تنظیم ساعت ابتدا باید دکمه set رو فعال کنید(یک کنید) و بعد روی دکمه های ساعت (T_H) ، دقیقه(T_M) و ثانیه(T_S) کلیک کنید. و برای ریست کردن ساعت باید رو RESET کلیک کنید و اگه بخواید ساعت دوباره کار کنه باید رو دکمه SET کلیک کنید تا دوباره به حالت اولیه برگردد و ساعت کار کند.(ساعت از اون زمانی که شما تعیین کردین شروع به کار میکنه. )

توضیح کد های برنامه :

توجه: من این کد ها رو بر این مبنا توضیح میدم که شما مقداری آشنایی در این زمینه دارید ولی اگه جاییش رو متوجه نشدید میتونید همینجا بپرسید.

1
2
#include <mega16.h>
#include <delay.h>

برای کد نویسی AVR باید خط اول رو همیشه بنویسی و توش نوع AVR رو تعیین کنید که ما ATMEGA16 رو در مدارمون استفاده کردیم. خط دوم هم برای استفاده از تابع ایجاد تاخیر زمانی هستش(delay_ms و delay_us)

1
2
3
unsigned char anode_segon[]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10};
unsigned char anode_seg[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
unsigned char control[]={0b00000001,0b00000010,0b00000100,0b00001000,0b00010000,0b00100000};

توجه: این سونت سگمنت  از ۶ تا سون سگمنت تکی تشکیل شده است. خط اول و دوم دو آرایه تک بعدی هستن که توشون اعداد ۰ تا ۹ هست.  تفاوتشون اینه که تو اولی نقطه روشن هست و تو دومی نقطه خاموش و برای این دو تا آرایه تعریف کردیم که تو بعضی از این سونت سگمنت ها نقطه دات روشنه و تو بعضی خاموشه ، برای این که ساعت و دقیقه و ثانیه رو از هم تشخیص بدیم. حد اقل یه نقطه ای باید بین اینا باشه دیگه  ^_^  (اگه شکل بالا رو نگاه کنید میبینید که بعد از هر رقم یه نقطه در پایینش هست) خط ۳ برا فعال کردن و غیر فعال کردن هر یک از ۶ تا سون سگمنت موجود هستش. توجه ۱: چون شیوه کار تو سون سگمنت این جوری هستش که ما یه پایه رو فعال و بقیه رو غیر فعال میکنیم و بعد بهش مقدار میدیم و به همین طریق تا پایه ششم….لذا باید آرایه ای تعریف کنیم که وظیفه فعال و غیر فعال کردن این پایه ها رو برعهده داشته باشه.) توجه ۲ : این سون سگمنت ۴ تا پایه در سمت راستش داره که کارش فعال و غیر فعال کردن هر یک از این ۶ تا سون سگمنت هستش.

1
2
3
4
5
6
int ih1=0;
int ih2=0;
int im1=0;
int im2=0;
int is1=0;
int is2=0;

تعریف متغییر های زمان به کمک اینا میفهمیم که الان ساعت -دقیقه و ثانیه چه مقداری دارند(چون مقدار زمان ثانیه ساعت و دقیقه در این متغییر ها ذخیره میشه تا بعدا بتونیم ازشون استفاده کنیم.) از هر واحد زمانی دو تا تعریف کردیم چون مثلا میگیم ثانیه ۵۶ که شامل دو رقم هستش لذا تعریف دو متغییر برا هر واحد زمانی به همین دلیل هستش.

1
void delay_7segmeny(int d,int is1,int is2,int im1,int im2,int ih1,int ih2);

تعریف تابع ما برنامه خود رو به صورت تابع تابع تعریف کردیم که هر یک از این توابع وظیفه خود رو دارند!!! برنامه ما ۲ تا تابع داره که یکیش رو اینجا تعریف کردیم و میمونه تابع main یا تابع اصلی برنامه که نیاز به تعریف کردن نداره. کار این تابع : محاسبه زمان و نمایش در سون سگمنت

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
void delay_7segmeny(int d,int is1,int is2,int im1,int im2,int ih1,int ih2)
{
unsigned char i;
d=d/40;
/////////////////////////////////////
for(i=0; i<d; i++)
{
if(is2==0)// && is1==0)
{
PORTB=control[5];
PORTA=anode_seg[is1];
delay_ms(4);
PORTB=control[4];
PORTA=0xFF;
delay_ms(4);
}
else
{
PORTB=control[5];
PORTA=anode_seg[is1];
delay_ms(4);
PORTB=control[4];
PORTA=anode_seg[is2];
delay_ms(4);
}
////////////////////////////////////
if(im2==0)
{
PORTB=control[3];
PORTA=anode_segon[im1];
delay_ms(10);
PORTB=control[2];
PORTA=0xFF;
delay_ms(4);
}
else
{
PORTB=control[3];
PORTA=anode_segon[im1];
delay_ms(10);
PORTB=control[2];
PORTA=anode_seg[im2];
delay_ms(4);
}
////////////////////////////////////
if(ih2==0)
{
PORTB=control[1];
PORTA=anode_segon[ih1];
delay_ms(4);
PORTB=control[0];
PORTA=0xFF;
delay_ms(4);
}
else
{
PORTB=control[1];
PORTA=anode_segon[ih1];
delay_ms(4);
PORTB=control[0];
PORTA=anode_seg[ih2];
delay_ms(4);
}
}
}

تو این تابع که گفتیم کارش نمایش ساعت هستش ۳ تا if  که هر کدوم یه else دارند و داخلشون کد هایی هستش که این کد ها ، به پایه های AVR میگن که چه عددی رو نشون بده. سه  if و سه else همراهشون برای سه واحد زمانی ما یعنی ثانیه-دقیقه و ساعت هستند. اگه یادتون باشه ۶ تا متغییر تعریف کردیم که زمان رو در خودشون ذخیره میکردن اینجا داخل شرط ها ازشون استفاده میکنیم و به avr میگیم که این مقادیر که داخل این متغییر ها هستن رو برامون نمایش بده. توجه: خود if  و else ها رو اگه حذف کنید و کد های داخلشون رو نگه دارید مشکل خاصی پیش نمیاد و این شروط کارشون به صورت زیر هست. شما ساعت هایی که تا حالا دیدین اگه توجه کرده باشین مثلا اگر ساعت در ثانیه ۶ باشد آن را به صورت ۶  نمایش میدهد در حالی که اگر این شروط نبودند به صورت ۰۶ نمایش میداد.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
void main(void)
{
    // تعریف پایه ها
    DDRA=0b11111111;
    PORTA=0b11111111;
    DDRB=0b00011111;
    PORTB=0b00111111;
    DDRC=0b00000000;
    PORTC=0b00000000;
    /////////////////////////////////////
    while(1)
    {
        //اگه رو دکمه ست کلیک کرد برنامه آماده پذیرش تغییر باشه
        while(PINC.0==1)
        {
            if(PINC.1==1)  //اگر رو دکمه اضافه کردن ثانیه کلیک شد
            {
                is1=is1+1;
                if(is1==10)
                {
                    is1=0;
                    is2=is2+1;
                }
                if(is2==6)//اگر ثانیه از ۶۰ بیشتر شد اونوقت صفرش کن
                {
                    is1=0;
                    is2=0;
                }
            }
            if(PINC.2==1)  //اگر رو دکمه اضافه کردن دقیقه کلیک شد
            {
                im1=im1+1;
                if(im1==10)
                {
                    im1=0;
                    im2=im2+1;
                }
                if(im2==6)//اگر دقیقه از ۶۰ بیشتر شد اونوقت صفرش کن
                {
                    im1=0;
                    im2=0;
                }
            }
            if(PINC.3==1)  //اگر رو دکمه اضافه کردن ساعت کلیک شد
            {
                ih1=ih1+1;
                if(ih1==10)
                {
                    ih1=0;
                    ih2=ih2+1;
                }
                if(ih2==2 && ih1==4)//اگر ساعت از ۲۴ بیشتر شد اونوقت صفرش کن
                {
                    ih1=0;
                    ih2=0;
                }
            }
            /////////////////////////////////////
            //دادان عدد مورد نظر به سون سگمنت مربوط به ساعت
            delay_7segmeny(800,is1,is2,im1,im2,ih1,ih2);
            /////////////////////////////////////
            //اگر زوی ایم دکمه کلیک شود ساعت به حالت اولیه خود برمیگردد
            if(PINC.4==1)
                delay_7segmeny(500,0,0,0,0,0,0);
            /////////////////////////////////////
            if(PINC.0==0)
                break;
        }
        //تا زمانی که دکمه ست غیر فعال است--ساعت کار میکند
        while(PINC.0==0)
        {
                is1=is1+1;
                if(is1==10)
                {
                    is1=0;
                    is2=is2+1;
                }
                //اگر ثانیه از ۶۰ بیشتر شد اونوقت صفرش کن
                // دقیقه رو یه دونه زیاد کن و بعد بررسی کن و ببین
                //که از ۶۰ بیشتر نشه اگر شد به ساعت یه دونه اضافه کن
                if(is2==6)
                {
                    is1=0;
                    is2=0;
                    im1=im1+1;
                    if(im1==10)
                    {
                        im1=0;
                        im2=im2+1;
                    }
                    if(im2==6)//اگر دقیقه از ۶۰ بیشتر شد اونوقت صفرش کن
                    {
                        im1=0;
                        im2=0;
                        ih1=ih1+1;
                        if(ih1==10)
                        {
                            ih1=0;
                            ih2=ih2+1;
                        }
                        if(ih2==2 && ih1==4)//اگر ساعت از ۲۴ بیشتر شد اونوقت صفرش کن
                        {
                            ih1=0;
                            ih2=0;
                        }
                    }
            }
                //با توجه به محاسبات زمان ما فهمیدیم که الان ثانیه و دقیقه و ساعت مقدارشون چنده حالا باید اونو نمایش بدیم
                delay_7segmeny(1020,is1,is2,im1,im2,ih1,ih2);
                if(PINC.0==1)
                    break;
        }
    }
}

اینم از قسمت پایانی کد های ما که همون تابع main هستش همونی که گفتم نیاز به تعریف کردن نداره.و توابع غیر از این باید ابتدا تعریف بشن. تو این تا بع ابتدا تو ۴ الی ۶ خط اول ، پایه های atmega16  رو تعیین کردیم که ورودی باشن یا خروجی و مقدار اولیه اونا صفر باشد یا یک. حالا توضیحات مربوط به کد های داخل حلقه while  داخل این حلقه دو تا while  دیگه هست(که در زیر گزاشتمشون تا ببینید) که کل کد های این قسمت داخل این دو تا هست

1
2
while(PINC.0==1)
while(PINC.0==0)

خط اول : این حلقه و کدای داخلش برا اینه که اگه رو دکمه set کلیک شد کد های مورد نظر رو اجرا کن و اگه دکمه set غییر فعال شد از حلقه خارج شو.
کد های داخل این حلقه شامل ۳ تا if اصلی هست که برا ساعت-دقیقه و ثانیه هستن و این شرط ها کارشون اینه که اگه رو دکمه اضافه کردن ثانیه یا دقیقه یا ساعت کلیک شد مقدار متغییر های مربوطه رو افزایش بده(همون متغییر هایی که کارشون ذخیره زمان بود) بعد تابعی که در بالا تعریف کردیم فراخوانی میکنیم و مقادیر زمانی رو بهش میدیم تا بره و رو سون سگمنت نمایششون بده.
بعد میگیم اگه رو دکمه reset کلیک شد مقادیر این این متغییر ها رو صفر بفرست به تابع….
خط دوم : اینم برا اینه که تا زمانی که دکمه set غیر فعال است–ساعت کار کند.(در حالت بالا ساعت کار نمیکند و متوقف است.) اینم که چیز خاصی نداره–مقداره ثانیه رو زیاد میکنه اگه از ۵۹ بیشتر شد ، صفرش میکنه و یه واحد به دقیقه اضافه میکنه و اگه دقیقه از ۵۹ بیشتر شد یه واحد به ساعت اضافه میکنه و اگه ساعت از ۲۳ بیشتر شد صفرش میکنه. به همین سادگی   بازم میگم اگه سوالی دارید همینجا بپرسید وگرنه که هیچ  اگه نظری چیزی در مورد این برنامه دارید همین جا. laugh
 

دانلود پروژه این مطلب

گروه پرسش و پاسخ الکترونیکی سروش

درباره مهدی دمیرچیلو

جنگ ما فتح قدس را در پی خواهد داشت (امام خمینی) >>>>>> اگر از صدام بگذریم، اگر مسأله قدس را فراموش کنیم، اگر از جنایت های امریکا بگذریم از آل سعود نخواهیم گذشت. ان‌شاالله اندوه دلمان را را در وقت مناسب با انتقام از امریکا و ال سعود برطرف خواهیم کرد و داغ و حسرت حلاوت این جنایت بزرگ را بر دلشان خواهیم گذاشت و با برپایی جشن پیروزی حق بر جنود کفر و نفاق و آزادی کعبه از دست نااهلان و نامحرمان به مسجد الحرام وارد خواهیم شد (امام خمینی)

مطالب مرتبط

  • » انواع روش ساخت ساعت با AVR

  • » پروژه avr تابلو تعویض بازیکن با سون سگمنت

  • » پروژه AVR ساعت ساده با تایمر0

  • » پروژه ساعت دیجیتال با LCD گرافیکی

  • » آموزش راه اندازی ماژول ساعت دقیق DS3231

  • » آموزش کار با آی سی بافر های BCD TO 7S

  • » ساعت با ic ds1307

  • » کامل ترین پروژه با سون سگمنت 4 رقمی

  • » حرکت اعداد در سون سگمنت مثل تابلو روان

  • » نمایش عدد در ۷s با مقدار دهی باینری

144 نظر

  1. rasool
    2014/09/11 در 22:27

    7segment katod moshtarake ya anod?to barname bayad taghir bedim age 7 segmentemon gargh kone?

    پاسخ
    • مهدی دمرچیلو
      2014/09/11 در 22:52

      فارسی بنویس>اکه امکان داره….

      پاسخ
      • امیر
        2018/03/04 در 15:01

        با عرض سلام و خسته نباشید و تشکر بسیار از آموزشهایی که میگذارید.
        ببخشید آقا مهدی میشه یه آموزش کامل عملی درباره راه اندازی سون سگمنت هایی که به ولتاز بالاتز از 5 وت نیاز دارند بگذارید.
        یه ساعت با سون سگمنت آند مشترک درست کردم الان که میخام از سون سگمنت های 7*5 استفاده کنم نمیدونم چطوری روشنشون کنم.
        کلی توی اینترنت هم گشتم اما یا درست میتوجه نمیشدم که چی میگن یا امتحان می کردم و جواب نمیگرفتم.
        ممنون.

        پاسخ
        • مهدی دمرچیلو
          2018/03/04 در 17:44

          سلام-از اپ امپ-ترانزیستور-آیسی های سری udn و uln کلا تقویت کننده های ولتاژ جریان میتونی استفاده کنی – من باشم از آیسیهای سری udn استفاده میکنم.

          پاسخ
      • مهدیه
        2019/01/18 در 11:27

        سلام خیلی ممنون از اطلاعات مفیدتون ببخشید من میخواستم یک کرنومتر طراحی کنم فقط دقیقه و ثانیه داشته باشه برنامشو نمیدونم میشه لطف کنین کمکم کنید

        پاسخ
      • مهدیه
        2019/01/18 در 11:40

        خیلی ممنون از توضیحاتتون
        ببخشید من میخوام واسه پروژه درسیم یک کرنومتر طراحی کنم و بلد نیستم برنامه اونو بنویسم میشه لطف کنید و کمکم کنید

        پاسخ
  2. محیا
    2014/12/03 در 16:24

    سلام خسته نباشید
    به خاطر برنامتون خیلی ممنونم، واقعا دستتون درد نکنه، عالیه give_rose
    فقط یه سوال داشتم، میشه اسم قطعاتی که تو پروتئوس ازشون استفاده شده رو بگین؟ تشکر

    پاسخ
    • مهدی دمرچیلو
      2014/12/03 در 19:32

      سلام
      خواهش….
      پروژش (کد+پروتئوس) رو که قرار دادم براتون که… unknw

      پاسخ
  3. پریسا
    2014/12/12 در 21:45

    سلام خسته نباشید
    من با اجازتون فایل ساعت دیجیتالی رو کپی کردم ولی وقتی روی ای تی مگا 16 میزنم که برنامهavr را رو انتخاب کنم نمیشناسد
    اگر کمک کنید ممنون می شم.

    پاسخ
    • مهدی دمرچیلو
      2014/12/12 در 21:57

      سلام
      عکس بگیر بفرست…
      احتمالا فایل رو اشتباهی انتخاب کردی(باید hex رو انتخاب کنی)

      پاسخ
  4. خسروی
    2014/12/15 در 01:58

    با سلام
    ممنون از زحماتتون
    میشه لطف کنین توضیح بدین چطوری این برنامه رو تو پروتیوس فعال کنم آخه من زیاد وارد نیستم

    پاسخ
    • مهدی دمرچیلو
      2014/12/15 در 04:04

      سلام
      اگه منظورت اجرای برنامه تو پروتئوس هستش…..یه دکمه مثلث شکل هستش که باید روش کلیک کنی تا پروژه اجرا بشه

      پاسخ
  5. shamim
    2015/01/20 در 23:46

    سلام من یه برنامه باید تو کد ویژن بنویسم که یه قسمتش نمایش ساعت روی سون سگمنت ولی هر کار میکنم ارور میده نتونم ارورشو رفع کنم رسما بدبختم help امکانش هست فایلDSNوPrjرو براتون بفرستم؟ممنون میشم راهنمایی کنید خیلی فوریه

    پاسخ
    • مهدی دمرچیلو
      2015/01/21 در 07:31

      سلام
      بفرست

      پاسخ
  6. shamim
    2015/01/23 در 01:24

    سلام
    مواقعی که تو کد ویژن کد مینویسیم بسته به اینکه ATMEGA16 تو پروتئوس داریم یاATMEGA64 کدها فرق داره یا فقط تنظیمات WIZARD رو اون میکرو مورد نظر تنظیم کنیم کافیه؟؟؟؟
    و اینکه اگر برای اتصال 7 سگمنت ب میکرو و صرفه جویی تو پورتها از 74HC595استفاده کنیم کدها مثل قبل نوشته میشه یا فرق داره؟؟؟ تو WIZARD چطور فقط پورتهای متصل رو OUT کنیم؟؟؟؟
    و آخر اینکه پایه های24C04Aرو دقیقا چطور به میکرو وصل کنیم GROUND و بقیه چیزاشو چجور؟؟؟؟
    مرسی

    پاسخ
    • مهدی دمرچیلو
      2015/01/23 در 07:28

      سلام
      نه-ولی تو خط اول فرق داره>>>>

      include mega16 .h#
      include mega64 .h#

      تنظیمات ویزارد مگا۶۴ با مگا ۱۶ یکیه….ولی چون مگا ۶۴ امکاناتش و تعداد پایه هایش بیشتره تنظیمات کدویزاردش از مگا۱۶ بسته به میزان امکاناتش بیشتره
      —————–
      در زیر نحوه کار با ۷۴hc595 v رو گفتم
      پروژه AVR آی سی شیفت ریجستر ۷۴hc595
      ———————————-
      آموزش avr
      ————————————-
      آموزش کار با ۲۴C04A هم زیر گزاشتم
      آموزش جامع کار با IC حافظه با کتابخانه ۲IC
      ————————————-
      سوالی دیگه ای هست در خدمتیم…
      ———————————
      خواهش

      پاسخ
  7. ali
    2015/02/15 در 13:20

    سلام
    ممنون از زحماتتون
    من یه یه ساعت میخواستم درست کنم با آیسی 74hc595 و atmega 8 اما برنامه اش رو نمیتونم برای آیسی 74hc595 بنویسم چون 6 تا سون سگمنت تکی دارم و برای هر کدوم یه آیسی 595 میشه راهنماییم کنید. ممنون میشم

    پاسخ
    • مهدی دمرچیلو
      2015/02/15 در 13:30

      سلام
      سون سگمنت ۶ تایی مثل ۶ تا سون سگمنت تکی هستش که بهم چسبیده شدن…..
      تو پروتئوس نگاه کن…..
      یه دونه ۶ تایی انتخاب کن و ۶ تا تکی بزار کنار هم…..قیقا مثل هم میش

      پاسخ
  8. ali
    2015/02/15 در 14:03

    ولی این آیسی 16 هستش من هشت میخوام استفاده کنم و از شیفت ریجستر 595 استفاده کنم برای هر سون سگمنت خواهشا کمک کنید

    پاسخ
    • مهدی دمرچیلو
      2015/02/15 در 15:38

      پروژه AVR و آموزش آی سی شیفت ریجستر ۷۴hc595

      پاسخ
  9. ali
    2015/02/15 در 14:05

    فایل pcb شم میخواین ارسال کنم ممنون میشم کمکم کنید

    پاسخ
  10. محمد
    2015/03/05 در 00:26

    سلام مرسی از سایت خوبتون
    d=d/40;
    چرا d رو بر 40 تقسیم کردین؟

    پاسخ
    • مهدی دمرچیلو
      2015/03/07 در 00:26

      سلام
      متاسفانه خاطرم نیست

      پاسخ
  11. mahla
    2015/04/16 در 02:11

    سلام ممنون از برنامه مفیدتون
    اگر بخوام از atmega32 استفاده کنم باید چیکار کنم؟ unknw
    کلا کدها هم تغییر میکنه؟ sorry

    پاسخ
    • مهدی دمرچیلو
      2015/04/16 در 06:49

      سلام
      تو خط اول به جای mega16 مینویسی mega32
      و در پروتئوس به جای mega16 میکرو mega32 رو قرار میدی…تعداد پایه ها و ترتیبشون برابر هستش

      پاسخ
  12. هومن
    2015/04/17 در 11:00

    سلام واقعا مرسی……..
    دمتون گرممممممممممممممممممممممممممممممم

    پاسخ
  13. mahdi.ghezellou
    2015/05/04 در 00:09

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

    پاسخ
    • مهدی دمرچیلو
      2015/06/01 در 18:12

      سلام
      مطالبی تو نت دربارش هست

      پاسخ
  14. مریم
    2015/05/10 در 18:33

    خیلی خیلی ممنونم از این پروژه ی خوبتون واقعا به دردم خورد …
    فقط اگر اشتباه نکنم این جمله رو جابه جا نوشتین:”تفاوتشون اینه که تو اولی نقطه روشن هست و تو دومی نقطه خاموش”
    منظورم اینه که باید می گفتین :”تفاوتشون اینه که تو اولی نقطه خاموش هست و تو دومی نقطه روشن”

    پاسخ
    • مهدی دمرچیلو
      2015/06/01 در 23:30

      سلام
      laugh

      پاسخ
  15. مهدی
    2015/06/22 در 03:49

    100 % عملیه ؟؟؟؟ میخوام با بکس بسازما !!!!!

    پاسخ
    • مهدی دمرچیلو
      2015/06/22 در 03:59

      به شرطی که ۷s کوچیک بخری…
      بزرگاش یکم تغییرات میخواد فک کنم

      پاسخ
  16. فرید
    2015/06/27 در 11:50

    سلام داداش دست گلت درد نکنه.نماز روزه هاتم قبول ایشالا.من اومدم تاریخ روهم نشون بدم سه تا متغییر char تعریف کردم بعد برا خوندن دیتا هم نوشتم rtc_get_date(&d,&mo,&y);
    حالا ارور میده دیگه
    اینه ارورش
    Error: C:\1.c(266): too few arguments in function call
    به نظرت چی کارش کنم.
    سه تا متغییرمم اینه که توی void main تعریف کردم
    unsigned char d=0,mo=0,y=0;
    دمت گرم یه راهنمایی بکن…

    پاسخ
  17. نوید
    2015/07/23 در 22:12

    منم دقیقا همین مشکل آقا فرید رو دارم اگه کسی راه حلی داره خاهشن بگه!

    پاسخ
    • مهدی دمرچیلو
      2015/07/25 در 08:54

      تاریخ رو میخوای رو lcd نشون بدی یا ۷سگمنت؟

      پاسخ
  18. amin
    2015/08/03 در 00:03

    سلام میشه توضیح بدی چرا نوشتی d=d/40 و برنامه از کجا میفهمه که یک ثانیه شد که ثانیه شمارو یکی ازافه کنه sad

    پاسخ
    • مهدی دمرچیلو
      2015/08/03 در 07:27

      سلام
      خاطرم نیست

      پاسخ
  19. محمد
    2015/08/03 در 19:24

    با سلام و خسته نباشید
    فایل پروژه توی پرتئوس باز نمیشه و ارور میده!! علت اش چی هست!!؟
    سپاس

    پاسخ
    • مهدی دمرچیلو
      2015/08/03 در 20:58

      سلام
      معلومه که…
      فایلی که پروتئوس توش هستش نباید فارسی باشه

      پاسخ
  20. محمد
    2015/08/04 در 18:34

    با سلام و خسته نباشید
    لطفا همین برنامه را یا ایسی ds1307 درست کنید!! که ثانیه شمار هم داشته باشد!! این مدار شما با قطع برق اطلاعات اش به هم میریزه!! متاسفانه بیشتر پروژه های سایت های مختلف با زبان بیسیک هستند!!
    سپاس

    پاسخ
  21. مژگان
    2015/12/20 در 13:11

    سلام من کد نویسی ساعت و با سون سگمنت نمیخوام یه کدی میخوام که ساعت و توی کد ویژن LCDبا تو پرتیوس نمایش بده میشه برام بفرستید؟

    پاسخ
    • مهدی دمرچیلو
      2015/12/21 در 00:21

      مطلب ساعت با lcd توی سایت فک کنم باشه
      فک کنم توی مطلب انواع روش ساخت ساعت

      پاسخ
  22. امیر
    2016/01/23 در 15:54

    تو کد ویژن پیس کردم کامپایل نمیشه؟؟؟

    پاسخ
  23. امیر
    2016/01/23 در 15:55

    همش ارور میزنهههههههههههههههههههههههههه

    پاسخ
    • مهدی دمرچیلو
      2016/01/23 در 16:30

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

      پاسخ
  24. امیر
    2016/01/23 در 16:34

    فایل c.c کدومه؟؟؟

    پاسخ
    • مهدی دمرچیلو
      2016/01/23 در 16:40

      سلامت رو خوردی؟ laugh
      تو فایل ته مطلب … دانلود کن، برو داخل پوشه..برو داخل پوشه c فک کنم…برو فایل c.c رو با نودپد باز کن و کدهاش رو کپی کن تو پروژت
      فک کنم انگلیسیت ضعیت باشه….چون اگه قوی باشه به راحتی میتونی بفهمی کدویژن زبون بسته چی میگه
      تو الکترونیک النگلیسی بلد باشی نونت تو روغنه cool

      پاسخ
  25. امیر
    2016/01/23 در 16:48

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

    پاسخ
    • مهدی دمرچیلو
      2016/01/23 در 18:22

      عکسی از ارور ها، یا متن ارور ها رو بفرست

      پاسخ
      • امیر
        2016/01/23 در 18:39

        عکسو کجا بفرستم؟؟؟

        پاسخ
        • مهدی دمرچیلو
          2016/01/23 در 19:42

          هر جا دوست داری آپلود کن فقط لینکش رو بزار اینجا

          پاسخ
  26. امیر
    2016/01/23 در 20:14

    اقای دمرچیلو پروژه الکترونیک میتونی انجام بدی؟؟ هم تئوری هم شبیه سازی؟

    پاسخ
    • مهدی دمرچیلو
      2016/01/23 در 21:39

      بله ولی پروژه دانشجویی انجام نمیدم.
      در ضمن پروژه رو تست کردم مشکلی نداره
      مشکل از نرم افزار کدویژن شما هستش
      برید جدید ترین نسخه رو دانلود کنید و کرکش کنید(و از این بابت مطمئن بشید)
      در ضمن میتونی از دسکتاب کامپیوترت با زدن یه دکمه عکس بگیری…تو نت بگرد دنبال آموزشش…..

      پاسخ
      • امیر
        2016/01/23 در 22:54

        مرسی ممنون از برنامه ای ک گذاشتی خیلی احتیاج داشتم . فقط من باس فایل هگزشو برا استاد بفرستم این نرم افزارم ارور میزنه

        پاسخ
  27. علی حاجی پور
    2016/01/24 در 22:26

    سلام دوست عزیز ، ممنون از زحماتتون ، من توی پروتئوس ۸ فایل با فرمت pdsprj. رو میتونم باز کنم ولی با فرمت dsn. یا pwi رو نمیتونم باز کنم ، در واقع نمیتونم فایل های مربوط به پروتئوس رو باز کنم . به نظرتون مشکل از کجاست ؟

    پاسخ
    • مهدی دمرچیلو
      2016/01/25 در 07:16

      سلام
      نمیدونم
      خب نسخه ۷ رو هم دانلود کن…اگه مشکلی از نظر اینترنت نداری
      اگه برا این پروژه مشکل داری….شماتیک…عکس…پروژه توی این مطلب هستش

      پاسخ
  28. اکبر
    2016/01/28 در 21:07

    سلام .واقعا ایول داری با این پروژهات خیلی عالیه کارت فقط لطف میکنی کمی در مورد سخت افزارش توضیح بدی ؟

    پاسخ
    • مهدی دمرچیلو
      2016/01/28 در 21:23

      سلام
      چی بگم.
      مورد بگو تا جواب بدم

      پاسخ
  29. اکبر
    2016/01/29 در 11:18

    آیا برای پایه های مشترک ۱ تا۶ و پایه های aتاg باید آیسی خاصی و یا مقاومتی چیزی بزارم تا مدار عملی درست جواب ده؟

    پاسخ
    • مهدی دمرچیلو
      2016/01/29 در 14:23

      والا بستگی داره که از چه ۷s با چه اندازه ای استفاده کنی
      اگه اندازش کوچیک باشه نیازی به تقویت جریان نیست
      ولی اگه ۷s ها بزرگ باشه باید جریان(و بعضا ولتاژ رو هم) باید تقویت کنی که آی سی هایی برای این کار هستش…

      پاسخ
  30. علیرضا
    2016/05/04 در 22:06

    سلام
    دوست عزیز پسورد فایل چیه؟

    پاسخ
    • مهدی دمرچیلو
      2016/05/04 در 22:09

      سلام
      آدرس سایت

      پاسخ
  31. علی دباغی
    2016/07/26 در 20:19

    سلام دست شما دردنکنه ممنون خیلی به دردم خورد

    پاسخ
  32. علی دباغی
    2016/07/26 در 20:19

    می خواستم از شما بپرسم که arm بهتره یا avr

    پاسخ
    • مهدی دمرچیلو
      2016/07/26 در 20:37

      آرم قوی تره
      برا تازه کار avr بهتره حتما!
      برا کارای ساده و ارزون avrبهتره و برعکس

      پاسخ
  33. علی دباغی
    2016/07/26 در 22:36

    ببخشید شما اینها چطوری یاد گرفتید

    پاسخ
    • مهدی دمرچیلو
      2016/07/26 در 22:51

      والا من اول یه کتاب Avr خریدم – ازش یه چیزایی فهمیدم و پروژه در عمل و در پروتئوس بستم و بعد هر چی مطالب توی نت بود رو میخوندم و سوال میکردم مشکلاتم رو، بعد دیگه کم کم رفتم دیتاشیت قطعات و ic ها رو خوندم و سایت های خارجی رو خوندم چون سایت های فارسی چنگی به دل نمیزد(البته بهترین گزینه برای تازه کارهمین سایت های فارسی هستش) و بعد رفتم سراغ کتابخونه های آماده – شروع کردم به نوشتن کتابخونه – بعد که دیدم زبون c ایم ضعیفه و رفتم قوی کنم – الان توی این مرحله هستم ——- از اون موقعی که من شروع کردم تا الان همش پروژه های مختلف میبندم.
      مثلا همین قطعه 7s – میبینم کار باهاش رو بلد نیستم – اول تو سایت های فارسی سرچ میکنم – چیزی پیدا نکردم میرم سراغ سایت های خارجی و کار باهاش رو یاد میگیرم و پروژه باهاش میبندم و میام به دیگران یاد میدم = این قسمت مهمه چون مشکلات خودت رو هم حین نوشتن مطلب پیدا میکنی و حین یاد دادن هم یه سری چیز میز یاد میگیری.

      پاسخ
  34. علی دباغی
    2016/07/30 در 18:19

    سلام ببخشید زمان رو شما چطوری تقسیم کرید

    پاسخ
    • مهدی دمرچیلو
      2016/07/30 در 18:48

      سلام
      سوال کلی پرسیدی – من این مطلب رو خیلی وقت پیش نوشتم – سوالت رو ریز کن و بگو فلان خط رو توضیح بده……این طوری باز برای من ساده تره وگرنه باید بشینم دو ساعت کل مطلب رو هم بخونم. cry

      پاسخ
  35. مهدی
    2016/08/10 در 20:02

    سلام خسته نباشی من با اجازت به پروژه دما سنج اضافه کردم که درست کار میکنه ولی نمیتونم کاری کنم که چند ثانیه ساعت نشون بده !چندثانیهم دما میشه راهنمایی کنی ممنون

    پاسخ
    • مهدی دمرچیلو
      2016/08/11 در 08:43

      سلام
      خب اگه با آردویو میبود این پروژه کار ساده تر بود، خب الان شما باید یه حلقه for ایجاد کنی که از 0 تا 10000 بشموره(مثلا) و بعد مثلا بگی اگه شمارش از 5000 بیشتر شد ساعت رو نشون و دما رو نشون نده، و برعکس اگه کمتر از 5000 بود ساعت رو نشون نده و دما رو نشون بده، حالا مصلا این عدد 10000 رو از کجا بیاریم؟
      خب ببین تو اون میکرو با اون فرکانسی که کار میکنی هر کلاک چقدر زمان میبره، مثلا 125 نانو ثانیه در 8میگ، حالا مثلا میخوای هر 5 ثانیه وضعیت نمایش تغییر کنه، میای بررسی میکنی که برا 5 ثانیه چند تا کلاک لازمه و عدد نهایی رو میدی به for و…
      راه بهتر و اصولی تر اینه که از تایمر استفاده کنی!

      پاسخ
  36. ALI
    2016/08/19 در 00:37

    سلام
    ببخشید من تو پروتیوس با ساعت واقعی مقایسه کردم مال شما جلو افتاد کاریش نمیشه کرد

    پاسخ
    • مهدی دمرچیلو
      2016/08/19 در 08:54

      سلام
      چون با delay نوشتم برنامه رو خب طبیعی هستش این امر

      پاسخ
  37. علی
    2016/10/21 در 16:15

    سلام : بعد از سلام ممنون از زحماتتون . من تمام کد ها رو نوشتم ولی 4 تا ارور میده 3تا مربوط به PORTA=0*FF; PORTB=control[5];
    PORTA=anode_seg[is1];
    delay_ms(4);
    PORTB=control[4];
    PORTA=0*ff;
    , یکی هم مربوط به خط چهارم که تابع دومی هستش نقطه روشن . اگر ممکنه اشباه رو برام اصلاح کنید }

    پاسخ
  38. علی
    2016/10/21 در 16:19

    Error: G:\My Project\CodeVision\Clock\Clock1\clock.c(5): undefined symbol ‘C0’
    Error: G:\My Project\CodeVision\Clock\Clock1\clock.c(33): undefined symbol ‘ff’
    اینهم جواب ارورها که میده

    پاسخ
  39. علی
    2016/10/21 در 16:20

    هرکس از دوستان میتونه این مشکل حل کنه ممنون میشم

    پاسخ
    • مهدی دمرچیلو
      2016/10/21 در 17:35

      به جای * بیا x بزار

      پاسخ
    • erfan
      2017/07/11 در 06:12

      سلام bye اگر از پروگرامر های AVRمال شرکت ایتمل استفاده میکنی میتونی به راحتی از نرم افزار۴ AVR STUDIO میکرو ات را پروگرام کنی من خودم با کد ویژن پروگرام نمیکنم با استفاده از این برنامه (AVR STUDIO)
      پروگرامر های پشتیبانی شده توسط ای وی ار استدیو(AVR 0NE-STK600-QT600-AVRISP MKII-JTAGICE MKII-STK500-AVR DRAGON-AVRISP-JTAGICE)
      مال خودم STK500از شرکت نواوران الکترونیکه خیلی خوبه راضیم ok

      پاسخ
      • علیرضا اهنی
        2017/07/11 در 08:47

        سلام.
        مال منم STK500از شرکت نواوران الکترونیکه.
        فقط از ظیف سوکت استفاده نکن که غیر استاندارده smile

        پاسخ
  40. علی
    2016/10/21 در 16:28

    سلام : دوستان اگر کسی طریقه ریختن فایل هگز رو میکرو میدونه بگه تو نت سرچ کردم یک دو مورد دید م که نحو ریختن تو نرم افزار پروتئوس بو د . ممنون

    پاسخ
    • مهدی دمرچیلو
      2016/10/21 در 17:32

      سلام – از چه پروگرامری استفاده میکنی؟ دنبال آموزش کار با همون پروگرامر باش.

      پاسخ
  41. علی
    2016/10/22 در 00:13

    سلام . من در کد ویژن وقتی میخوام میکرو پروگرام کنم . این اخطار میده بایست چکارکنم وتی که فایل باز میکنم همه فایل ها هست الا فایل c the eeprom buffer is empty. do you want to load a fil?

    پاسخ
    • مهدی دمرچیلو
      2016/10/22 در 00:17

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

      پاسخ
    • محمد جواد سعیدی نیا
      2016/10/22 در 15:45

      سلام_اگه شما همه فایل ها رو داری و همه رو اجرا میکنی دیگه ینی فقد باید پروگرام کنی…وقتی که فایلت اصلا از eeprom استفاده نمیکنه دیگه نیازی نیست خودت یه فایل انتخاب کنی..بزن no …در ضمن توصیه میکنم از اخرین ورژن کدویژن استفاده کنی.برا من هم همین اخطار رو میداد اما وقتی نسخه 3.12 رو گرفتم دیگه اخطار نداد!

      پاسخ
    • erfan
      2017/07/11 در 06:05

      سلام bye اگر این سوال را از شما پرسید( C The Eeprom Buffer Is Empty. Do You Want To Load A Fil?)حتما گزینه نه را بزنید چون در صورتی که ان را پروگرام کنید ای سی شما دیگر غیر قابل استفاده میشود victory

      پاسخ
  42. مهدی
    2016/10/27 در 19:03

    سلام.میخواستم ازتون در مورد اینکه این پروژه رو با شیش تا سون سگمنت تکی درس کنم راهنمایی بخام !!!

    پاسخ
    • erfan
      2017/07/11 در 06:23

      سلام شش تا سون سگمت تکی فرقی نداره ولی باید مدارشو این جوری بکشی(لینک زیر)
      http://s8.picofile.com/file/8300190876/Ashampoo_Snap_2017_07_11_07h21m54s_002_.png
      بنظر من شش تایی بخر خودتو راحت کن چون خیلی سیم میخواد

      پاسخ
  43. علی
    2017/01/16 در 13:49

    سلام.برای چی گفتین این پروژه در عمل کار نمیکنخ.باید چیکار کنم؟
    یه سوال دیگه.باavrدر چه مدتی خطا میکنه؟

    پاسخ
    • مهدی دمرچیلو
      2017/01/16 در 15:16

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

      پاسخ
    • erfan
      2017/07/11 در 06:00

      سلام bye در جواب این دوستمون که میگن چرا در عمل جواب نمیده باید بگم که برای سون سگمنت هایی با ولتاژ۳v-5vبا جریان کشی ۲۰میلی امپر خود میکرو جواب میده ولی اگر از سون سگمت های بزرگ و با ولتاژ و جریان های بالاتر میخواهید باید از ای سی های سری ۷۴hc244یا مشابه ان که بتوانند جریان میکرو را تقویت کنند استفاده نمایید و نکته دگ این که حتما پورت هایC.0تا C.4را حتما با استفاده از مقاومت ۱۰Kپول اپ کنید وگرنه امکان داره که خود به خود عدد ساعت شما عوض شود ونکته اخراینکه حتما از سون سگمنت اند مشترک استفاده کنید اگر کاتد باشد باید کد های پروژه را دستکاری کنید و ان را به کاتد مشترک تبدیل کنید(خط۱و۲کد دومی) good

      پاسخ
  44. مجتبی
    2017/01/20 در 13:02

    درود و مهر بر تو دوست عزیز
    زنده باد!

    پاسخ
  45. pouya
    2017/04/19 در 17:47

    سلام ممنون از سایت خوبتون خیلی بدردم خورد
    فقط یه سوال داشتم توی این تابع
    (void delay_7segmeny(int d,int is1,int is2,int im1,int im2,int ih1,int ih2
    همه چیز ها کاملا معلومه فقط int d مربوط به چی هستش؟چرا تقسیم به چهل کردین؟ ممنون میشم جواب بدین blush

    پاسخ
    • مهدی دمرچیلو
      2017/04/19 در 22:06

      سلام – دقیقا خاطرم نیست ولی فک کنم تعداد تکرار هستش – یه چیز تو این مایه ها

      پاسخ
  46. سعید
    2017/05/12 در 23:39

    سلام چن تا پروژه بهتون بگم میتونین برام بنویسین؟؟؟

    پاسخ
    • مهدی دمرچیلو
      2017/05/13 در 04:40

      سلام-نه

      پاسخ
  47. علیرضا آهنی
    2017/05/16 در 14:55

    سلام.سون سگمت کاتد مسترکه یا اند؟

    پاسخ
    • erfan
      2017/07/11 در 08:24

      bye اند اگه تو کد ها دقت کنی مشخصه good

      پاسخ
  48. سینا
    2017/07/31 در 11:05

    سلام داداش
    میتونی شبیه سازی کامل پروتیوس
    به همراه توضیحاتش و لیست قطعات استفاده شده قرار بدی
    تا کسایی ک مبتدی هستند بتونن بفهمن

    پاسخ
  49. علی
    2017/08/08 در 21:51

    سلام
    ببخشید اگه بخوام فقط بر روی سون سگمنت ساعت و روز را داشته باشم (ساعت:روز) باید چکارکنم؟
    ممنون میشم راهنمایی کنید

    پاسخ
  50. علی
    2017/08/10 در 23:21

    سلام
    خسته نباشید
    میشه بپرسم شما با کدوم تایمر این ساعت رو نوشتید؟

    پاسخ
    • مهدی دمرچیلو
      2017/08/11 در 16:03

      سلام
      از تایمر استفاده نکردم که…

      پاسخ
      • علی
        2017/08/11 در 17:20

        ممنون
        فقط من میخواستم یه تغییراتی تو برنامه اعمال کنم
        به این صورت که فقط ساعت و ماه را بر روی سون سگمنت داشته باشم
        به این صورت(ساعت:ماه)
        ممنون میشم راهنماییم کنید
        واقعا خیلی وقته دارم روش کار میکنم و جواب نمیگیرم

        پاسخ
      • علی
        2017/08/12 در 13:27

        ممنون
        آقامهدی شرمنده
        من میخوام فقط بر روی سون سگمنت ساعت و روز رو نشون بده
        به این صورت(ساعت : روز )
        اگه میشه راهنمایی کنید
        ممنون میشم

        پاسخ
  51. علی
    2017/08/13 در 12:07

    سلام مهندس
    راهنمایی نمیکنید؟
    واقعا خیلی گیرشم

    پاسخ
  52. علی
    2017/08/14 در 21:28

    سلام مهندس
    درست شد
    اما یه مشکلی هست
    بعد از تموم شدن ساعت، سون سگمنت ریست میشود
    و دوباره شروع به شمارش میکند
    اگه میشه راهنمایی کنید
    من هر کاری که کردم نشد!

    پاسخ
    • مهدی دمرچیلو
      2017/08/15 در 05:19

      سلام
      متوجه نشدم.

      پاسخ
      • علی
        2017/08/15 در 09:41

        سلام مهندس
        شرمنده
        اون ریست رو درست کردم ولی کلا ساعت از دقیق بودنش خارج شد!
        فقط نمیدونم این ۴ مقدار زیر رو چی بزارم:
        ۱) ;d=d/56
        ۲) ;(delay_7segmeny(900,is1,is2,im1,im2,ih1,ih2,ir1,ir2
        ۳) ;(delay_7segmeny(600,0,0,0,0,0,0,0,0
        ۴) ;(delay_7segmeny(1145,is1,is2,im1,im2,ih1,ih2, ir1, ir2
        منظورم از مقدار، ۵۶ و ۹۰۰ و ۶۰۰ و ۱۱۴۵ هست
        http://s8.picofile.com/file/8303548400/New_folder_24_.rar.html
        http://uupload.ir/files/9huc_2017-08-15_10-13-25.jpg
        اگه میشه آقای مهندس راهنمایی کنید
        من هرچه این اعداد رو تغییر دادم دقیق نشد!

        پاسخ
  53. hasan
    2017/09/16 در 21:18

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

    پاسخ
    • علی
      2017/11/21 در 12:15

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

      پاسخ
  54. hasan
    2017/09/18 در 18:19

    سلام.
    چرا فایل هگز اپلود نمیشه؟ پروگرامر خطا میده… میشه راهنمایی کنید؟

    پاسخ
  55. hasan
    2017/09/21 در 11:49

    سلام قبلا نظر میدادیم یا مشکلی بود پاسخ میدادین…چی شده جدیدا؟؟؟؟
    اقا من پروژه ساعت ساختم و ساعت روی سون سگمنت اند مشترک کوچیک کار می کنه اما وقتی میخوام به سون سگمنت بزرگ اند مشترک وصل کنم به مشکل بر میخورم.
    مشکل اصلی درایو کردنشون هست. اگه ما یه شمارنده داشته باشیم چون سرعت شمارش توسط کلید های دستی هست IC ULN 2003 یا ULN2803جواب کار مارو میده که زمین پایه هارو تامین میکنه و با یک ترانزیستور A1015 هم ولتاژ مثبت رو تامین میکنیم اما وقتی به ساعت میرسه فرق میکنه.چون وقتی از این مدار استفاده میکنیم همه سون سگمنت ها هم زمان روشن هستند … sad دلیل اون هم اینه که فکرکنم بعد دو روز ازمایش help این ای سی و ترانزیستور بد بخت تو فرکانس بالا که داره میکرو ، سون سگمنت ها رو روشن میکنه نمیتونن سویچ کنند. rofl حالا شما بگین درست هست نظر من یا نه. hi .بعد فکر کنم مشکل من با ماسفت حل میشه؟؟؟ میشه راهنمایی کنید یا یه ای سی بافر فرکانس بالا معرفی کنید؟؟؟ جون من اقا مهدی اگه کمکی میتونی بکن.یا کسی اگه بلده بگه.

    پاسخ
    • مهدی دمرچیلو
      2017/09/21 در 12:37

      سلام
      والا تو زمینه آنالوگ چیزی باررم نیست – لپ کلوم dash

      پاسخ
  56. zaher
    2018/02/28 در 00:47

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

    پاسخ
    • مهدی دمرچیلو
      2018/02/28 در 20:27

      سلام.امکانش نیست.

      پاسخ
  57. amir
    2018/03/04 در 21:18

    با عرض سلام و تشکر از توضیحاتتون
    راستش من زیاد از این مواردی که فرمودید اطلاعی ندارم.
    میشه یه مدار عملی که خودتون هم تست کرده باشید با همین آیسیهای سری udn که فرمودید بزارید.
    در اینترنت که جستجو میکردم ظاهرا مشکل خیلی های دیگه هم هست.
    ممنون بابت وقتی که میگذارید.

    پاسخ
    • مهدی دمرچیلو
      2018/03/04 در 21:42

      خب سرچ کن یاد بگیر – چیزی نداره که.
      من امکان مطلب گزاشتنشو ندارم فعلا.

      پاسخ
  58. امیر
    2018/03/06 در 11:20

    با عرض سلام مجدد و تشکر بابت توجهتان
    راستش من زیاد از این مواردی که فرمودید اطلاعات ندارم.
    یه پروزه ساعت درست کردم که با سون سگمنت های کوچک هست . الان که میخوام از سون سگمنت های بزرگ استفاده کنم گیر کردم.
    میشه لطف کنید یه مدار عملی که خودتون هم تستس کرده باشید بزارید.
    توی اینترنت هم خیلی جستجو کردم و یا متوجه نشدم یا چیز قابل توجهی پیدا نکردم.
    البته ظاهرا این مشکل برای خیلی های دیگه هم هست.
    ممنون از وقتی که میگذارید.

    پاسخ
    • مهدی دمرچیلو
      2018/03/10 در 14:44

      سلام-متاسفانه 7s تاشو ندارم-بیا تلگرام صحبت کنیم
      آیدی تلگرامم
      @DMF313

      پاسخ
  59. مجتبی
    2018/03/07 در 23:51

    اقا مهدی این پروژه با سون سگمنت که هست مال شما با سون سگمنت 6 تایی هست ولی من فقط سون سگمنت 4 تایی دارم تو پروژه گفته از کریستال 32 کیلو هرتز استفاده کنید ولی من 8 مگاهرتز دارم یکم اینکه تو فیلم گفته از مقاومت 330 اهم استفاده کنید ولی من فقط 460 اهم دارم کلید هم پوش باتون نیست ساعت فقط 4 تا 8888 نشون میده برنامه پروگرام شده اگه نمیشد سون سگمنت روشن نمیشد حالا من چکار باید کنم اقا مهدی
    این خود پروژه http://s8.picofile.com/file/8321178850/%D9%85%D8%AF%D8%A7%D8%B1_%D8%B5%D8%AD%DB%8C%D8%AD_%D8%B3%D8%A7%D8%B9%D8%AA_%D8%AF%D8%B1_7_SEGMENT.zip.html
    این هم فیلم که خودم از ساعت کار نکرده گرفتم:
    http://s9.picofile.com/file/8321180618/video_2018_03_07_23_32_31.mp4.html

    پاسخ
    • مهدی دمرچیلو
      2018/03/12 در 12:41

      سلام-پروژه این مطلب با فرکانس داخلی 8 ( یا 1 میگ ) و Delay هستش فک کنم – فیوز بیت میکرو رو روی 8 یا 1 میگ داخلی تنظیم کنید ( 8 و 1 رو تست کنید – نمیدونم کدومشه )

      پاسخ
  60. مجتبی
    2018/04/11 در 21:52

    همین ساعت رو اقا مهدی راه اندازی کردم بصورت عملی یک مربوط به ثانیه شمار کار نمیکند ولی دهگان ثانیه شمار و کل دقیقه شمار و کل ساعت شمار درست کار میکنه . چون مقاومت بالایی در ساعت شمار گذاشتم عدد به وضوح دیده نمیشه امشب که دارم مینویسم مغازه بسته فردا میرم مقاومت می گیرم وصل میکنم به برد برد نورش درست میشه فقط شما 7 سگمنت 6 تایی گذاشتی من 7 سگمنت 2 تایی به تعداد 3 تا گذاشتم کل ایران رو بگردی 7 سگمنت 6 تایی نیست یعنی اون تاجر الکترونیک وارد نکرده حال تنها سوالم کد شما برای تنظیم ساعت درست نیست اون کلید ها push botton نیستند در پرتیوس به طریقی میشه ساعت تنظیم کرد ولی درعمل طبق فیلم که ملاحظه کردید تغییری بعد از فشردن کلید ها مشاهده نمیشه لطفا کد اصلاح کن تا پس فردا 5 تا فیبر مدار چاپی دارم بردم که مدار روچاپ کنند ارزش چاپ داشته باشه فقط کد مربوط به کلید ها بصورت push botton اره دستت درد نکنه این ساعت شما خوشبختانه عملی شد ولی بقیه ساعت ها که با سون سگمنت هستش در پرتیوس شدنی ولی در عمل نشدنی پس کد مربوط به پورت c رو اصاح کن: زنده باشی
    http://s9.picofile.com/file/8323496776/video_2018_04_11_22_33_05.mp4.html

    پاسخ
    • مهدی دمرچیلو
      2018/04/12 در 09:23

      سلام
      کدش شاید مشکلی نداشته باشه ولی سخت افزارش مشکل داره و نباید اینطور در عمل ببندی – باید از آیسی های سری ULN و یا UDN و یا ترانزیستور ها و کلا هر چیز تقویت کننده استفاده کنی

      پاسخ
      • مجتبی
        2018/04/13 در 00:08

        اگه از Push Botton استفاده کنیم کد ش چی می شه ببینید درسته؟؟؟؟؟؟؟؟
        Press Up Push Botton And Press Down Push Botton
        اگه اپ باشه Im1+1 اگر داون باشه Im1-1 یا اینکه چه کدی ؟؟؟؟؟
        If(PINC.2==1)
        {
        Im1=Im1+1;
        If(Im1==10)
        {
        Im1=0;
        Im2=Im2+1;
        }
        If (PINC.2==0)
        Return Im1;
        Or Or Or Or
        If(PINC.2==1) //ÇÑ Ñæ ϘÃå ÇÖÇÝå ˜ÑÏä ÏÞíÞå ˜Áí˜ ÔÏ
        {
        Im1=Im1+1;
        If(Im1==10)
        {
        Im1=0;
        Im2=Im2+1;
        }
        If (PINC.2==0)
        Return Im1-1;
        پاسخ

        پاسخ
        • مهدی دمرچیلو
          2018/04/13 در 16:23

          سلام-میخوای چیکار کنی اول – اینو بگو منم تو بحر کارت قرار بگیرم.

          پاسخ
      • مجتبی
        2018/04/15 در 15:37

        کد کلید PUSH botton برای تنظیم ساعت چیه ؟؟؟
        PORTC=0XFF;
        DDRC=0;
        if pinc.0==1
        im1+1
        else if piunc.0==0
        im1-1
        or
        im1-im1
        یکم اینکه نوشتید d=d/40 اون یعنی چی در ساعت سازی چه کاربردی داره ساعت که 59 دقیقه است

        پاسخ
  61. مجتبی
    2018/04/12 در 01:31

    اره اقا مهدی الان ساعت رو در عمل بستم ساعتی که شما گذاشتید فقط کلید ها عمل نمیکنه چون که push botton نیستند اگه اون کد رو هم اصلاح کنید 5 تا فیبر مدار چاپی دارم میبرم فروشگاه چاپ مدار لیزری اونجا میدم میکشن پایه ها وصل میشه میکرو هم که پروگرام شده 7 سگمنت هم که دارم فقط می مونه لحیم اونم خودم انجام میدم

    پاسخ
  62. مجتبی
    2018/04/14 در 03:20

    سلام اقا مهدی میخوام ساعت با 3 تا سون سگمنت 2 تایی راه اندازی کنم تو پرتیوس ساعتی که گذاشتید سوییج به زور کار میکنه ولی در عمل چون پوش باتون push botton نبستند کار نمیکند پس درعمل کار نمیکند با یقین در جریان هستید که کلید پوش باتون push botton چه نوع کلیدی می باشد بله فشاری می باشد که کدش فکر کنم اینطوری باشه:
    DDRC=0
    DDRC=0xFF
    ولی از این کد ها دقیق و قابل اجرا نمیتونم بنویسم برگردیم سر کدشما که اینطوری
    if pinc.0==1 در این حالت کاربر کلید پوش باتون را میفشارد
    im1+1
    if pinc.0==0 در این حالت کاربر کلید پوش باتون را نمی فشارد ولی این کد رو cpu میکرو نمی فهمه منم سوالم از شما اینه که به جای این سطر چه بنویسم
    در ساعت های قبلی که مزاحمتون شدم یادتون باشه با ماژول ساعت ds231 بود من در عمل راه اندازی کردم ولی ساعت می پرید جلو چون که اونم کلید تنظیم ساعت و ست نداشتید حالا این پروژه شما رو درعمل بستم تنها مشکلش اینه که کلید تنظیم ساعت نداره واگر قراره داشته باشه با پوش باتون شدنی لطفا کد ها اولیه رو که چطور با پوش باتون عملیاتی هستند بذارید بقیش خودم تو code vision تلاش میکنم بقیه ساعت ها هم تو نت با بیسیک هستند که من به c بسیار واردتر و قابل فهم تر از basic برام هستش

    پاسخ
    • مجتبی
      2018/04/14 در 03:31

      if pinc.0==0
      im1-1
      or what??

      پاسخ
    • مهدی دمرچیلو
      2018/04/16 در 18:10

      سلام-خو این کلیدا رو شما باید پول دان کنید – در عمل تا به مشکل بر خوره پروژه.

      پاسخ
      • مجتبی
        2018/04/16 در 19:41

        سلام اینه که میگید پول دان کردن کلید این یعنی چی لطفا بیشتر توضیح بدید؟؟؟؟؟

        پاسخ
        • مهدی دمرچیلو
          2018/04/16 در 22:58

          سلام
          مطلبش داخل سایت هستش – تو قسمت آموزش های Avr
          تو نت هم بزنی آموزشش باید بیاد

          پاسخ
      • مجتبی
        2018/04/19 در 14:50

        سلام اقا مهدی پول داون کردم در پرتیوس با پوش باتون جواب مثبت داد و لی در عمل با مقاومت 10 کیلو اهم پول داون کردم ولی تغییری نکرد نه ثانیه شمار نه دقیقه شمارنه ساعت شمار چکار کنم؟؟؟؟؟؟؟؟؟؟؟؟؟
        پول داون کردن در عمل با مقاومت 10 کیلو اهم تغییری نکرد فقط در پرتیوس با پوش باتون عددش زیاد شد حالا چکار کنم؟؟؟؟؟؟؟؟

        پاسخ
        • مهدی دمرچیلو
          2018/04/19 در 20:21

          خب شما که 3 تا 7s دو تایی میخوای به میکرو وصل کنی – باید جریانشو تامین کنی اول – از آیسی های سری udl یا uln برا تقویت جریان میتونی استفاده کنی.
          چون میکرو جریان این 7s ها رو نمیتونه تامین کنه.

          پاسخ
      • مجتبی
        2018/04/20 در 05:32

        اگه لازمه فیلم یا عکس بزارم بگید؟؟؟؟؟؟؟؟

        پاسخ
        • مهدی دمرچیلو
          2018/04/20 در 09:25

          فک نکنم نیازی باشه – چون مطمئنا شما هر 3 تا 7s دو رقمی رو مستقیما به میکرو وصل کردی که نباید این کارو بکنی – و اگه از آیسی های تقویت کننده استفاده کرده – یا اتصالاتت مشکل داره یا کد پروژه

          پاسخ
      • مجتبی
        2018/04/22 در 19:04

        سلام ممنون از پاسخگویی سوال 1: اگه از ای سی های uln سری ULN2003A یا ULN2804 استفاده کنیم کد پروژه تغییر میکنه؟؟؟/؟؟؟
        2 : برای 3 تا سون سگمنت 3 تا ULN2804 یا ULN2003A باید استفاده کنم؟؟؟؟؟ یا یکدونه ای سی uln برای 3 تا سون سگمنت دو تایی کافی هستش؟؟؟؟؟؟؟؟؟؟؟

        پاسخ
        • مجتبی
          2018/04/22 در 19:09

          3: سوال سوم ای سی ULN2003A و ULN2804 که هستش یک طرف نوشته com و 1c تا 7c اون میره میکرو و طرف دیگر نوشته 1b تا 7B اون میره سون سگمنت حالا اگه یدونه باش 3 بار میره سون سگمنت و اگر 3 تا ULN باشه 3 بار میره سون سگمنت درست گفتم یا نه؟؟؟؟؟؟؟؟؟/

          پاسخ
          • مهدی دمرچیلو
            2018/04/23 در 09:55

            دیتاشیتشو ببین ترجیها
            ولی فک کنم 1b-7b ورودی باشه و 1c-7c خروجی باشه.

        • مهدی دمرچیلو
          2018/04/23 در 09:54

          سلام
          1-سری uln فک کنم آره ولی سری udn فک نکنم.
          اینا آیسی هاشو داشته باشم یه مطلب آموزشی براش مینویسم ولی خب متاسفانه ندارم.
          2-ببین این uln ها تا جایی که یادمه 8 کاناله هستن – خو هر 7s حدود 7 تا پایه داره فک کنم – لذا همون هر 7s یه uln کافیه

          پاسخ
  63. علی مومن
    2018/05/20 در 09:08

    سلام اقا مهدی . چرا دکمه ی ریست تو پروتوس کار نمیکنه؟ بقیه دکمه ها کار میکنن. مشکل از کده؟

    پاسخ
    • مهدی دمیرچیلو
      2018/05/20 در 09:38

      سلام
      با پروتئوس کار نمیکنم – توصیه هم میکنم کار نکنید – مداراتو در عمل ببندید و تست کنید.

      پاسخ
  64. امیرحسین
    2018/11/08 در 19:52

    سلام وقت بخیر میخوام ساعت دیجتال atmega32 با 4 مگاهرتز درست کنم نمیدونم چطوری باید کداشو بزنم اگر بتونید کد هاشو برام ایمیل کنید ممنون

    پاسخ
  65. امیرحسین
    2018/12/18 در 13:00

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

    پاسخ
  66. مریم
    2018/12/19 در 16:31

    سلام ببخشید این پروژه رو با همین قطعات کسی بسته و آیا جواب داده ؟

    پاسخ

یک نظر بدهید

برای صرف‌نظر کردن از پاسخ‌گویی اینجا را کلیک کنید.

آزادی قدس نزدیک است، ان شاء الله

آزادی قدس نزدیک است، ان شاء الله

مطلب ( پروژه ) بعدی …

فعلا دارم رو USB و میکرو LPC کار میکنم، 3 تا موضوع مطرح هستش ( که تو ذهنمه هر3شو برم ) :

1) میکرو در نقش Device ( فعلا محوریت کار من این مورد هستش )
2) میکرو در نقش Host
3) میکرو در نقش OTG

 

و باز 2 تا موضوع مطرح هستش، برا راه اندازی usb دو تا راه داریم ( که تو ذهنمه هر2شو برم ) :

1) استفاده از میکروکنترلر ( فعلا محوریت کار من این مورد هستش که از LPC1768 استفاده میکنم )
2) استفاده از آیسی های مختص اینکار.

 

فعلا کارم با دیتاشیت usb تموم شده، دارم کلاس های usb رو مطالعه میکنم، کلاس cdc رو ماستمالی کردیم و یه پروژه ازش منتشر کردیم، الان رو کلاس HID ریز شدم و دارم مطالعه میکنمش و پروژه ازش میزارم تو سایت.

 

جزئیات داستان رو در لینک زیر میتویند ببینید :

آموزش جامع پروتکول USB

 

===

 

به علت اثطغبال بیش از حد دوستان از موضوع usb؛ فعلا یکم سرگرم طراحی قالب جدید سایت شدم ^_^

نظرات اخیر

  • مهدی دمیرچیلو : هر رجیستر در واقع یه آدرس هستش - شما آدرس ( رجیستر ) های فوق رو مقد ...

  • حسین : واحد خاصی رو داخل LPC15xx نمی‌خوام فعال کنم. برای شروع، فقط می‌خوام ...

  • مهدی دمیرچیلو : سلام مدار 1 : سنسور + میکرو + بلوتوث : این میکرو دیتای سنسور رو میخ ...

  • مهدی دمیرچیلو : سلام - این دو دو میکرو جدا هستند - دلیلی نداره که کد های یکی تو اون ...

  • shiva : سلام، وقتتون بخیر مرسی بابت مطالب خوبتون. من می خوام اطلاعت یه سنسو ...

جستجو

bigtheme
  1. پسورد فایل های سایت

    پسورد تمام فایل های سایت الکترونیک

  2. کانال ما در آپارات


ارائه دادن پروژه های سایت به استاد و یا فروختنشون مورد رضایت ما نیست و خلاف شرع و قانون می باشد / کپی کردن مطالب سایت ممنوعه /
  توسط بیگ تم