نمایش نتایج: از 1 به 6 از 6

موضوع: درخواست کمک برای ساخت یک ساعت با قابلیت اتصال ب اینترنت با اردینو

  1. #1
    Junior Member
    تاریخ عضویت
    Dec 2016
    نوشته ها
    3

    درخواست کمک برای ساخت یک ساعت با قابلیت اتصال ب اینترنت با اردینو

    سلام و خسته نباشید
    راستش من این ساعت رو تو ی سایت دیدم و خیلی خوشم اومد و میخام یکی درست کنم ولی از اردینو تقریبا هیچی نمیدونم کسی پیدا میشه کمکم کنه
    wifi-word-9.jpgwifi-word-10.jpgwifi-word-11.jpgwifi-word-12.jpg


    /**The MIT License (MIT)
    Copyright (c) 2016 by Daniel Eichhorn
    Permission is hereby granted, free of charge, to any person obtaining a copy
    of this software and associated documentation files (the "Software"), to deal
    in the Software without restriction, including without limitation the rights
    to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    copies of the Software, and to permit persons to whom the Software is
    furnished to do so, subject to the following conditions:
    The above copyright notice and this permission notice shall be included in all
    copies or substantial portions of the Software.
    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
    SOFTWARE.
    See more at http://blog.squix.ch
    */

    #include <ESP8266WiFi.h>
    #include <Ticker.h>
    #include <JsonListener.h>
    #include "SSD1306Wire.h"
    #include "OLEDDisplayUi.h"
    #include "Wire.h"
    #include "WorldClockClient.h"
    #include "icons.h"
    #include "fonts.h"



    /***************************
    * Begin Settings
    **************************/
    // WIFI
    const char* WIFI_SSID = "yourssid";
    const char* WIFI_PWD = "yourpassw0rd";

    // Setup
    const int UPDATE_INTERVAL_SECS = 10 * 60; // Update every 10 minutes

    // Display Settings
    const int I2C_DISPLAY_ADDRESS = 0x3c;
    const int SDA_PIN = D1;
    const int SDC_PIN = D2;

    // TimeClient settings


    // Initialize the oled display for address 0x3c
    // sda-pin=14 and sdc-pin=12

    SSD1306Wire display(I2C_DISPLAY_ADDRESS, SDA_PIN, SDC_PIN);
    OLEDDisplayUi ui ( &display );

    /***************************
    * End Settings
    **************************/
    String timeZoneIds [] = {"America/New_York", "Europe/London", "Europe/Paris", "Australia/Sydney"};
    WorldClockClient worldClockClient("de", "CH", "E, dd. MMMMM yyyy", 4, timeZoneIds);


    // flag changed in the ticker function every 10 minutes
    bool readyForUpdate = false;

    String lastUpdate = "--";

    Ticker ticker;


    void updateData(OLEDDisplay *display) {
    drawProgress(display, 50, "Updating Time...");
    worldClockClient.updateTime();
    drawProgress(display, 100, "Done...");
    readyForUpdate = false;
    delay(1000);
    }

    void drawProgress(OLEDDisplay *display, int percentage, String label) {
    display->clear();
    display->setTextAlignment(TEXT_ALIGN_CENTER);
    display->setFont(ArialMT_Plain_10);
    display->drawString(64, 10, label);
    display->drawProgressBar(10, 28, 108, 12, percentage);
    display->display();
    }

    void drawClock(OLEDDisplay *display, int x, int y, int timeZoneIndex, String city, const char* icon) {
    display->setTextAlignment(TEXT_ALIGN_LEFT);
    display->setFont(ArialMT_Plain_10);
    display->drawString(x + 60, y + 5, city);
    display->setFont(Crushed_Plain_36);
    display->drawXbm(x, y, 60, 60, icon);
    display->drawString(x + 60, y + 15, worldClockClient.getHours(timeZoneIndex) + ":" + worldClockClient.getMinutes(timeZoneIndex));

    }

    void drawFrame1(OLEDDisplay *display, OLEDDisplayUiState* state, int16_t x, int16_t y) {
    drawClock(display, x, y, , "New York", new_york_bits);
    }

    void drawFrame2(OLEDDisplay *display, OLEDDisplayUiState* state, int16_t x, int16_t y) {
    drawClock(display, x, y, 1, "London", london_bits);
    }

    void drawFrame3(OLEDDisplay *display, OLEDDisplayUiState* state, int16_t x, int16_t y) {
    drawClock(display, x, y, 2, "Paris", paris_bits);
    }

    void drawFrame4(OLEDDisplay *display, OLEDDisplayUiState* state, int16_t x, int16_t y) {
    drawClock(display, x, y, 3, "Sydney", sydney_bits);
    }


    void setReadyForWeatherUpdate() {
    Serial.println("Setting readyForUpdate to true");
    readyForUpdate = true;
    }

    // this array keeps function pointers to all frames
    // frames are the single views that slide from right to left
    FrameCallback frames[] = { drawFrame1, drawFrame2, drawFrame3, drawFrame4};
    int numberOfFrames = 4;

    void setup() {
    Serial.begin(115200);
    Serial.println();
    Serial.println();

    // initialize dispaly
    display.init();
    display.clear();
    display.display();

    //display.flipScreenVertically();
    display.setFont(ArialMT_Plain_10);
    display.setTextAlignment(TEXT_ALIGN_CENTER);
    display.setContrast(255);

    WiFi.begin(WIFI_SSID, WIFI_PWD);

    int counter = ;
    while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
    display.clear();
    display.drawString(64, 10, "Connecting to WiFi");
    display.drawXbm(46, 30, 8, 8, counter % 3 == ? activeSymbol : inactiveSymbol);
    display.drawXbm(60, 30, 8, 8, counter % 3 == 1 ? activeSymbol : inactiveSymbol);
    display.drawXbm(74, 30, 8, 8, counter % 3 == 2 ? activeSymbol : inactiveSymbol);
    display.display();

    counter++;
    }

    ui.setTargetFPS(30);

    // You can change this to
    // TOP, LEFT, BOTTOM, RIGHT
    ui.setIndicatorPosition(BOTTOM);

    // Defines where the first frame is located in the bar.
    ui.setIndicatorDirection(LEFT_RIGHT);

    // You can change the transition that is used
    // SLIDE_LEFT, SLIDE_RIGHT, SLIDE_TOP, SLIDE_DOWN
    ui.setFrameAnimation(SLIDE_LEFT);

    // Add frames
    ui.setFrames(frames, numberOfFrames);

    // Inital UI takes care of initalising the display too.
    ui.init();

    Serial.println("");

    updateData(&display);

    ticker.attach(UPDATE_INTERVAL_SECS, setReadyForWeatherUpdate);

    }

    void loop() {

    if (readyForUpdate && ui.getUiState()->frameState == FIXED) {
    updateData(&display);
    }

    int remainingTimeBudget = ui.update();

    if (remainingTimeBudget > ) {
    // You can do some work here
    // Don't do stuff if you are below your
    // time budget.
    delay(remainingTimeBudget);
    }

    }

  2. #2
    Senior Member
    تاریخ عضویت
    Oct 2016
    نوشته ها
    112
    شما کافیه اجناس بخری همین بس کد که حاظر اماده جلوته
    تو سایتش نوشته چیا میخوای ولی من اینجا دیدم که وایفا میخوای با نمایشگر oled

  3. #3
    Junior Member
    تاریخ عضویت
    Dec 2016
    نوشته ها
    3
    نقل قول نوشته اصلی توسط mohammadali نمایش پست ها
    شما کافیه اجناس بخری همین بس کد که حاظر اماده جلوته
    تو سایتش نوشته چیا میخوای ولی من اینجا دیدم که وایفا میخوای با نمایشگر oled
    سلام عزیز ممنون از جوابتون
    خرید لوازم چیزی نیس میخرم / اردینو 1.8 رو دانلود کردم و برد esp8266 رو هم معرفی کردم بهش ولی وقتی میخام کامپایل کنم دو سه تا ایراد میده از جمله یکی وای قای هست / منظورم اینه ک چیکار باید بکنم ک بتونم پروگرام کنم برد رو / اینم لیست لوازم
    یک عدد برد توسعه X-8266
    یک عدد ماژول X-OLED
    شیلد باتری ۱۸۶۵۰ دو ولتی
    قاب پرینت شده – می*توانید از قاب*های پلاستیکی آماده هم استفاده کنید
    ویرایش توسط ferya : 12-27-2016 در ساعت 09:21 PM

  4. #4
    مدیر ویژه
    تاریخ عضویت
    May 2014
    نوشته ها
    259
    نقل قول نوشته اصلی توسط ferya نمایش پست ها
    سلام عزیز ممنون از جوابتون
    خرید لوازم چیزی نیس میخرم / اردینو 1.8 رو دانلود کردم و برد esp8266 رو هم معرفی کردم بهش ولی وقتی میخام کامپایل کنم دو سه تا ایراد میده از جمله یکی وای قای هست / منظورم اینه ک چیکار باید بکنم ک بتونم پروگرام کنم برد رو / اینم لیست لوازم
    یک عدد برد توسعه X-8266
    یک عدد ماژول X-OLED
    شیلد باتری ۱۸۶۵۰ دو ولتی
    قاب پرینت شده – می*توانید از قاب*های پلاستیکی آماده هم استفاده کنید
    سلام بهتره اول یه خورده با زبان و برد های آردینو آشنا بشی بعد کاری انجام بدی فکر کنم اینجوری بهتره
    با این آدرس سری بزن ببین فایل های که داره بدردت میخوره
    https://www.tindie.com/products/lspo...6tiny-nodemcu/

  5. #5
    Junior Member
    تاریخ عضویت
    Dec 2016
    نوشته ها
    3
    سلام
    ممنون از دوستان / ینی هیشکی نیست ک بخاد مراحل کار رو بگه ؟!!!!!!
    من خودمم میخام یاد بگیرم ولی اول خیلی دوس دارم اینو درست کنم بعدش برم سراغ اموزش اردینو

  6. #6
    مدیر گروه
    تاریخ عضویت
    Nov 2013
    محل سکونت
    ایران
    نوشته ها
    4,024
    نقل قول نوشته اصلی توسط ferya نمایش پست ها
    سلام
    ممنون از دوستان / ینی هیشکی نیست ک بخاد مراحل کار رو بگه ؟!!!!!!
    من خودمم میخام یاد بگیرم ولی اول خیلی دوس دارم اینو درست کنم بعدش برم سراغ اموزش اردینو
    سلام
    اگر قصد دارید بتونید eSP8266 رو با آردوینو پروگرام کنید می تونید از لینک زیر استفاده کنید :
    آموزش پروگرام کردن برد توسعه witty

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

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

SEO by vBSEO