Iskra mini и GPS

Тема в разделе "Arduino & Shields", создана пользователем globus50, 29 май 2017.

  1. globus50

    globus50 Нуб

    Подскажите пожалуйста чайнику какие значения и как правильно надо подключить ublox neo-8m к iskra mini ?
    #include <SoftwareSerial.h>
    #include <TinyGPS.h>
    #include <LiquidCrystal.h>

    TinyGPS gps;
    SoftwareSerial uart_gps(?, ?); // RX,TX
    LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // LCD Shield
    // Переменные
    int seconds;
    int timeoffset = 3; // Пользователь должен изменить единицу на соответствующий часовой пояс. В примере используем сдвиг на +1 час.

    // Объявление функций.
    void getgps(TinyGPS &gps);

    // Функция настройки - запускается только при включении
    void setup()
    {
    Serial.begin(115200); // Запуск последовательного интерфейса для отладки
    uart_gps.begin(9600); // Запуск приемника UART для GPS
    lcd.begin(16,2); // Объявление LCD
    lcd.print(" GPS clock"); // Сообщение приветствия
    delay(1000); // Ждем одну секунду
    lcd.clear(); // Очистить LCD
    }

    // Цикл главной программы - запущен всегда
    void loop()
    {
    while(uart_gps.available())
    {
    int c = uart_gps.read();
    if(gps.encode(c))
    {
    getgps(gps);
    }
    }
    }

    /*
    * Данная функция получает данные от GPS модуля
    * и отображает их на LCD
    */
    void getgps(TinyGPS &gps)
    {
    int year;
    float latitude, longitude;
    byte month, day, hour, minute, second, hundredths;

    gps.f_get_position(&latitude, &longitude);
    gps.crack_datetime(&year, &month, &day, &hour, &minute, &second, &hundredths);
    hour = hour + timeoffset;

    lcd.clear();//lcd.setCursor(0, 0);
    lcd.print("Time: ");

    if (hour <= 9)
    {
    lcd.print("0"); lcd.print(hour, DEC);
    }
    else
    {
    lcd.print(hour, DEC);
    }
    lcd.print(":");
    if (minute <=9)
    {
    lcd.print("0"); lcd.print(minute, DEC);
    }
    else
    {
    lcd.print(minute, DEC);
    }
    lcd.print(":");
    if (second <= 9)
    {
    lcd.print("0"); lcd.print(second, DEC);
    }
    else
    {
    lcd.print(second, DEC);
    }
    lcd.setCursor(0,1);
    lcd.print("Date: ");
    if (day <= 9)
    {
    lcd.print("0"); lcd.print(day, DEC);
    }
    else
    {
    lcd.print(day, DEC);
    }
    lcd.print("-");
    if (month <= 9)
    {
    lcd.print(month, DEC);
    }
    else
    {
    lcd.print(month, DEC);
    }
    lcd.print("-"); lcd.print(year, DEC);
    delay(100);
    //lcd.clear();
    //lcd.print("Lat: "); lcd.print(latitude, DEC);
    //lcd.setCursor(0,1);
    //lcd.print("Lon: "); lcd.print(longitude, DEC);
    //delay(2000);

    // Debugging purpose only.
    //Serial.print(latitude, DEC); Serial.print(" - "); Serial.println(longitude, DEC);

    }
     
  2. Cynep

    Cynep Нерд

    Хотя бы код оформи, а то люди глаза поломают.