صفحه 1 از 5 123 ... آخرینآخرین
نمایش نتایج: از 1 به 10 از 49
Like Tree8 لایک

موضوع: کمک در باره پروزه به یک مبتدی

  1. #1
    Senior Member
    تاریخ عضویت
    Oct 2016
    نوشته ها
    112

    Post کمک در باره پروزه به یک مبتدی

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

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

  2. #2
    مدیر گروه
    تاریخ عضویت
    Nov 2013
    محل سکونت
    ایران
    نوشته ها
    4,064
    سلام
    در مورد سوال اولتون به نظر من خودش دو تا دلیل داره : اول این که این برد پایه ای هست که خود تولید کننده اورجینال روش تاکید داره و تمام شیلدهاش رو هم برای این میسازه و میده بیرون .
    دوم اینکه از لحاظ سخت افزاری قابلیت های خوبی داره
    13 تا دیجیتال ( که میتونه تا 19 تا افزایش پیدا کنه )
    6 تا پین آنالوگ ورودی
    چند تا pwm
    منطق کاری 5 ولت
    خروجی های ولتاژ 5 و 3.3

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

    ************************************************** *********

    اما در مورد پروژه شما .
    8 تا پین دیجیتال میخوای
    و برای انتخاب GSM هم میتونی sim800c رو انتخاب کنی که خودش بلوتوث داشته باشه و یه دیوایس که بشه از دیویاس هات
    و در مورد LCD هم بسته به این که چه اینیچی میخوای روی پروتکل i2c / spi / ttl میتونی انتخاب کنی.
    سنسور دما و رطوبت هم اگر بری سراغ DHT ها کلا یه پین دیجیتال می خواد.

  3. #3
    Senior Member
    تاریخ عضویت
    Oct 2016
    نوشته ها
    112
    نقل قول نوشته اصلی توسط magmagmary نمایش پست ها
    سلام
    در مورد سوال اولتون به نظر من خودش دو تا دلیل داره : اول این که این برد پایه ای هست که خود تولید کننده اورجینال روش تاکید داره و تمام شیلدهاش رو هم برای این میسازه و میده بیرون .
    دوم اینکه از لحاظ سخت افزاری قابلیت های خوبی داره
    13 تا دیجیتال ( که میتونه تا 19 تا افزایش پیدا کنه )
    6 تا پین آنالوگ ورودی
    چند تا pwm
    منطق کاری 5 ولت
    خروجی های ولتاژ 5 و 3.3

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

    ************************************************** *********

    اما در مورد پروژه شما .
    8 تا پین دیجیتال میخوای
    و برای انتخاب GSM هم میتونی sim800c رو انتخاب کنی که خودش بلوتوث داشته باشه و یه دیوایس که بشه از دیویاس هات
    و در مورد LCD هم بسته به این که چه اینیچی میخوای روی پروتکل i2c / spi / ttl میتونی انتخاب کنی.
    سنسور دما و رطوبت هم اگر بری سراغ DHT ها کلا یه پین دیجیتال می خواد.
    درود و زنده باد دوست عزیز
    در مورد سنسور shd میخوام استفاده کنم اول چون این سنسور دقیقی هستش و نیاز ب کالیبره نداره دوم چون دارم نمیخوام دیگه بخرم
    و این که lcd موندم تو انتخابش که چی خوبه البته لمسی ها میشه استفاده لمسی کرد برای کنترل هم اردوینو و هم رله هام؟
    پیشنهاد شما در باره sim800c ممنون همین gsm رو استفاده میکنم ولی لینک بدین برای خرید
    اردوینو هم که uno انتخاب میکنم . اولش فکرم روی مگا ها بود که پین زیاد تری داره ولی الان uno انتخابمه
    میخواستم ی لیست خریید بدین من این هارو تهیه کنم برای پروزه اول

  4. #4
    مدیر گروه
    تاریخ عضویت
    Nov 2013
    محل سکونت
    ایران
    نوشته ها
    4,064
    نقل قول نوشته اصلی توسط mohammadali نمایش پست ها
    درود و زنده باد دوست عزیز
    در مورد سنسور shd میخوام استفاده کنم اول چون این سنسور دقیقی هستش و نیاز ب کالیبره نداره دوم چون دارم نمیخوام دیگه بخرم
    و این که lcd موندم تو انتخابش که چی خوبه البته لمسی ها میشه استفاده لمسی کرد برای کنترل هم اردوینو و هم رله هام؟
    پیشنهاد شما در باره sim800c ممنون همین gsm رو استفاده میکنم ولی لینک بدین برای خرید
    اردوینو هم که uno انتخاب میکنم . اولش فکرم روی مگا ها بود که پین زیاد تری داره ولی الان uno انتخابمه
    میخواستم ی لیست خریید بدین من این هارو تهیه کنم برای پروزه اول
    سلام
    سنسورت که داستانش معلومه پس . سنسورهای دمای سری SHT معمولا ارتباط I2C دارن وبا پین انالوگ شماره 4 و 5 آردوینو uno کار می کنن.
    در مورد GSM هم میتونی اینجا جستجو - sim800c رو یه نگاهی بندازی

    در مورد LCD قدرت انتخاب بالاست .
    اگر میتونی هزینه کنی به نظر من بیا سراغ این LCD ها : جستجو - gpu

    اینا ارتباطشون سریاله و گرافیک خیلی خیلی خوبی هم دارن بنابراین کارت راحته .
    اما اگر نمیوای میتونی از LCD های دیگه هم استفاده کنی . فقط ترجیحا سمت SPI نرو چرا که 4 تا پین رو اشغال می کنه .

  5. #5
    Senior Member
    تاریخ عضویت
    Oct 2016
    نوشته ها
    112
    دستت درد نکنه
    بازم منتظر کمک هستم
    لایک کردن

  6. #6
    Senior Member
    تاریخ عضویت
    Oct 2016
    نوشته ها
    112
    نقل قول نوشته اصلی توسط magmagmary نمایش پست ها
    سلام
    سنسورت که داستانش معلومه پس . سنسورهای دمای سری SHT معمولا ارتباط I2C دارن وبا پین انالوگ شماره 4 و 5 آردوینو uno کار می کنن.
    در مورد GSM هم میتونی اینجا جستجو - sim800c رو یه نگاهی بندازی

    در مورد LCD قدرت انتخاب بالاست .
    اگر میتونی هزینه کنی به نظر من بیا سراغ این LCD ها : جستجو - gpu

    اینا ارتباطشون سریاله و گرافیک خیلی خیلی خوبی هم دارن بنابراین کارت راحته .
    اما اگر نمیوای میتونی از LCD های دیگه هم استفاده کنی . فقط ترجیحا سمت SPI نرو چرا که 4 تا پین رو اشغال می کنه .

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

  7. #7
    Senior Member
    تاریخ عضویت
    Oct 2016
    نوشته ها
    112

  8. #8
    مدیر گروه
    تاریخ عضویت
    Nov 2013
    محل سکونت
    ایران
    نوشته ها
    4,064
    نقل قول نوشته اصلی توسط mohammadali نمایش پست ها
    این لینکی که شما پیشنهاد دادید چیپ سیم 800 هست .
    برای استفاده باید براش یه برد طراحی کنید و پینهاشو بکشید بیرون

    اگر با طراحی و ساخت و لحیم کاری آشنا نیستید بهتره سراغ این ندارید و از ماژول های سیم 800 استفاده کنید.

  9. #9
    مدیر گروه
    تاریخ عضویت
    Nov 2013
    محل سکونت
    ایران
    نوشته ها
    4,064
    نقل قول نوشته اصلی توسط mohammadali نمایش پست ها
    درود درباره برنامه نویسی این مازول کمک کنید از ابتدا
    درمورد کد نویسی هم این کد برای sim800L نوشته شده روی C هم باید جواب بده .
    کد:
    #include <SoftwareSerial.h>
    SoftwareSerial SIM800(D2, D1 , 128);
    #define GSMReset D3
    
    
    
    
    void setup() {
      Serial.begin(9600); // for serial monitor
      SIM800.begin(9600); // for GSM shield
      gsmPower();
      gsmConfig();
      dialNumber() ;
    }
    
    
    
    
    void loop() {
      commandDetect();
    }
    //*********************************************************************************
    void gsmConfig() {
      sendCommand("ATZ", 100);
      sendCommand("AT+CMGD=1,4", 200);
      sendCommand("AT+CMGF=1\r", 100); // set SMS mode to text
      sendCommand("AT+CFUN=1", 2000);
      sendCommand("AT+CREG?", 1000);
      dtmfActive();
      anwerCall();
      Serial.println("The end of Config process");
      Serial.println("Ensert\n 'd' for dial \n 'e' for english sms \n 'f' for farsi sms \n 'h' for HttpRequest \n 's' for Send2Pachube  ");
    }
    //**********************************************************************************
    void showSms() {
      char incoming_char = 0;
      if ( SIM800.available() > 0)
      {
        incoming_char =  SIM800.read(); //Get the character from the cellular serial port.
        Serial.print(incoming_char); //Print the incoming character to the terminal.
      }
    }
    //***********************************************************************************
    void smsProcess() {
      char incoming_char = 0;
      if ( SIM800.available() > 0)
      {
    
    
    
    
        incoming_char =  SIM800.read();
        if (incoming_char == 'A')
        {
          delay(10);
          incoming_char =  SIM800.read();
          if (incoming_char == 'd')
          {
            delay(10);
            Serial.print("horaaaaaaaaaaaaaaaaaaay");
          }
        }
      }
    }
    //***********************************************************************************
    void gsmPower() {
      pinMode(GSMReset, OUTPUT);
      Serial.println("Turning GSM ON");
      digitalWrite(GSMReset, HIGH);
     // delay(1100);
      //digitalWrite(GSMReset, LOW);
     // delay(4000);
      Serial.println("Start config process...");
    }
    
    
    
    
    //**********************************************************************************
    
    
    
    
    void sendCommand(String cmd, int t)
    {
      SIM800.println(cmd);
      readSerial();
      delay(t);
    }
    
    
    
    
    //**************************************************************************************
    void readSerial( ) {
      while (SIM800.available())
      {
        Serial.write(SIM800.read());
      }
    }
    
    
    
    
    //***********************************************************************************
    
    
    
    
    void dialNumber() {
      Serial.println("Dialing...");
      sendCommand("ATD09177102643;", 100);
      Serial.println("End of Dial process");
      delay(2000);
      Serial.println("Ensert\n 'd' for dial \n 'e' for english sms \n 'f' for farsi sms \n 'h' for HttpRequest \n 's' for Send2Pachube  ");
    }
    //************************************************************************************
    void ensms()
    {
      Serial.println("Sending SMS");
      sendCommand("AT+CSCS=\"GSM\"", 200);
      sendCommand("AT+CMGF=1", 200);
      sendCommand("AT+CSMP=17,167,0,0", 200);
      sendCommand("AT+CMGS=\"09177102643\"", 500);
      sendCommand("Salam\n manam !\x1A", 500);
      Serial.println("Englisg SMS Sent");
      Serial.println("Ensert\n 'd' for dial \n 'e' for english sms \n 'f' for farsi sms \n 'h' for HttpRequest \n 's' for Send2Pachube  ");
    }
    
    
    
    
    //****************************************************************************************
    void farsisms()
    {
      Serial.println("Sending SMS");
      sendCommand("AT+CSCS=\"HEX\"", 100);
      sendCommand("AT+CMGF=1", 100);
      sendCommand("AT+CSMP=17,167,0,8", 100);
      sendCommand("AT+CMGS=\"09177102643\"", 500);
      sendCommand("0633064406270645060C002006220641062A0627062800200631062706CC062706460647\x1A", 0);
      Serial.println("Persian SMS Sent");
      Serial.println("Ensert\n 'd' for dial \n 'e' for english sms \n 'f' for farsi sms \n 'h' for HttpRequest \n 's' for Send2Pachube  ");
    }
    //*******************************************************************************************
    void commandDetect() {
    
    
    
    
      if (Serial.available() > 0)
      {
        char data = Serial.read();
        switch (data)
        {
          case 'd' :
            dialNumber();
            break;
    
    
    
    
          case 'e' : ensms();
            break;
    
    
    
    
          case 'f' : farsisms();
            break;
    
    
    
    
          case 'h':
            SubmitHttpRequest();
            break;
    
    
    
    
          case 's':
            Send2Pachube();
            break;
        }
      }
    }
    
    
    
    
    //******************************************************************************************************
    void SubmitHttpRequest()
    {
      sendCommand("AT+CSQ", 100);
      sendCommand("AT+CGATT?", 100);
      sendCommand("AT+SAPBR=3,1,\"CONTYPE\",\"GPRS\"", 1000); //setting the SAPBR, the connection type is using gprs
      sendCommand("AT+SAPBR=3,1,\"APN\",\"CMNET\"", 4000); //setting the APN, the second need you fill in your local apn server
      sendCommand("AT+SAPBR=1,1", 2000); //setting the SAPBR, for detail you can refer to the AT command mamual
      sendCommand("AT+HTTPINIT", 2000); //init the HTTP request
      sendCommand("AT+HTTPPARA=\"URL\",\"www.google.com.hk\"", 1000); // setting the httppara, the second parameter is the website you want to access
      sendCommand("AT+HTTPACTION=0", 10000); //submit the request
      sendCommand("AT+HTTPREAD", 300); // read the data from the website you access
      sendCommand("", 100);
      delay(2000);
      Serial.println("Ensert\n 'd' for dial \n 'e' for english sms \n 'f' for farsi sms \n 'h' for HttpRequest \n 's' for Send2Pachube  ");
    }
    
    
    
    
    //*************************************************************************************************************************
    ///send2Pachube()///
    ///this function is to send the sensor data to the pachube, you can see the new value in the pachube after execute this function///
    void Send2Pachube()
    {
      sendCommand("AT+CGATT?", 1000);
      sendCommand("AT+CSTT=\"CMNET\"", 1000); //start task and setting the APN,
      sendCommand("AT+CIICR", 3000); //bring up wireless connection
      sendCommand("AT+CIFSR", 2000); //get local IP adress
      sendCommand("AT+CIPSPRT=0", 3000);
      sendCommand("AT+CIPSTART=\"tcp\",\"api.cosm.com\",\"8081\"", 2000); //start up the connection
      sendCommand("AT+CIPSEND", 4000); //begin send data to remote server
    
    
    
    
      String humidity = "1031";//these 4 line code are imitate the real sensor data, because the demo did't add other sensor, so using 4 string variable to replace.
      String moisture = "1242";//you can replace these four variable to the real sensor data in your project
      String temperature = "30";//
      String barometer = "60.56";//
      sendCommand("{\"method\": \"put\",\"resource\": \"/feeds/42742/\",\"params\"", 500); //here is the feed you apply from pachube
      sendCommand(": {},\"headers\": {\"X-PachubeApiKey\":", 500); //in here, you should replace your pachubeapikey
      sendCommand(" \"_cXwr5LE8qW4a296O-cDwOUvfddFer5pGmaRigPsiO0", 500); //pachubeapikey
      sendCommand("jEB9OjK-W6vej56j9ItaSlIac-hgbQjxExuveD95yc8BttXc", 500); //pachubeapikey
      sendCommand("Z7_seZqLVjeCOmNbEXUva45t6FL8AxOcuNSsQS\"},\"body\":", 500);
      sendCommand(" {\"version\": \"1.0.0\",\"datastreams\": ", 500);
      sendCommand("[{\"id\": \"01\",\"current_value\": \"" + barometer + "\"},", 500);
      sendCommand("{\"id\": \"02\",\"current_value\": \"" + humidity + "\"},", 500);
      sendCommand("{\"id\": \"03\",\"current_value\": \"" + moisture + "\"},", 500);
      sendCommand("{\"id\": \"04\",\"current_value\": \"" + temperature + "\"}]},\"token\": \"lee\"}", 500);
      SIM800.println(); ((char)26); //sending
      delay(5000);
      SIM800.println();
      sendCommand("AT+CIPCLOSE", 100); //close the connection
      delay(2000);
      Serial.println("Ensert\n 'd' for dial \n 'e' for english sms \n 'f' for farsi sms \n 'h' for HttpRequest \n 's' for Send2Pachube  ");
    
    
    
    
    }
    
    
    
    
    //******************************************************************************************************************
    void dtmfActive() {
      sendCommand("AT+DDET=1", 200);
    }
    
    
    
    
    
    
    
    
    //***************************************************************
    void anwerCall() {
      sendCommand("ATS0=3", 200);
    }
    
    
    
    
    void blinkd16(){
      pinMode(16,OUTPUT);
      digitalWrite(16,HIGH);
      delay(100);
      digitalWrite(16,LOW);
        delay(100);
      }

  10. #10
    Senior Member
    تاریخ عضویت
    Oct 2016
    نوشته ها
    112
    دستت درد نکنه
    یسوال داشتم
    سوالم اینه که شما روی اردینو وقتی یک برنامه مینویسی و اون برنامه دیگه نمیخوای و ی برنامه دیگه میخوای چ میکنی؟ ایا خود به خود جایگذین میشه؟
    بهتره اینجوری بپرسم که الان از برد داری ماژول سیم برنامه میدی بعد که سیم احتیاج نداری و میخوای بجاش از بلتوس استفاده کنی چ باید کرد؟

صفحه 1 از 5 123 ... آخرینآخرین

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •  

SEO by vBSEO