نمایش/عدم نمایش سایدبار
رفتن به بالای صفحه

قفل رمز ۴ رقمی پیشرفته با AVR

به نام خدا : قفل رمز ۴ رقمی پیشرفته با AVR ؛ این پروژه نسخه اصلاح شده و یکم پیشرفته تر! پروژه زیر هستش : قفل رمز ۴ رقمی با میکروکنترلر avr

امکانات افزوده شده در قفل رمز دیجیتال :

1) تغییر رمز عبور توسط کاربر>>>پسورد پیشفرض 1234 هستش>>>که اگه رمز رو تغییر بدید
2) بررسی این که آیا پسورد وارد شده درست وارد شده یا نه>>>>که اگه درست وارد شده بود یهکاری رو انجام بده>>>که این بر عهده خودتونه که به میکرو چه دستوری بدید تا در صورت صحیح بودن پسورد وارد شده میکرو چه کار رو انجام بده

اینم از کد های پروژه قفل رمز که داخل کد ها توضیحات لازم رو دادم لذا از توضیح اضافه خودداری میکنم.

 

دانلود این پروژه | حجم : 140 کیلوبایت!

اینم فیلم پروژه که من بستم و جواب هم داد(پروژه ساده ای هستش…)  blum

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

1) تعداد حروف غیر فارسی از حروف فارسی بیشتر باشه دیدگاه به صورت خودکار حذف میشه.

2) به موارد درخواست پروژه/کد آماده و سوالاتی که بلد نباشم پاسخ داده نمیشه.

