اطلاعیه

Collapse
No announcement yet.

ماژول srf02

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    ماژول srf02

    آقا شرمنده که یه تاپیک بیهوده باز می کنم X_X X_X X_X X_X X_X
    ولی تاپیکی که داداش محسن شفیع زاده زدن به نتیجه ای نرسید و هیچ کس هم به اون جا نمی یاد :-(( :-(( :-(( :-(( :-((
    به دلیل نزدیک بودن مسابقات و وقت فوق الاده کم ما :!! :!! :!! :!! :!! :!! :!!
    مجبور شدم یه تاپیک جدید بزنم :-B :-B :-B :-B :-B :-B
    امیدوارم که مسئولین سایت از ما دلخور نشن
    خب بریم سر اصل مطلب
    با کمک های استاد lordsoroosh ما توانستیم ماژول رو روشن کنیم :rolleyes: :rolleyes: :rolleyes: :rolleyes:
    ولی متاسفانه ماژول تا عدد 50 سانت رو بیشتر اندازه نمی گیره و وقتی که فاصله بیشتر از 50 سانت می شه عدد 1536 رو چاپ می کنه
    این برنامه :NO: :NO:
    لطفا کمک کنید :angry: :angry: :angry: :angry: :angry: :angry: :angry:
    کد:
    [left] i2c_start ();
          i2c_write (0xE0); //srf adress
          i2c_write (0);
         i2c_write (0x51); // unit=cm
          i2c_stop ();              
          i2c_start ();
          i2c_write (0xE0); // srf adress
          i2c_write (2); // data request
          i2c_start ();
          i2c_write (225); // srf adress +1
          bit1=i2c_read (1); // high value data reg
          bit2=i2c_read (0); // low value data reg
          i2c_stop ();
          ultra=bit1;
          ultra=ultra*256+bit2; 
          itoa(ultra,s1); 
          lcd_clear();
          lcd_puts(s1);
          delay_ms(10);[/left]

    #2
    پاسخ : ماژول srf02

    دوستان کمک کنید مشکل جدی هست
    [move] :angry: :angry: :angry: :angry: :angry: :angry: :angry: :angry: :angry: :angry: :angry: :angry: :angry: :angry: :angry: :angry: :angry: :angry:[/move]

    دیدگاه


      #3
      پاسخ : ماژول srf02

      ما ز یاران چشم یاری داشتیم خود غلط بود آنچه می پنداشتیم
      دوستان به کمک من برسید چرا اینجوری می کنید

      دیدگاه


        #5
        پاسخ : ماژول srf02

        خب مال من که جواب می ده ولی فقط تا 50 سانت :twisted: :twisted: :twisted:
        بیشتر که می شه عدد1365 رو چاپ می کنه
        چرا

        دیدگاه


          #6
          پاسخ : ماژول srf02

          نوشته اصلی توسط mmh1
          خب مال من که جواب می ده ولی فقط تا 50 سانت :twisted: :twisted: :twisted:
          بیشتر که می شه عدد1365 رو چاپ می کنه
          چرا
          نکنه طفلی داره تاریخ تولدت رو نشون می ده
          تاپیک جامع سیستم مدیریت ساختمان BMS و خانه هوشمند Smart Home
          دانلود مجموعه آموزشی شرکت Altium ا (Altium Training)
          مقالات و فایل های آموزشی نرم افزار Labview
          حل مشکل درایور و راه اندازی FT232 های غیراورجینال

          دیدگاه


            #7
            پاسخ : ماژول srf02

            نوشته اصلی توسط محمد م
            نکنه طفلی داره تاریخ تولدت رو نشون می ده
            اوه آره هاااااا
            پس بنابراین من یه مدار عجیب دارم که فروشی هست
            بشتابید.... بشتابید ..... :sad:
            هر کس که در 50 سانتی این مدار قرار بگیره سنش مشخص خواهد شد :surprised: :surprised:
            رونوشت
            آقایانی که قصد ازدواج دارند و سن دقیق نامزد خود را نمی دانند

            دیدگاه


              #8
              پاسخ : ماژول srf02

              ببین ماژول های آلتراسونیک معمولی داخل بازار یک پتانسیومتر دارن که میتونی با تغییر مقدار آن دقت وبرد اون رو افزایش دهید که تنظیم این پتانسیومتر خیلی هم تاثیر داشت ولی حالا من نمی دونم این ماژول شما این پتانسیومتر رو داره یا نه. اگه داره با همون تنظیمش کنید.
              تاپیک جامع سیستم مدیریت ساختمان BMS و خانه هوشمند Smart Home
              دانلود مجموعه آموزشی شرکت Altium ا (Altium Training)
              مقالات و فایل های آموزشی نرم افزار Labview
              حل مشکل درایور و راه اندازی FT232 های غیراورجینال

              دیدگاه


                #9
                پاسخ : ماژول srf02

                نه مشکل حل شد :wow: :wow: :wow: با تشکر :applause: :applause:

                دیدگاه


                  #10
                  پاسخ : ماژول srf02

                  نوشته اصلی توسط mmh1
                  نه مشکل حل شد :wow: :wow: :wow: با تشکر :applause: :applause:
                  خوب مشکل از کجا بود . بگو ما هم یاد بگیریم.
                  تاپیک جامع سیستم مدیریت ساختمان BMS و خانه هوشمند Smart Home
                  دانلود مجموعه آموزشی شرکت Altium ا (Altium Training)
                  مقالات و فایل های آموزشی نرم افزار Labview
                  حل مشکل درایور و راه اندازی FT232 های غیراورجینال

                  دیدگاه


                    #11
                    پاسخ : ماژول srf02

                    خب چند تا از دوستان در مورد این برنامه از من پرسیدند (از جمله برادر اریکسون که نمی دونم چرا نمی تونم براش پیام خصوصی بفرستم)
                    اینبرنامه از یکی از اساتید سایت هست به نامmasoud70 :applause: :applause: :applause: :applause:
                    جواب هم داد
                    کد:
                    #include <mega16.h>
                    #include <delay.h>
                    #include <stdlib.h>
                    
                    
                    
                    // I2C Bus functions
                    #asm
                     .equ __i2c_port=0x12 ;PORTD
                     .equ __sda_bit=0
                     .equ __scl_bit=1
                    #endasm
                    #include <i2c.h>
                    
                    // Alphanumeric LCD Module functions
                    #asm
                     .equ __lcd_port=0x1B ;PORTA
                    #endasm
                    #include <lcd.h>
                    
                    // Declare your global variables here
                     int data;
                     int str2,str,k;
                     char s1 [8] ;
                     char fasele(void)
                    {
                     i2c_start();
                     i2c_write(0xE0);
                     i2c_write(0);
                     i2c_write(0x51);
                     i2c_stop();
                     delay_ms(70);
                     i2c_start();
                     i2c_write(0xE0);
                     i2c_write(3);
                     i2c_start();
                     i2c_write(0xE1);
                     str=i2c_read(0);
                     i2c_stop();
                     i2c_start();
                     i2c_write(0xE0);
                     i2c_write(2);
                     i2c_start();
                     i2c_write(0xE1);
                     str2=i2c_read(0);
                     i2c_stop();
                     data=(str2)*256+str;
                     return data ;
                    }
                    void main(void)
                    {
                    // Declare your local variables here
                    
                    // Input/Output Ports initialization
                    // Port A initialization
                    // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
                    // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
                    PORTA=0x00;
                    DDRA=0x00;
                    
                    // Port B initialization
                    // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
                    // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
                    PORTB=0x00;
                    DDRB=0x00;
                    
                    // Port C initialization
                    // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
                    // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
                    PORTC=0x00;
                    DDRC=0x00;
                    
                    // Port D initialization
                    // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
                    // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
                    PORTD=0x00;
                    DDRD=0x00;
                    
                    // Timer/Counter 0 initialization
                    // Clock source: System Clock
                    // Clock value: Timer 0 Stopped
                    // Mode: Normal top=FFh
                    // OC0 output: Disconnected
                    TCCR0=0x00;
                    TCNT0=0x00;
                    OCR0=0x00;
                    
                    // Timer/Counter 1 initialization
                    // Clock source: System Clock
                    // Clock value: Timer1 Stopped
                    // Mode: Normal top=FFFFh
                    // OC1A output: Discon.
                    // OC1B output: Discon.
                    // 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=0x00;
                    TCCR1B=0x00;
                    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=FFh
                    // OC2 output: Disconnected
                    ASSR=0x00;
                    TCCR2=0x00;
                    TCNT2=0x00;
                    OCR2=0x00;
                    
                    // External Interrupt(s) initialization
                    // INT0: Off
                    // INT1: Off
                    // INT2: Off
                    MCUCR=0x00;
                    MCUCSR=0x00;
                    
                    // Timer(s)/Counter(s) Interrupt(s) initialization
                    TIMSK=0x00;
                    
                    // Analog Comparator initialization
                    // Analog Comparator: Off
                    // Analog Comparator Input Capture by Timer/Counter 1: Off
                    ACSR=0x80;
                    SFIOR=0x00;
                    
                    // I2C Bus initialization
                    i2c_init();
                    
                    // LCD module initialization
                    lcd_init(16);
                    
                    while (1)
                       {
                       k=fasele () ;
                       itoa (k,s1);
                       lcd_clear();
                       lcd_puts(s1);
                       delay_ms(10);
                    
                       };
                    }

                    دیدگاه

                    لطفا صبر کنید...