اطلاعیه

Collapse
No announcement yet.

{دانلود}-برنامه کامل و بدون نقص SIM900 به زبان بسکام -کنترل چند رله و سنسور

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

    #31
    پاسخ : {دانلود}-برنامه کامل و بدون نقص SIM900 به زبان بسکام -کنترل چند رله و سنسور

    نوشته اصلی توسط اقای دکتر
    سلام
    من از ماژول اماده استفاده کردم
    از شماتیکی هم که شما قرار دادید استفاده نکردم .خودم از قبل یه مدار اماده داشتم فقط max232 اضافه کردم

    الان مشکلی که داره اینکه با اینکه رمز 1111 رو فرستادم ولی اتفاقی نیافتاد و برنامه روی این قسمت مونده

    کد:
     Cls
      Locate 1 , 3                       'Clear display
      Lcd "Initializing"
      Locate 2 , 6
      Lcd "Modem..."
      Set Pwr
      Wait 2
      Reset Pwr
    و عبارت Initializing رو داره نشون میده

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

    دیدگاه


      #32
      پاسخ : {دانلود}-برنامه کامل و بدون نقص SIM900 به زبان بسکام -کنترل چند رله و سنسور

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

      دیدگاه


        #33
        پاسخ : {دانلود}-برنامه کامل و بدون نقص SIM900 به زبان بسکام -کنترل چند رله و سنسور

        ماژول من 900a هستش
        فرقی که نمیکنه

        دیدگاه


          #34
          پاسخ : {دانلود}-برنامه کامل و بدون نقص SIM900 به زبان بسکام -کنترل چند رله و سنسور

          لینک درسته
          نخیر فرقی نداره
          مدت زمانی که صرف ایجاد تاپیک و منتظر پاسخ هستید را صرف سرچ کنید...

          دیدگاه


            #35
            پاسخ : {دانلود}-برنامه کامل و بدون نقص SIM900 به زبان بسکام -کنترل چند رله و سنسور

            جسارتا فک کنم sim900A رو باید پدیت کرد.
            ولی اگر از ماژول های آماده eca یا... گرفته اید دیگه نیازی به پدیت نیست.

            دیدگاه


              #36
              پاسخ : {دانلود}-برنامه کامل و بدون نقص SIM900 به زبان بسکام -کنترل چند رله و سنسور

              سلام
              با همکاری یکی ازدوستان داریم ی برنامه برای sim900 مینویسیم
              پبشنهاد میکنید چ اپشن های بهش اضافه کنیم؟ البته ما چنداپشن اضافه کردیم
              1- رمز
              2- تغییر رمز
              3- کنترل خروجی ها

              این3مورد رو ما اضافه کردیم اگر اپشن دیگه ای مدنظرتون هست بفرماید تا ب برنامه اضافه کنیم
              ممنونم
              یا به اندازه آرزوهایت تلاش میکنی یا به اندازه تلاشت ارزو میکنی

              دیدگاه


                #37
                پاسخ : {دانلود}-برنامه کامل و بدون نقص SIM900 به زبان بسکام -کنترل چند رله و سنسور

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

                دیدگاه


                  #38
                  پاسخ : {دانلود}-برنامه کامل و بدون نقص SIM900 به زبان بسکام -کنترل چند رله و سنسور

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

                  اینم یه نمونه برنامه واسه سنسور های حرکت دما و مگنت
                  LCD نداره اما میشه واسش گذاشت
                  فرکانسشم میتونید همون8 مگ بزارین مشکلی پیش نمیاد

                  لینک منبع :http://avrprojects.info/avr-projects/gsm-based-home-security-system

                  کد:
                  'copyright        : (c) 2012, avrprojects.info
                  'purpose         : GSM based Hme security system
                  '-----------------------------------------------------------------------------------------
                  $regfile = "m8def.dat"
                  $crystal = 3686400                     'crystal value
                  $baud = 9600                        'baud rate
                  
                  $hwstack = 64
                  $swstack = 64
                  $framesize = 64
                  
                  Config Portc.3 = Output
                  Config Portc.2 = Output
                  Config Portc.1 = Output
                  Config Portc.0 = Output
                  
                  Config Portb.1 = Output
                  Config Portb.0 = Output
                  
                  Config Pind.3 = Input
                  Config Pind.7 = Input
                  Config Pinb.3 = Input
                  Config Pinb.4 = Input
                  
                  
                  Declare Sub Getline                     'get data from gsm modem
                  Declare Sub Send_sms                    'send sms
                  Declare Sub Sms_check                    ' reading sms
                  Declare Sub Read1820                    'reading temperature sensor
                  
                  Config 1wire = Portb.2
                  
                  Led1 Alias Portc.0                     'led indicators
                  Led2 Alias Portc.1
                  Led3 Alias Portc.2
                  Led4 Alias Portc.3
                  
                  Rled Alias Portb.1
                  Gled Alias Portb.0
                  
                  Pir Alias Pind.7
                  
                  Mag1 Alias Pinb.3                      'magnetic sensor 1
                  Mag2 Alias Pinb.4                      'magnetic sensor 2
                  
                  Jumper Alias Pind.3
                  
                  '####################################
                  
                  
                  Dim Number As Eram String * 13 At 10
                  
                  'Temp variables
                  Dim Bd1 As Byte
                  Dim Bd2 As Byte
                  Dim Bd7 As Byte
                  Dim Bd8 As Byte
                  
                  Dim I As Byte , Tmp As Byte
                  Dim T As Integer , T1 As Integer
                  Dim Bd(9) As Byte
                  '------------ Variables and constants for GSM --------------------------------- ------
                  Dim Num As String * 80
                  Dim Msg As String * 100
                  Dim Inmsg As String * 100
                  Dim Gstmp As Byte
                  Dim Ar(10) As String * 20
                  Dim Sender As String * 25
                  Dim Engine As Byte
                  Dim Alarms As Byte
                  Dim Icnt As Byte
                  Dim A_armed As Byte
                  Dim Gps As Byte
                  Dim Stmp As Byte
                  Dim Pass_stored As String * 13
                  Dim Tem1 As Bit
                  Dim Tem2 As Bit
                  Dim Tem3 As Bit
                  Dim Tem4 As Bit
                  
                  
                  
                  
                  Pass_stored = Number
                  'Print Pass_stored
                  Set Pir
                  
                  
                  Set Led1
                  Set Led2
                  Set Led3
                  Set Led4
                  Reset Tem1
                  Reset Tem2
                  Reset Tem3
                  Reset Tem4
                  
                  
                  Wait 1
                  
                  Reset Led1
                  Reset Led2
                  Reset Led3
                  Reset Led4
                  
                  
                  
                  Rled = 1
                  Gled = 0
                  
                  Stmp = 100
                  A_armed = 0
                  
                  Wait 25                           ' give some time for gsm modem
                                     ' give some time for gsm modem
                  
                  Print "AT"
                  Wait 2
                  Print "AT+CMGD=1"
                  Wait 2
                  Print "AT+CREG?"
                  Wait 2
                  Print "ATE0"
                  Wait 2
                  Print "AT+CNMI=1,1,0,0,0"                  'new message indication off
                  Wait 2                           'Third command TEXT MODE
                  Print "AT+CMGF=1"
                  Wait 2
                  'Print #2 , "AT+CSQ"                     'signal strength
                  'Wait 2
                  
                  
                  Rled = 0
                  Gled = 1
                  
                  1wwrite &HCC : 1wwrite &H44                 ' start measure
                  Waitms 400                         ' wait for end of conversion
                  Read1820
                  
                  If Jumper = 0 Then
                  Do
                    Rled = 0
                    Gled = 1
                  
                    Print "AT"
                    Wait 2
                    Print "AT+CMGF=1"                    'change to text mode
                    Wait 2
                    Print "AT+CMGR=1"                    ' get the message
                    Getline
                    If Inmsg <> "OK" Then
                     Rled = 1
                     Gled = 0
                     Num = Inmsg
                       Getline
                       Gps = Split(num , Ar(1) , ",")
                       Num = Ar(2)
                       Gps = Len(num)
                       Gps = Gps - 2
                       Num = Mid(num , 2 , Gps)
                  
                       Inmsg = Lcase(inmsg)
                  
                     If Inmsg = "microcontroller" Then           'other numbers
                       Pass_stored = Num
                       Number = Pass_stored
                       Msg = "Number Stored"
                       Send_sms
                       Exit Do
                     End If
                    Wait 2
                    Print "AT+CMGD=1"
                    Wait 3
                    Rled = 0
                    Gled = 1
                    End If
                    Wait 5
                  
                    Rled = 1
                    Gled = 0
                    Wait 2
                  
                  Loop
                  End If
                  
                  Do
                    1wwrite &HCC : 1wwrite &H44               ' start measure
                    Waitms 400                        ' wait for end of conversion
                    Read1820
                  
                  
                    Gled = 0
                    Waitms 500
                    Gled = 1
                  
                  
                    Gled = 0
                    Waitms 500
                    Gled = 1
                  
                    If Pir = 0 Then
                     Set Led1
                     If Tem1 = 0 Then
                       Num = Pass_stored
                       Msg = "Motion Detected"
                       Send_sms
                       Set Tem1
                     End If
                    Else
                     Reset Led1
                     Reset Tem1
                    End If
                  
                    If Mag1 = 1 Then
                     Set Led2
                     If Tem2 = 0 Then
                       Num = Pass_stored
                       Msg = "Sensor 1 Failed"
                       Send_sms
                       Set Tem2
                     End If
                    Else
                     Reset Led2
                     Reset Tem2
                    End If
                  
                    If Mag2 = 1 Then
                     Set Led3
                     If Tem3 = 0 Then
                       Num = Pass_stored
                       Msg = "Sensor 2 Failed"
                       Send_sms
                       Set Tem3
                     End If
                    Else
                     Reset Led3
                     Reset Tem3
                    End If
                  
                    If T1 > 45 Then
                     Set Led4
                     If Tem4 = 0 Then
                       Num = Pass_stored
                       Msg = "Temperature High: " + Str(t1) + " deg"
                       Send_sms
                       Set Tem4
                     End If
                    Else
                     Reset Led4
                     Reset Tem4
                    End If
                  '  Print T1
                  
                  Loop
                  
                  
                  '@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
                  '    SEND SMS
                  '@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
                  Sub Send_sms
                      Rled = 1
                       Wait 3
                       Print "AT+CMGS=" ; Chr(34) ; Num ; Chr(34)    'send sms
                       Waitms 200
                       Print Msg ; Chr(26)
                       Wait 5
                       Print "AT"
                       Wait 2
                      Rled = 0
                  End Sub
                  '@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
                  '    Read gsm modem
                  '@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
                  Sub Getline
                   Inmsg = ""
                   Do
                    Gps = Inkey()
                    If Gps > 0 Then
                      Select Case Gps
                      Case 13 : If Inmsg <> "" Then Exit Do        ' if we have received something
                      Case 10 : If Inmsg <> "" Then Exit Do        ' if we have received something
                      Case Else
                        Inmsg = Inmsg + Chr(gps)            ' build string
                      End Select
                    End If
                   Loop
                  
                  End Sub
                  '@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
                  '    Read ds1820
                  '@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
                  Sub Read1820                        ' reads sensor ans calculate                        ' T for 0.1 C
                    1wreset                         ' reset the bus
                    1wwrite &HCC                       ' read internal RAM
                    1wwrite &HBE                       ' read 9 data bytest
                    Bd(1) = 1wread(9)
                    Bd1 = Bd(1)
                    Bd2 = Bd(2)
                    Bd7 = Bd(7)
                    Bd8 = Bd(8)
                                          ' read bytes in array
                    1wreset                         ' reset the bus
                     Tmp = Bd1 And 1
                     If Tmp = 1 Then Decr Bd1               ' 0.1C precision
                       T = Bd1
                       T = T * 50
                       T = T - 25
                       T1 = Bd8 - Bd7
                       T1 = T1 * 100
                       T1 = T1 / Bd8
                       T = T + T1
                       T1 = T / 100                   'store tens
                       T = T Mod 100                   'store decimal number
                  '     Cls
                  '     Locate 1 , 3
                  '     Lcd "Temperature"
                  '     Locate 2 , 7
                  '     Lcd T1 ; "." ; T
                  End Sub
                  
                  End
                  مدت زمانی که صرف ایجاد تاپیک و منتظر پاسخ هستید را صرف سرچ کنید...

                  دیدگاه


                    #39
                    پاسخ : {دانلود}-برنامه کامل و بدون نقص SIM900 به زبان بسکام -کنترل چند رله و سنسور

                    آیا امکان ارسال پیغام از سیم900 به کاربر به جای 1 کاربر به 2یا 3 کاربر اس ام اس بفرسته ؟
                    امکان شارژ کردن سیمکارت روی ماژول با ارسال کد شارژ توسط اس ام اس رو قبلا دیده بودم که یکی از دوستان انجام داده بود بی زحمت کد های لازمه رو اگر کسی اطلاع داره بگه.

                    دیدگاه


                      #40
                      پاسخ : {دانلود}-برنامه کامل و بدون نقص SIM900 به زبان بسکام -کنترل چند رله و سنسور

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

                      دیدگاه


                        #41
                        پاسخ : {دانلود}-برنامه کامل و بدون نقص SIM900 به زبان بسکام -کنترل چند رله و سنسور

                        در بعضی ماژول ها دیده شده که طی استفاده ی طولانی مدت خود به خود خاموش میشه
                        واسه حل این مشکل :
                        باید از پایه ی CTS یا همان استاتوس ماژول که معمولا به LED متصل هست و نشان دهنده ی روشن بودن ماژول هست به میکرو متصل کرد
                        وقتی ماژول روشن باشه این پایه صفر خواهد شد
                        و داخل برنامه تعریف میکنیم که اگر این پایه یک شد پینPWR رو تحریک کنه که ماژول روشن بشه و از نو تنظیمات خودشو اعمال کنه
                        بزودی برنامه جدید رو قرار میدم..
                        مدت زمانی که صرف ایجاد تاپیک و منتظر پاسخ هستید را صرف سرچ کنید...

                        دیدگاه


                          #42
                          پاسخ : {دانلود}-برنامه کامل و بدون نقص SIM900 به زبان بسکام -کنترل چند رله و سنسور

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

                          دیدگاه


                            #43
                            پاسخ : {دانلود}-برنامه کامل و بدون نقص SIM900 به زبان بسکام -کنترل چند رله و سنسور

                            اگر شماره ها همیشه ثابت هستن میتونی داخل برنامه بزاریشون
                            توی حلقه های برنامه یه حلقه ی دیگه واسه خواندن مقدار سنسور اضافه میکنی
                            میگی اگه دما از مثلا 37 بالا تر رفت برو زیر برنامه ی X
                            توی زیر برنامه ی X میگی
                            کد:
                            msg= afzayesh dama
                            Num="093511111111"
                            send_sms
                            Num="09352222222"
                            send_sms
                            wait 1
                            Num="09353333333"
                            send_sms
                            wait 1
                            Num="09300000000"
                            Send_sms
                            میبینید که یه مرتبه متن اس ام اس تعریف شده
                            هربار شماره ی NUM عوض میشه و میپره به زیر برنامه ی Send_sms که اونجا پیام ارسال میشه
                            فقط یه نکته که هست اخرین شماره که اینجا 09300000000 هستش حتماا باید شماره ی ادمین باشه
                            وگرنه اخرین شماره انگار به دستگاه لاگین شده و ازون پیام قبول میکنه و شما باید دوباره رمز رو وارد کنی تا جایگزین بشی
                            مدت زمانی که صرف ایجاد تاپیک و منتظر پاسخ هستید را صرف سرچ کنید...

                            دیدگاه


                              #44
                              پاسخ : {دانلود}-برنامه کامل و بدون نقص SIM900 به زبان بسکام -کنترل چند رله و سنسور

                              سلام
                              میخام سیم کارت روی SIM900 رو بدون بیرون اوردن دستور میکرو شارژش کنم .دستورش برای این کار چیه ؟ هم برای همراه اول و هم برای ایرانسل
                              یا به اندازه آرزوهایت تلاش میکنی یا به اندازه تلاشت ارزو میکنی

                              دیدگاه


                                #45
                                پاسخ : {دانلود}-برنامه کامل و بدون نقص SIM900 به زبان بسکام -کنترل چند رله و سنسور

                                با سلام خدمت همه ی دوستان گرامی.من برنامه ی دومی که تو صفحه ی اول بود رو روی مگا32 پروگرام کردم و شماتیک مدار،تنظیم فیوزبیت ها رو عکساشو میزارم اگه زحمتی نیس ببینین کارم کجاش ایراد داره که جواب نمیگیرم.من تو این مدار براتغذیه ام از یک lm2596-adj و 7805استفاده میکنم. از 2596 4ولت میگیرم میدم به ماژول و mega32a و از7805 برا lcd و رله ها استفاده میکنم.Tx میکرو رو با تقسیم مقاومتی میدمش Rx ماژول و Rx میکرو رو مستقیم میدم به Tx ماژول.پایه ی RI ماژول رو هم با مقاومت10k وصل میکنم به Pc0.برنامه تا system online اجرا میشه ولی وقتی بهش 222 میفرستی عکس العملی نشون نمیده. کلاکشم هم 4MHZ و هم 8MHZ داخلی رو امتحان کردم. به نظرتون کجای کارم ایراد داره.ممنون میشم اگه دوستان زودتر جواب بدن.من زیاد بلد نیستم پروژه کارشناسیمم هست وقتمم داره تموم میشه.ممنون.اگه عکسا جا زیادی اشغال میکنه ببخشید دیگه تازه واردم. :rolleyes:











                                دیدگاه

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