3) برای گزاشتن کدهاتون از این سایت استفاده کنید : debian

  1. مهمان

    hossein110

    درست شد…تشکر فراوان

    1397/12/01
    09:19
  2. مهمان

    hossein110

    خیر ….همرو با مقاومت 10 کیلو به زمین وصل کنم؟؟؟

    1397/12/01
    09:12
  3. مهمان

    hossein110

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

    1397/12/01
    08:56
    • نویسنده این مطلب

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

      سلام-مقاومت پول آپ/دان استفاده نکردی برای کیپد.

      1397/12/01
      08:59
      • مهمان

        hossein110

        خیر …..هر هشت تا پین رو با 10 کیلو به زمین وصل کنم؟؟؟

        1397/12/01
        09:14
  4. مهمان

    عطیه

    سلام من کد زیر رو نوشتم و به عنوان فرمان درست بودن هم ازش خواستم که چهارتا led سبز رو روشن کنه و در صورت اشتباه بودن چهارتا led قرمز رو روشن کنه،،
    میشه لطف کنید بگید اشتباهم چی بوده؟
    چون بعد از ۴ بار رمز زدن قرمز روشن میشه و دیگه خاموش نمیشه!
    #include
    // Alphanumeric LCD functions
    #include
    #include
    #include
    #define c1 PINC.4
    #define c2 PINC.5
    #define c3 PINC.6
    #define c4 PINC.7
    char buffer[16];
    unsigned char scan[4]={0xfe,0xfd,0xfb,0xf7};
    int i;
    unsigned char x[4]={‘ ‘,’*’,’*’,’*’};
    char z;
    unsigned char f[4];
    char pass;
    char arrkey[16]={‘7′,’8′,’9′,’/’,’4′,’5′,’6′,’*’,’1′,’2′,’3′,’-‘,’c’,’0′,’=’,’+’};
    char keypad(){
    unsigned char r,c,k;
    while(1){
    for(r=0;r<4;r++){
    c=255;
    PORTC=scan[r];
    delay_us(10);
    if(c1==0)c=0;
    if(c2==0)c=1;
    if(c3==0)c=2;
    if(c4==0)c=3;
    if(c!=255){
    k=arrkey[(r*4)+c];
    while(c1==0);
    while(c2==0);
    while(c3==0);
    while(c4==0);
    delay_ms(50);
    return k;
    }
    }
    }
    }
    // Declare your global variables here
    void main(void)
    {
    // Declare your local variables here
    // Input/Output Ports initialization
    // Port A initialization
    // Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In
    DDRA=(0<<DDA7) | (0<<DDA6) | (0<<DDA5) | (0<<DDA4) | (0<<DDA3) | (0<<DDA2) | (0<<DDA1) | (0<<DDA0);
    // State: Bit7=T Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T
    PORTA=(0<<PORTA7) | (0<<PORTA6) | (0<<PORTA5) | (0<<PORTA4) | (0<<PORTA3) | (0<<PORTA2) | (0<<PORTA1) | (0<<PORTA0);
    // Port B initialization
    // Function: Bit7=Out Bit6=Out Bit5=Out Bit4=Out Bit3=Out Bit2=Out Bit1=Out Bit0=Out
    DDRB=(1<<DDB7) | (1<<DDB6) | (1<<DDB5) | (1<<DDB4) | (1<<DDB3) | (1<<DDB2) | (1<<DDB1) | (1<<DDB0);
    // State: Bit7=0 Bit6=0 Bit5=0 Bit4=0 Bit3=0 Bit2=0 Bit1=0 Bit0=0
    PORTB=(0<<PORTB7) | (0<<PORTB6) | (0<<PORTB5) | (0<<PORTB4) | (0<<PORTB3) | (0<<PORTB2) | (0<<PORTB1) | (0<<PORTB0);
    // Port C initialization
    // Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=Out Bit2=Out Bit1=Out Bit0=Out
    DDRC=(0<<DDC7) | (0<<DDC6) | (0<<DDC5) | (0<<DDC4) | (1<<DDC3) | (1<<DDC2) | (1<<DDC1) | (1<<DDC0);
    // State: Bit7=P Bit6=P Bit5=P Bit4=P Bit3=0 Bit2=0 Bit1=0 Bit0=0
    PORTC=(1<<PORTC7) | (1<<PORTC6) | (1<<PORTC5) | (1<<PORTC4) | (0<<PORTC3) | (0<<PORTC2) | (0<<PORTC1) | (0<<PORTC0);
    // Port D initialization
    // Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In
    DDRD=(0<<DDD7) | (0<<DDD6) | (0<<DDD5) | (0<<DDD4) | (0<<DDD3) | (0<<DDD2) | (0<<DDD1) | (0<<DDD0);
    // State: Bit7=T Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T
    PORTD=(0<<PORTD7) | (0<<PORTD6) | (0<<PORTD5) | (0<<PORTD4) | (0<<PORTD3) | (0<<PORTD2) | (0<<PORTD1) | (0<<PORTD0);
    // Timer/Counter 0 initialization
    // Clock source: System Clock
    // Clock value: Timer 0 Stopped
    // Mode: Normal top=0xFF
    // OC0 output: Disconnected
    TCCR0=(0<<WGM00) | (0<<COM01) | (0<<COM00) | (0<<WGM01) | (0<<CS02) | (0<<CS01) | (0<<CS00);
    TCNT0=0x00;
    OCR0=0x00;
    // Timer/Counter 1 initialization
    // Clock source: System Clock
    // Clock value: Timer1 Stopped
    // Mode: Normal top=0xFFFF
    // OC1A output: Disconnected
    // OC1B output: Disconnected
    // Noise Canceler: Off
    // Input Capture on Falling Edge
    // Timer1 Overflow Interrupt: Off
    // Input Capture Interrupt: Off
    // Compare A Match Interrupt: Off
    // Compare B Match Interrupt: Off
    TCCR1A=(0<<COM1A1) | (0<<COM1A0) | (0<<COM1B1) | (0<<COM1B0) | (0<<WGM11) | (0<<WGM10);
    TCCR1B=(0<<ICNC1) | (0<<ICES1) | (0<<WGM13) | (0<<WGM12) | (0<<CS12) | (0<<CS11) | (0<<CS10);
    TCNT1H=0x00;
    TCNT1L=0x00;
    ICR1H=0x00;
    ICR1L=0x00;
    OCR1AH=0x00;
    OCR1AL=0x00;
    OCR1BH=0x00;
    OCR1BL=0x00;
    // Timer/Counter 2 initialization
    // Clock source: System Clock
    // Clock value: Timer2 Stopped
    // Mode: Normal top=0xFF
    // OC2 output: Disconnected
    ASSR=0<<AS2;
    TCCR2=(0<<PWM2) | (0<<COM21) | (0<<COM20) | (0<<CTC2) | (0<<CS22) | (0<<CS21) | (0<<CS20);
    TCNT2=0x00;
    OCR2=0x00;
    // Timer(s)/Counter(s) Interrupt(s) initialization
    TIMSK=(0<<OCIE2) | (0<<TOIE2) | (0<<TICIE1) | (0<<OCIE1A) | (0<<OCIE1B) | (0<<TOIE1) | (0<<OCIE0) | (0<<TOIE0);
    // External Interrupt(s) initialization
    // INT0: Off
    // INT1: Off
    // INT2: Off
    MCUCR=(0<<ISC11) | (0<<ISC10) | (0<<ISC01) | (0<<ISC00);
    MCUCSR=(0<<ISC2);
    // USART initialization
    // USART disabled
    UCSRB=(0<<RXCIE) | (0<<TXCIE) | (0<<UDRIE) | (0<<RXEN) | (0<<TXEN) | (0<<UCSZ2) | (0<<RXB8) | (0<<TXB8);
    // Analog Comparator initialization
    // Analog Comparator: Off
    // The Analog Comparator's positive input is
    // connected to the AIN0 pin
    // The Analog Comparator's negative input is
    // connected to the AIN1 pin
    ACSR=(1<<ACD) | (0<<ACBG) | (0<<ACO) | (0<<ACI) | (0<<ACIE) | (0<<ACIC) | (0<<ACIS1) | (0<<ACIS0);
    SFIOR=(0<<ACME);
    // ADC initialization
    // ADC disabled
    ADCSRA=(0<<ADEN) | (0<<ADSC) | (0<<ADATE) | (0<<ADIF) | (0<<ADIE) | (0<<ADPS2) | (0<<ADPS1) | (0<<ADPS0);
    // SPI initialization
    // SPI disabled
    SPCR=(0<<SPIE) | (0<<SPE) | (0<<DORD) | (0<<MSTR) | (0<<CPOL) | (0<<CPHA) | (0<<SPR1) | (0<<SPR0);
    // TWI initialization
    // TWI disabled
    TWCR=(0<<TWEA) | (0<<TWSTA) | (0<<TWSTO) | (0<<TWEN) | (0<<TWIE);
    // Alphanumeric LCD initialization
    // Connections are specified in the
    // Project|Configure|C Compiler|Libraries|Alphanumeric LCD menu:
    // RS – PORTA Bit 0
    // RD – PORTA Bit 1
    // EN – PORTA Bit 2
    // D4 – PORTA Bit 4
    // D5 – PORTA Bit 5
    // D6 – PORTA Bit 6
    // D7 – PORTA Bit 7
    // Characters/line: 16
    lcd_init(16);
    while (1)
    { lcd_clear();
    for(i=0;i<5;i++)
    {lcd_gotoxy(0,0);
    lcd_putsf("pass=");
    pass=keypad();
    f[i]=pass;
    z=x[i];
    lcd_gotoxy(i,1);
    sprintf(buffer,"%c%c",z,pass);
    lcd_puts(buffer);
    }
    if(f[0]==1){PORTB.0=1;}
    else{ PORTB.4=1;}
    if(f[1]==2){PORTB.1=1;}
    else{PORTB.5=1;}
    if(f[2]==3){PORTB.2=1;}
    else{PORTB.6=1;}
    if(f[3]==4){PORTB.3=1;}
    else{PORTB.7=1;}
    }

    1397/09/30
    01:58
  5. مهمان

    معین

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

    1397/07/27
    10:55
  6. مهمان

    رضا

    سلام خسته نباشید
    تو این پروژه از up ,up2 استفاده کردید
    چی هستن؟؟؟؟؟؟ dash

    1397/07/08
    09:22
  7. مهمان

    moamad

    سلام
    ممنون اززحمت هایی که میکشید.
    دمتون گرم و خسته نباشید.
    همیشه مطالبتون جوابن.
    اجرتون با امام حسین.
    یاعلی wink heart

    1397/06/13
    11:46
  8. مهمان

    محمد

    باعرض سلام و خسته نباشید
    چیجوری باید از این مدار خروجی رله گرفت

    1397/05/08
    11:59
  9. مهمان

    hussein

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

    1397/04/08
    07:09
    • نویسنده این مطلب

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

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

      1397/04/12
      08:42
      • مهمان

        moamad

        سلام
        کدوم متغیر ها رو باید از نوع eeprom ایجاد کرد؟
        خیلی ممنون

        1397/06/14
        12:10
  10. مهمان

    رضا علوی

    سلام.
    میشه بپرسم رمز فایلی که گذاشتین چیه؟

    1397/03/14
    06:23
    • نویسنده این مطلب

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

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

      1397/03/14
      11:58
  11. مهمان

    a

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

    1397/03/12
    06:54
  12. مهمان

    معین

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

    1397/03/07
    05:52
    • نویسنده این مطلب

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

      سلام
      چه توضیحی میخوای بدم؟

      1397/03/08
      11:27
  13. مهمان

    Sinaa

    سلام خسته نباشید
    ببخشید فایل hex داره داخل فایلی که گذاشتید؟

    1397/02/31
    04:18
    • نویسنده این مطلب

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

      سلام-نمیدونم ببینید-اگه هم نباشه – کدش هستش

      1397/02/31
      11:00
  14. مهمان

    معین

    سلام مقاومت پول آپ دان رو چطوری باید بزارم؟؟؟؟
    اقا میگی اسم صفحه کیبوردی که تو پروتِوس شما گذاشتی چی هستش اخه اونی رو که من تو پروتیوس پیدا کردم اصلا شبیه مال شما نیست به جای علامت reset که شما تو صفحه کلیدتون دارید برای من علامت مساوی هستش تور خدا کمکم کنید cry cry cry

    1397/02/02
    09:30
  15. مهمان

    علیرضاافصحی

    سلام این پروژرو من نوشتم مقاومت پول دانم گذاشتم برای کیپد که خودتونم در پروزه گذاشتین DDRB=0xf ولی بازم یک عددو میزنی همون عدد گیر میکنه تا آخر بعد میگه رمز اشتباست مشکل کجاست؟

    1396/12/15
    01:45
    • نویسنده این مطلب

      مهدی دمرچیلو

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

      1396/12/19
      02:36
  16. مهمان

    سعید

    اقا من این مدار رو میبندم ولی به محض وصل کردن تغذیه مدار شروع میکنه برای خودش خودبخود اعدادی میده همینجوری اعداد مختلف میزنه برای خودش راه حلش چیه لطفا دقیق بگید چیکار کنم ممنون میشم

    1396/11/23
    10:38
    • نویسنده این مطلب

      مهدی دمرچیلو

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

      1396/11/23
      09:58
  17. مهمان

    سعید

    سلام برای این پروژه فیوز بیت ها رو چطوری تنظیم کنم دقیقا تیک هاشو اگه بگید کدوم هاشو بزنم ممنون میشم با میکرو مگا16

    1396/11/22
    08:08
    • نویسنده این مطلب

      مهدی دمرچیلو

      سلام
      هیچی
      همون پیشفرض خود میکرو.

      1396/11/22
      08:20
  18. مهمان

    مهدی

    سلام
    این مدارو تغییر بدیم که اگه 3بار رمز اشتباه زده بشه کیپد از کار بیافته وقتیwhile یاifمیزارم یه کلیدی که زده میشه رو تکرار میکنه،لطفا راهنماییم کنید

    1396/09/30
    07:20
  19. مهمان

    مهدی

    سلام
    من این پروژه رو با Atmega32 مینویسم ولی وقتی اجرا میکنم.یه کلید که فشار داده میشه.تا آخر همون کلیدو میزنه و ارور میده که رمزتون استباهه.مشکل از کجا میتونه باشه؟

    1396/09/29
    11:18
    • نویسنده این مطلب

      مهدی دمرچیلو

      سلام.مقاومت پول آپ/دان نزاشتی برا کیپد.

      1396/09/29
      08:58
  20. مهمان

    سپهر

    ببخشید پسورد فایل زیپ چیه؟

    1396/09/28
    08:30
    • نویسنده این مطلب

      مهدی دمرچیلو

      www.dmf313.ir

      1396/09/28
      11:28
  21. مهمان

    محمد

    سلام بر مهندسین گرامی
    اقا من به یه مشکلی خوردم برنامه رو خیلی وارسی کردم ولی نفهمیدم مشکل کجاست!!!تو کامپایل کردن نهایی یه ارورر میده به این مضمون the program has no main funcion
    و این که اگه میشه توضیح مختصر یا یه لینک بدین که راهنمایی کنه اگه پسوررد درست بود چی بشه اگه غلط بود چی بشه
    دمتون گرم خیلی ممنون دوستتون دارم

    1396/09/20
    07:26
    • نویسنده این مطلب

      مهدی دمرچیلو

      سلام
      برنامت تابع main نداره
      دسترسی بده بیام تو pc ِیت ببینم مشکل چیه.
      Ammyy.Admin.3.5.Final رو نصب کن و دسترسی رو بهم بده.
      تو تلگرام بهم خبر بده.
      @dmf313

      1396/09/21
      02:36
  22. مهمان

    مهدی

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

    1396/09/03
    04:55
  23. مهمان

    محمد

    دمت گرم درسته ترم اولی کارشناسی برقم ولی از حالا اینا رو میسازم که دهن مهن تو کلاس نباشه!!! همه صاف میشن خخخخخ
    در ضمن یه تریستور و یه رله هم میتونه مدار رو هرچه کاربردی تر کنه
    در ضمن چه کتابی برای برنامه نویسی سی سراغ دارین که پایه ای یاد بده البته من بسکام (بیسیک) رو بلدم و این پروژه رو هم تو پروتیوس ساخته بودم منتها عملی خیلی کار نکردم
    ممنون

    1396/07/14
    10:32
    • نویسنده این مطلب

      مهدی دمرچیلو

      بخیال بسکام شو! سی کار کن – کتاب دکتر احمد فراهانی و فیلمای مکتب خوبه خوبه – کتابه تو نت هستش

      1396/07/14
      10:37
  24. مهمان

    iraj

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

    1396/04/09
    07:38
  25. مهمان

    فرزاد

    سلام و خسته نباشید .
    من برنامه رو توی کدویژن run می کنم سه تا خطا میده یکی روی void amaliat(int y) نوشتهه must declare first in blockو دیگری روی amaliat(y) خطا میده نوشته expression must have ‘pointer to function ‘type این قسمت ها را چه تغییراتی بدم خطا نده.

    1396/01/21
    09:27
    • نویسنده این مطلب

      مهدی دمرچیلو

      سلام
      پروژه رو از ته مطلب دانلود کردم – خطا و هشداری نداد
      حالا برا بحث این خظاهای شما میگه که باید تابع رو در اول پروژه ( بعد از فراخونی کتابخونه ها) باید تعریف کنی – مورد بعدی هم برا بحث اشاره گر ها هستش که باید ببینم کد مورد نظر رو حتما

      1396/01/21
      09:34
  26. مهمان

    محمد

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

    1396/01/11
    08:47
    • نویسنده این مطلب

      مهدی دمرچیلو

      سلام – وقتش و حسش نیست – در زمینه برنامه نویسی یکم تمرین کنید – میبینین این کد چیز خاصی نداره

      1396/01/11
      10:46
  27. مهمان

    سید

    الان اگه اینجوری تنظیم کنم دقیق در میاد(ساعت با delay)؟؟؟؟
    ۱۰۰۱<<<فیوزبیت کلاک
    http://s8.picofile.com/file/8290035076/Screenshot_284_.png
    این عکسم نگاه کن ببین درسته؟؟

    1395/12/30
    04:46
    • مهمان

      سید

      درست نیست؟؟ sorry

      1396/01/01
      03:42
      • نویسنده این مطلب

        مهدی دمرچیلو

        جان داش حال ندارم برم بررسی کنم صحت حرفت رو – smile حسش نی جان کاکو laugh

        1396/01/01
        11:06
    • مهمان

      سید

      حالا نمیشه یه بررسی کوچیک بکنی؟؟؟؟ sorry

      1396/01/02
      01:46
  28. مهمان

    سید

    داداش ناراحتی نداره…شما این همه چیز یادم دادی…فقط یکم خواستم مظلوم نمایی کنم yes
    فقط چندتا سوال میپرسم جوابشون بدی برام شاید ۹۰درصد ابهامایی ک دارم رفع شه sorryهمشونو یکجا میپرسم شاید یه چند روزی از دستم راحت شدی!ببخشید دیگه تازه کارم،اگه نپرسم میترکم dash
    ۱-منظورت اینه ک اگه فرکانس رو تو کدویژن مثلا ۸مگ انتخاب کردم فیوزبیتاشم رو ۸مگ تنظیم کنم؟؟؟؟ برا همین پروژه فرکانس پروزه رو رو ۸ گذاشتم فیوزبیتاشم رو ۸ ولی خیلی سریع بود فرکانس پروژه رو ۱ مگ گذاشتم فیوزبیتاشم۱ مگ بازم همونطور بود ولی فرکانس پروزه رو گذاشتم ۸ و فیوز بیتا رو ۱درست شد مث همین فیلمی ک گذاشتی . تو اون پستی ک گذاشتی(انواع روش های ساخت ساعت)من ساعت با delay رو بستم…هرکاری کردم ثانیه رو درست نشون نمیداد..همه ی کارهایی ک الان گفتم ک برا این پروژه انجام دادم برا اونم انجام دادم ولی وقتی فرکانس پروژه رو رو۸ گذاشتم فیوزبیتاشم رو ۱مگ ثانیه هاش درست شد(کاملا درستم نه یکم جلو بود)
    ۲-توی این پست
    http://dmf313.ir/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D8%AC%D8%A7%D9%85%D8%B9-avr-%D8%AC%D9%84%D8%B3%D9%87-%DB%B1%DB%B4-system-clock-and-clock-options/
    گفتی که””وقتی بخواین با میکرو یه ساعت بسازید میتونید از کریستال ۳۲٫۷۶۸kHz به عنوان منبع کلاک میکرو استفاده کنید و برا این کار باید فیوز بیت CKSEL3..0 رو برابر ۱۰۰۱ قرار بدید””
    یعنی اون جایی ک داریم پروزه رو ایجاد میکنیم(همون جایی ک نوع میکرو رو هم مشخص میکنیم) فرکانسو ۳۲/۷۶۸کیلو بذارم فیوز بیتاشم۱۰۰۱ بذارم و کریستالشم بین پایه های jtag ؟؟؟ تو این حالت اگه ساعت با delay رو اگه ببندم دقیق تر میشه؟؟؟
    اوووووووف تقریبا همین بود wacko ببخشید اگه زیاد شد
    اگه امکانش هست هردوتا سوالمو با شماره جواب بده ک بفهممچی شده

    1395/12/29
    11:31
    • نویسنده این مطلب

      مهدی دمرچیلو

      ۱-دقیقا
      ۲-از اون حالت استفاده نکن تو – یه چیزی داریم به نام RTC فک کنم – از اون ااستفاده کن – مطلب آموزش و پروژش تو سایت هستش
      همش دو تا سوال؟ laugh شب خوش فعلا خدافظ – عیدت هم مبارک good

      1395/12/29
      11:36
    • مهمان

      سید

      دقیقا یعنی چی؟؟؟؟کدوم قسمت سوال یکم درست بود؟؟؟؟ rofl
      وقتی هم فرکانس پروژه و فیور بیتا رو یکی تنظیم میکنم درست جواب نمیده!!! توضیح دادم خووووو…الان فرکانس پروژه رو ۸ گذاشتم و فیوز بیتا رو ۱ مگ تا درست کار کرد
      اگه از این چیزی ک گفتم استفاده کنم و از RTC استفاده نکنم درسته؟؟؟؟
      عیدتم مبارک blum

      1395/12/29
      11:57
      • نویسنده این مطلب

        مهدی دمرچیلو

        اگه از این چیزی ک گفتم استفاده کنم و از RTC استفاده نکنم درسته؟؟؟؟

        خب ببین، این که کل میکرو بیاد نقش RTC ّازی کنه بیشتر بدرد میکروهای ارزون قیمتی مثل سری ATtiny میخوره و نه سری ATmega
        شما باید فرکانس کدویژن و میکرو رو یکسان تنظیم کنی – یه بار هر دو رو ۱ میگ و یکبار هر دو رو ۸ میگ تنظیم کن.

        1395/12/30
        08:34
    • مهمان

      سید

      داداش نمیگم ک میخوام از اون حالت ب جای rtc استفاده کنم…میخوام بدونم این چیزی ک (شماره۲) گفتم درست گفتم یا نه؟؟؟میخوام بدونم درست فهمیدمش یا نه

      1395/12/30
      12:57
      • نویسنده این مطلب

        مهدی دمرچیلو

        به پایه های جیتگ وصل نمیکنیم تا جایی که میدونم – به پایه های xtal وصل میکنیم

        1395/12/30
        03:45
    • مهمان

      سید

      Xtal منظورم بود yes
      داش مهدی خیلی خیلی ممنونننننننننن
      در مورد sim900 اگه اطلاعاتی داری بذار استفاده کنیم
      سپاس

      1395/12/30
      04:22
      • نویسنده این مطلب

        مهدی دمرچیلو

        دردسر داره – حسش نیست

        1395/12/30
        04:33
  29. مهمان

    سید

    اونجایی ک نوع میکرو رو مشخص کردم فرکانسو رو ۸مگ گذاشتم…فیوزبیتاشم“CKSEL = “۰۰۰۱ گذاشتم
    داداش با نیش و کنایه اذیتم نکن sorry بگو کچای کار مشکل داره؟؟

    1395/12/29
    08:21
    • نویسنده این مطلب

      مهدی دمرچیلو

      شوخی میکنم داش – نارحت نشو – خب اگه فرکانس رو هم درست تنظیم کردی – دیلای های تاثیر گزار رو بررسی کن – مقدارشون رو زیاد کن.

      1395/12/29
      09:56
  30. مهمان

    سید

    وقتی پروژه رو ایجاد کردم اونجایی ک نوع میکرو مشخص میکنیم اونجا فرکانسو رو ۸میگ گذاشتم…فیوزبیتاشم“CKSEL = “۰۰۰۱
    “SUT = “۱۰
    درست شد
    مطالب اون پستیم ک لینکشو گذاشتی فول فولم yes

    1395/12/29
    04:12
    • مهمان

      سید

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

      1395/12/29
      04:14
      • نویسنده این مطلب

        مهدی دمرچیلو

        فرکانسی که در کدویژن تنظیم میکنی برای کتابخونه ها هستش – یعنی چی؟
        ببین بعضی توابع بر حسب این که فرکانس میکرو چند هستش جواب های مختلفی میدن، حالا برا این که بهشون بگیم که ما از طریق فیوز بیت ها میخوایم فرکانس چند رو میکرو اعمال کنیم، میتونیم تو کدویژن فرکانس رو تنظیم کنیم – فقط همینه کاربرد تنظیم فرکانس تو کدویژن

        1395/12/29
        09:41
  31. مهمان

    سید

    ممنون…مفید بود
    فرکانس میکرو رو ۸میگ گذاشتم…فیوز بیتاشم رو ۸ تنظیم کردم ولی تا یک دکمه رو میزنم هر چهار تا کاراکترش رو فورا پر میکنه(مثلا کلید یک رو میزنم فورا ۴ تا یک پشت سرهم وارد میشه)
    پروژه رو با فرکانس یک انجام دادم فیوزبیتاشم اینجوری تنظیم کردم که اونم ۱ میگ بشه(cksel0=1 ,cksel1,2,3=0)
    بازم مثل قبل بود!!!
    از نظرت اون ۵۰میلی ثانیه رو بیشتر نکنم؟؟
    تو پرو تیوس فرکانسو رو یک گذاشتم درست شد ولی تو عمل نمیدونم چشه

    1395/12/29
    01:52
    • نویسنده این مطلب

      مهدی دمرچیلو

      انواع روش ها رو تست کن – مشکل رو پیدا کن

      1395/12/29
      08:32
    • مهمان

      سید

      خداییش من خیلی بیکارم ک میام سوال میپرسم sarcastic

      1395/12/29
      02:11
      • نویسنده این مطلب

        مهدی دمرچیلو

        خب چیکار کنم – سوالاتی میپرسی که معلومه خودت نرفتی و بررسی نکردی و سریع اومدی سوال کردی – توقع داری چی جواب بدم آخه dash

        1395/12/29
        02:39
    • مهمان

      سید

      درستش کردم dash
      فرکانس میکرو رو ۸میگ
      فیوزبیتاشم رو ۱ میگ۰۰۰۱
      دیشب دیر وقت بود مغزم ارور میداد
      فقط یه سوال تو این عکسی ک گذاشتم کار این فرکانس چیه؟؟؟
      رو هر چی بذارمش فرقی نمیکنه
      از یکی پرسیدم میگفت سرعت پروگرام کردن رو مشخص میکنه…مثلا اگه فرکانس میکرو رو ۸ باشه این فرکانسو بیشتر بذاری سریعتر پروگرم میشه
      http://s8.picofile.com/file/8289952434/Screenshot_280_.png

      1395/12/29
      03:12
  32. مهمان

    سید

    سلام
    خداییش وقتی میخوام سوال کنم خجالت میکشم sorry این چند روزه پوستتو کندم sarcastic
    من کدای این پروژه رو تغییر دادم اولشم چندتا کد اضافه کردم ک دیگه نیازی ب پول آپ یا پول دان خارجی نداشته باشه((البته خودم اینطور فک میکنم…تو پروتیوسم انجام شد))
    int key(void)
    {
    DDRA=0xff;
    DDRB=0x0f;
    PORTB=0xff;
    while(1)
    {
    PORTB.0 = 0 ;
    PORTB.1 = 1 ;
    PORTB.2 = 1 ;
    PORTB.3 = 1 ;
    if(PINB.4 == 0){return 1 ; delay_ms(50);}
    if(PINB.5 == 0){return 2 ; delay_ms(50);}
    if(PINB.6 == 0){return 3 ; delay_ms(50);}
    ا از نظرت جواب میده اینطوری ؟؟بدون مقاوت؟؟؟

    1395/12/28
    10:21
  33. مهمان

    حسن

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

    1395/11/24
    01:05
    • نویسنده این مطلب

      مهدی دمرچیلو

      سلام.کدویژن

      1395/11/24
      04:37
  34. مهمان

    ali

    سلام
    من می خوام وقتی رمز رو درست وارد کردم یک ال ای دی رو روشن کنه ، باید چه کدی بنویسم و کجا بذارمش؟
    و وقتی رمز رو غلط وارد کردم ، یک بیزر به میکرو وصل باشه و ۲ ثانیه بوق بزنه چه کدی بنویسم و کجا بذارم؟
    ممنونم.

    1395/11/07
    09:44
    • نویسنده این مطلب

      مهدی دمرچیلو

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

      1395/11/07
      11:49
  35. مهمان

    علی

    ایووووول ساده و روان بود فقط من هر چی زور زدم اون متغیر total_number رو نفهمیدم – چجوری تشخیص میده این عدد اول هس؟اصن تو برنامه تعریف نشده که total_number تشخیص دهنده ی ترتیب اعداد باشه ——- یه چیز دیگه وقتی فایل hex. رو میریزم تو میکرو توی پروتؤس شبیه سازیش میکنم مثلا ۱ رو میزنم دیگه بقیش رو خودش یک وارد میکنه

    1395/10/20
    07:13
    • نویسنده این مطلب

      مهدی دمرچیلو

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

      1395/10/20
      07:49
  36. مهمان

    بهی

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

    1395/09/30
    12:44
  37. مهمان

    esmael

    خسته نباشی مهندس
    حالا به فرض 2 رقم وارد کردیم و رقم سومو طول کشید وارد کنیم
    حالا میخوایم اگه بیش از 5 ثانیه طول کشید کلا از اول رمز بخواد
    چیکار کنیم؟؟
    یا زود زود زدیم رمزو و 5 رقم یا بیشتر وارد کردیم!
    اگه بخواهیم دوباره یه پیام بده چیکار کنیم؟

    1395/08/29
    12:58
    • نویسنده این مطلب

      مهدی دمرچیلو

      از تایمر استفاده کن – هر بار که عدد وارد شد تایمر رو 0 کن – و یه شرط تعریف کن که اگه زمان از 5 ثانیه بیشتر شد فلان کار رو بکنه…
      زود زود زدبیم تو میکرو معنایی نداره – سرعت انسان به سرعت میکرو نمیرسه

      1395/08/29
      01:15
  38. مهمان

    hanie :(

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

    1395/08/28
    02:05
    • نویسنده این مطلب

      مهدی دمرچیلو

      سلام
      میکرو Avr و برنامه نویسی c رو یاد بگیرید و پروژه رو تحلیل کنید ببینید باید کجا بزارید

      1395/08/28
      07:28
  39. مهمان

    آرش

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

    1395/08/02
    11:01
    • نویسنده این مطلب

      مهدی دمرچیلو

      سلام
      یه متغییر تعریف کن : تعداد اعداد دریافتی
      یه تابع تعریف کن برای اسکن کردن صفحه کلید
      هر موقع دکمه ای فشار داده شد، شمارنده تعداد اعداد دریافتی یه واحد زیاد بشه و عدد فشرده شده داخل یه متغییر ذخیره بشه و …

      1395/08/02
      11:43
  40. مهمان

    مهدی

    سلام مهندس ببخشید من برنامه ی خودتون رو اخل پروتئوس پروگرم میکنم اما توی اجرا یک عدد پشت سرهم تکرار میشه حتی وقتی توی فایل شبیه سازی خودون atmega 16 رو جایگزین میکنم بازم همین مشکل پیش میاد
    دلیلش چیه؟

    1395/07/07
    12:56
    • نویسنده این مطلب

      مهدی دمرچیلو

      سلام
      تو عمل امکانش برام نیست که ببندم – به پروتئوس هم که اعتماد ندارم – تو عمل برا کیپد مقاومت پول دان قرار بده – 4پایه خروجی – که به ورودی های میکرو وصل میشه – در ضمن در هنگام خوندن مقدار دکمه فشرده شده اون متغییر Y رو هم مقدارش رو غیر از اعداد 0 تا 10 بده – مثلا بعد که فهمیدی کدوم دکمه فشرده شده و کارت رو هم کردی بیا اون متغییر رو مقدارش رو مثلا بده 255

      1395/07/07
      09:45
  41. مهمان

    مهدی

    سلام

    1395/07/07
    12:52
  42. مهمان

    عماد

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

    1395/06/11
    08:53
    • نویسنده این مطلب

      مهدی دمرچیلو

      سلام
      الوقت و الحوصله لا موجود

      1395/06/11
      07:41
  43. مهمان

    کاظم

    سلام مهندس
    ممنون واسه این پروژه
    من یه مشکلی دارم و اون اینه که وقتی تو فایل پروتوس خودم run میکنم وقتی 1 شماره رو میزنم شروع می کنه به وارد کردن 4 عدد پشت سر هم .
    نمی دونم ولی وقتی فایل خودتون رو با atmega16 پروتوس خودم گذاشتم اونم اینجور شد !
    به نظرشما مشکل کجاست؟

    1395/05/14
    08:47
    • نویسنده این مطلب

      مهدی دمرچیلو

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

      1395/05/16
      05:26
  44. مهمان

    امیر

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

    1395/05/11
    12:56
    • نویسنده این مطلب

      مهدی دمرچیلو

      سلام
      مطالب اولیه آموزش aVR و 2-3 فصل اول کتابهای آموزش C رو بخونید.

      1395/05/11
      01:18
  45. مهمان

    pari

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

    1395/04/31
    08:03
    • نویسنده این مطلب

      مهدی دمرچیلو

      سلام
      متوجه نشدم
      وقتش رو ندارم متاسفانه

      1395/05/16
      12:30
  46. مهمان

    عرفان

    سلام
    من همونی هستم که چند وقت پیش راجب در باز کن رمزی وزتون سوال کرده بودم.
    بالاخره موفق شدم یدونه 8 رقمیش رو بسازم با زبان بیسیک. البته ال سی دی نخواستم براش بزارم.با میکرو at8 و کریستال داخلی. pcb براش زدم.رمز هم eeprom ذخیره میشه و با قطع شدن برق از بین نمیره.
    من یه مشکل عجیب بر خوردم اینکه وقتی پسوردشو عوض میکنم بعد از چن ساعت دیگه هیچ رمزی رو قبول نمیکنه و مجبورم ریستش کنم.
    حتی بعضب وقتا هنگام بعد از تغییر رمز دیگه باز نمیشه.
    شما میدونید مشکلش چیه؟
    ابا ممکنه بدلیل استفاده نکردن از کریستال خارجی باشه یا استفاده نکردن از حافظه خارجی باشه؟
    خیلی ازتون ممنونم شما تهنا کسی بودید که تو این پروژه به من کمک کردید خدا قوت. اگه ایمیل یا تلگرام داری بده من فایل پروژه رو بفرستم.
    بازم ممنون??

    1395/04/13
    07:58
    • نویسنده این مطلب

      مهدی دمرچیلو

      سلام
      از ایپرام خارجی استفاده کن
      من کمک کردم؟ یادم نمیاد laugh

      1395/04/14
      12:37
      • مهمان

        عرفان

        اون erfan.astinhost که همینجا کامنت داده من بودم.
        یه سوال.
        بعضی ها گفتن شاید میکروت ریست میشه (حالا بوسیله نویز یا هر چیز دیگه). حالا اگه فرض کنیم ریست میشه ایا به eeprom هم اسیب میرسونه؟
        چون بنظر من eeprom اسیب مبینه و مقدارش عوض میشه که هیچ رمزی رو قبول نمیکنه.
        حتی یه دکمه روی مدار گزاشتم که وقتی بگیری و روشنش کنی رمزو به 11111111 تغییر بده ولی خب بعد از چند شاعت نه رمز اصلیشو قبول میکنه و نه همین 8 تا یک.
        بعد یه سوال دیگه(اخریشه بخدا) من تو مدار یه رله دارم که 12 ولت ac رو سوییچ میکنه و با ترانزیستور کنترل میشه.
        همچنین کیپد به وسیله یه سیم فلت 2 متری به مدار وصل میشه (فلت پول اپ شده)
        تغذیش هم 12 ولت dc (همین تغذیه ایفون صوتی های معمولی خودمون) رو دادم به 7805 و خازن و این بساط ها.
        اینا نویز نمیندازن؟
        چون قیمت تموم شده این پروژه برام خیلی مهمه میخام کاملا همه چیز چک بشه اگه باز مشکل داشت برم سراغ حافظه خارجی
        (ای میکرو ها ام درد و سری دارنا یه 555 بزاری تو کوره هم کار میکنه?)
        خیلی ممنون.

        1395/04/14
        01:17
  47. مهمان

    هامون

    من یکم تغییرش دادم خاستی بگو بفرستم یه ایده ی دیگه رو ببینی

    1395/04/11
    03:52
  48. مهمان

    آناهیتا

    سلام
    ببخشید بازم مزاحم شدم
    اگه امکانش هست کل کدی که توی کد ویژن میزنی رو برام بذار که من همون رو کپی کنم بذارم تو کد ویژن خودم، حتی خطهایی که راجع به پورت ها نوشته شده
    هرکار میکنم ارور میده، هفته دیگه هم باید پروژم رو تحویل بدم
    تو رو خدا یه کاری کن، یا بگو چجوری کد رو بنویسم

    1395/04/04
    03:15
    • نویسنده این مطلب

      مهدی دمرچیلو

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

      1395/04/04
      05:19
  49. مهمان

    پارسا

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

    1395/03/30
    06:24
  50. مهمان

    niloo

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

    1395/03/29
    05:06
    • نویسنده این مطلب

      مهدی دمرچیلو

      سلام-همش همینی هستش که میبینی

      1395/03/29
      05:28
  51. مهمان

    niloo

    سلام
    این برنامه فایل ورد یا پی دی اف نداره برا پروژم می خوام….

    1395/03/29
    04:36
  52. مهمان

    آناهیتا

    سلام
    خوبی ؟
    وای من الان کلمو میکوبم تو دیوار!!!
    چرا خراب میشه همش؟
    این تابع عملیات رو میگه باید تعریف کنی! کجا تعریف کنمش؟
    مگه با void که مینویسم تعریف نیست؟

    1395/02/28
    12:05
    • نویسنده این مطلب

      مهدی دمرچیلو

      سلام
      من با کدویژن 3.12 الان تست کردم اروری نداد laugh
      ببین کجا اشتباه کردی

      1395/02/28
      01:18
  53. مهمان

    محمد جلوخانی

    سلام آقا مهدی خسته نباشی ، دو سالی هست از سایت خوبت استفاده میکنم ولی این اولین نظرمه ، ببخشید دیگه الانم هم خواستم بهت خدا قوت بگم و هم یه خواهش داشتم ، میشه قابلیت تغییر و ذخیره کردن رمز در eeprom رو هم به این پروژه اضافه کنی ممنون .
    ندیده خیلی دوست داریم

    1395/02/23
    11:01
    • نویسنده این مطلب

      مهدی دمرچیلو

      سلام
      ایپرام تو avr چیز خاصی نداره، متغییرها رو اولشون یه eeprom اضاافه کن تا تو ایپرام ذخیره بشن —- البته برا ایپرام داخلی

      1395/02/24
      09:53
  54. مهمان

    الی

    آقا مییشه به این برنامه username هم اضافه کرد؟؟؟ و یه ال ای دی که دوستمون البته گفت بازر .در موقع درست بودن رمز و نام کاربری اون ای ای دی روشن بشه . مثلا بعد از زدن رقم چهارم بره خط بعد برای ورود نام کاربری .

    1395/01/25
    11:46
    • نویسنده این مطلب

      مهدی دمرچیلو

      همه کاری میشه کرد….

      1395/01/25
      12:15
  55. مهمان

    عرفان

    ناموسا دمت گرم

    1395/01/16
    11:59
  56. مهمان

    erfan.atinhost

    دمت گرم داداش خیلی خوبه واسه بقیه وقت میزاری
    فقط یه سوال
    این وقتی خاموش میشه پسورد قبلی که روش سیو هست از بین میره نه؟
    یه سوال مسخره?: می خام روی پروتئوس اول شبیه سازی کنم ولی چجوری کد رو با پسوند .hex ذخیره کنم؟ بسکام و کد ویژن دارم.
    خیلی اقایی

    1394/11/06
    05:46
    • نویسنده این مطلب

      مهدی دمرچیلو

      آره از بین میره
      ولی میتونی متغییر هایی که لازم داری که مقدارش با رفتن برق از بین نره میتونی تو حافظه eeprom ذخیره شون کنی
      پروژه رو وقتی کامپایل کنی فایل hex ساخته میشه….. بسکام کار نکردم
      آقایی به این چیزا نیست…..
      یا علی

      1394/11/06
      06:37
  57. مهمان

    erfan.atinhost

    سلام
    یه سوال
    من برنامه نویسی زبان ویژال بیسیک بلدم ولی میکرو کنترلر کار نکردم.
    اگه این کد ها رو کپی کنیم بعد پروگرام کنیم دیگه حله؟
    بعد چن تا چیز میتونی بهش اضافه کنی یا یه سر نخ بهم بدی خودم درستش کنم؟ میخام قوی تر کنمش برای در باز کن
    ۱)میخام یه خروجی باشه که هر وقت پسورد درست زدی برای ۱ ثانیه خروجی ۱ شه بعد دوباره صفر شه
    ۲)یه ورودی باشه که هر وقت ۱ شد دستگاه کار کنه وقتی ۰ بود بنویسه “disable” و کار نکنه
    ۳) هر ۳ بار که پسورد اشتباه زده شد یک دقیقه اجازه پسورد زدن نده مثل قفل های اندروید و اگه بیشتر از ۱۰ بار اشتباه زد دستگاه باز disable شه و با کلیدی که پشت مدار در داخل ساحتمون هست دوباره فعال شه
    ۴) دستگاه در ساعات مشخصی کار کنه. البته نشدم نشد این یکی
    دمت گرم فقط بگو هر کد رو کجا بنویسم.

    1394/11/05
    09:00
    • نویسنده این مطلب

      مهدی دمرچیلو

      سلام
      والا این کدش سی هستش و منم بیسیک کار نکردم…این از این
      دوما اگه من جای تو بودم از نمایشگر رنگی با صفحه تاچ برا این کار استفاده میکردم، هر چند که قیمتش یه ۱۵ تومن بیشتر میشه ولی….
      ۱) خب یه تابع مینویسی که پسورد وارد شده رو بررسی میکنه و اگه درست بود true رو مثلا ارسال میکنه، و یه تابع هم بنویس که تغیرات مد نظرت رو تو خروجی اعمال کنه، حالا تو برنامه اصلی بیا بگو هر موقع پسورد وارد شده true بود بیا تابع “اعمال تغیرات به پایه مد نظر” رو اجرا کن >>>>>>>>>..کلا سعی کن کارت رو تابع تابع کنی تا هم بتونی ارتقاش بدی و هم کارت خیلی ساده تر میشه و کد های برنامه کم تر و حافظه اشغالی هم کمتر
      ۲و۳) والا دیگه اینا برنامه نویسی میشه..چیشو بگم آخه، این که یه چیزو نمایش بده مربوطه به توابع نمایش گر مد نظرت که باس کار باهاش رو بلد باشی، تعداد دفعالتلاش برای وارد کردن پسورد رو میتونی برا حل کردنش یه متغییر سراسری تعریف کنی که مقدار اولیش ۰ باشه و یه تابع بنویسی که هر موقع پسورد اشتباه وارد شد مقدار این متغییر رو صفر کنه و وقتی این مقدار برابر ۳ شد مثلا بیاد تابع محدود سازی رو فراخوانی کنه(که این تابع کارش همونی هستش که گفتی، ۱ دقیقه اجازه نده و…) و این که بیای بگی ۱ دقیقه اجازه بده یا نده و بخوای این زمان رو محاسبه کنی اگه از ماژول ساعت استفاده کنی کارت خیلی ساده تره ولی در غیر این صورت باید از تایمر استفاده کنی……………خب حالا زمان ۱ دقیقه تموم شد، طرف میاد دوباره پسورد رو وارد میکنه و اشتباه وارد میکنه و همون تابع قبلی دوباره مقدار اون متغییر سراسری رو افزایش میده و وقتی این مقدار به ۱۰ رسید تابع غیر فعال کردن رو فراخوانی میکنه(که این تابع میاد کاری که دوست داری و براش تعریف کردی رو انجام میده)
      ۴) باید از ماژول ساعت استفاده کنی(البته شونصد تا راه داره ولی اگه من بودم جات از این روش استفاده میکردم) و بگی در ساعات که نیاز نداری کار کنه بره تو مد powr down مثلا یا مد های کاهش مصرف توان دیگه
      به نظرم بیا فعلا این برنامه رو بنویس که اعداد رو از کیپد دریافت کنی….میتونی از توابع این مطلب استفاده کنی….ولی کد هاش رو بررسی نکن که خیلی وقت ازت میگیره و گیج هم میشی آخر سر….خودت تموم کار رو انجام بدی خیلی بهتره
      و بعد بیا به برنامه قبل امکانات زیر رو به ترتیب اضافه کن و تا زمانی که هر کدوم رو انجام ندادی به مرجله بعدی نرو.
      ۰) دریافت عدد از کیپد و نمایش دادن در نمایشگر
      ۰٫۵) راه اندازی ماژول ساعت ds3231
      ۱) محدود کردن کاربر به وارد کردن فقط X عدد(که این بستگی به خودت داره که کد رمزت چند رقمی باشه….فعلا ۵ رو انتخاب کن) و وقتی ۵ تا رقم وارد کرد، یه پیغامی نمایش داده بشه و دوباره این کار رو کار بر بتونه از دوباره انجام بده
      ۲) و بعد بیا یه تابع بنویس که این کد های وارد شده رو با یه کد مرجع مقایسه کنه
      ۳) و بعد بیا تابع بالا رو اتقا بده که اگه ۳ بار کد رو اشتباه وارد کرد بیاد یه تابعی رو فراخوانی کنه
      ۴) حالا بیا یه تابع بنویس که ۱ دقیقه کاربرد رو چیز کنه و … که این تابع در تابع بالا در صورت نیاز(۳ بار اشتب وارد کردن) فراخوانی میشه
      ۵) تو همون تابع بررسی کد ها بیا بگو اگه مقدار ۱۰ شد بیا یه تابع دیگه رو فراخونی کن(تابع شماره ۶)
      ۶) حالا تو این تابع بیا کاری رو که دوست داری رو انجام بده، یه متن دیسیبل رو نمایش بده و هر کاری دوست داری کدش رو بنویس
      رمان نوشتم sarcastic
      سوالی بود در خدمتیم heart (و نه نوشتن کد laugh )

      1394/11/05
      09:31
  58. مهمان

    javad

    با سلام از من هیچ عددی نشان نمیدهد چه مشکلی دارد

    1394/10/26
    03:09
    • نویسنده این مطلب

      مهدی دمرچیلو

      سلام
      پول آپ کیپد رو فعال کنید.

      1394/10/26
      09:24
  59. مهمان

    iman

    سلام
    من اطلاعاتم در مورد برنامه نویسی زیاد نیست و تازه واردم.
    لطف میکنی در مورد خط های۱۴۶ تا ۱۵۰ برنامه یه توضیحی بدین مخصوصا اونجا که دستور up رو نوشتین
    ممنون از سایت خوبتون

    1394/10/19
    12:33
    • نویسنده این مطلب

      مهدی دمرچیلو

      سلام
      ۱) خط ۲۰۳ و ۱۵۶ : هر وقت برنامه به کد goto up; برسه به خطی میره که کد up: توش هسنش، حالا به جای up هر چیزی دیگه ای متونی بزاری.
      ۲) خط ۱۴۷ : اگه روی یکی از دکمه های کیپد کلید بشه تابع key عدد ۱۰ رو ارسال میکنه و توی این خط(۱۴۷) یه متغییر i رو یه واحد زیاد میکنیم(مقدارش میشه ۱) و تو خط ۱۴۹ میایم میبینیم که مقدار i فرد هستش لذا شرطش while درست میشه و کدهای داخلش اجرا، البته به جای متغیری از نوع int ( متغییر i رو دارم میگم) بهتر بود متغییری از نوع bool تعریف میکردم….و تو پایان حلقه while هم اومدم دوباره مقدار i رو صفر کردم تا تو دفعات بعدی که میخوایم پسورد رو تغییر بدیم به مشکل بر نخوریم.
      ok?

      1394/10/19
      01:35
  60. مهمان

    محمد

    نه آقا کی پد رو پول آپ کردم با مقاومت ۱۰ کیلو. منظورت همینه دیگه؟

    1394/10/12
    05:18
    • نویسنده این مطلب

      مهدی دمرچیلو

      تنها چیزی که به ذهنم میرسید همین بود….

      1394/10/12
      06:14
  61. مهمان

    محمد

    سلام آقا مهدی
    داداش من مدار این پروژه رو بستم .وقتی تغذیه میدم ، خود بخود شروع میکنه به عدد نشون دادن روی ال سی دی ،یعنی مرتب ۷۷۷۷ نشون میده و پاک میشه ودوباره به همین ترتیب، یعنی اجازه نمیده اصلا من کی پد رو وصل کنم و عدد وارد کنم، کی پد رو هم جدا کردم بازم همین آش و همین کاسه ، بنظرت مشکل کجاس؟؟؟
    من فک میکنم چون مرتب ۷۷۷۷ نشون میده بخاطر اینه که میاد توی حلقه ی وایل قسمت اول میمونه یعنی اینجا :
    PORTD.0 = 0 ;
    PORTD.1 = 1 ;
    PORTD.2 = 1 ;
    PORTD.3 = 1 ;
    if(PIND.4 == 0){return 7 ; delay_ms(100);}
    if(PIND.5 == 0){return 8 ; delay_ms(100);}
    if(PIND.6 == 0){return 9 ; delay_ms(100);}
    لطفا زودتر بجواب مهدی جان،عجله دارم

    1394/10/12
    03:35
    • نویسنده این مطلب

      مهدی دمرچیلو

      سلام
      پول آپ کیپد رو فراموش کردی احتمالا
      مطلب جلسه ۱۰ avr رو بخون….یا جلسات بالاتر…یکیش درباره پول آپ هستش

      1394/10/12
      04:56
  62. مهمان

    ahmad

    سلام مهندس
    ممنون از سایت خوبت
    ببخشید اگه بخوایم که مثل تغییر رمز موبایل ۲بار درخواست کنه رمز رو وارد کن باید چکار کرد؟
    ممنون میشم کمکم کنی

    1394/10/09
    05:46
    • نویسنده این مطلب

      مهدی دمرچیلو

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

      1394/10/09
      11:42
  63. مهمان

    علی

    با سلام و تشکر خدمت شما مهندس
    بنده وقتی فایل پروژه رو تو کدویژن میذارم اجرا میشه ولی نمیشه کامپایل کرد
    البته فایل هگز روی پروتئوس درست کار میکنه ولی میخوام یه رله به برنامه اضافه کنم واسه همین نیاز دارم برنامه دستکاری کنم
    سپاس فراوان

    1394/06/15
    07:46
    • نویسنده این مطلب

      مهدی دمرچیلو

      سلام
      یه عکس از ارورش بگیر و لینکش رو بزار اینجا

      1394/06/15
      08:04
  64. مهمان

    یسیسیب

    int total_number=1 , a , b , c , d ; خط ۱۰ برنامه ..
    int تعریف کردی ولی کاراکتر دادی خخخخخ
    سوادت تو حلقم مهندس

    1394/06/08
    11:22
    • نویسنده این مطلب

      مهدی دمرچیلو

      سلام
      والا متغییر های a-b-c-d رقم های ۱ تا ۴ رمزمون رو ذخیره میکنن
      تابع بررسی دکمه فشرده شده مقدارش میره تو y و بعد این مقدار رو میدیم به تابع “عملیات” و بعد اونجا بسته به این که رقم چندم رمز هستش…….تو یکی از متغیییر های a-b-c-d ذخیره میشه…..char کجاش بود؟؟؟؟

      1394/06/09
      08:43
  65. مهمان

    علی

    سلام
    خوبید؟
    انصافا سایتتون بهترین سایتیه که تو این زمینه دیدم.
    از اضافات دوری کردید و خیلی خوب و مفید یاد دادید smile
    درباره ی این مطلب هم یه سوال داشتم
    من میخاستم یه کم تغییرش بدمف میخواستم ببینم کمکم میکنید؟
    میخوام این طوری باشه که 4 تا کاربر داشته باشه – یعنی قفل 4 نفر باشه…
    برای اینکه کامل هم بشه رمز هرکی رو که درست زدیم چراغ همون شخص روشن بشه smile
    خیلی خیلی ممنون

    1394/03/06
    01:40
    • نویسنده این مطلب

      مهدی دمرچیلو

      سلام
      شرمنده
      خودتون انجام بدید اگه مشکلی بود دربست درخدمتیم(تا حد توانمون البته good )

      1394/03/12