Nous guidera pour développer Arduino basé à 7 segments horloge gps qui va montrer EDT temps. L'heure précise est fournie par l'intermédiaire des horloges synchronisées avec le système de positionnement global (GPS). Ces horloges sont omniprésents et souvent trouvé aux arrêts de bus, des gares et des aéroports. Ce sont aussi souvent utilisés dans l'armée.
Ici, nous présentons une horloge GPS intégré sur la carte Arduino Uno R3, un microcontrôleur conseil d'administration sur la AVR ATmega328 qui a 14 numérique d'entrée/sortie (I/O), les broches et les six broches d'entrées analogiques. Le microcontrôleur contient 1 ko de mémoire EEPROM, 2 ko de RAM, et 32 ko de FAI mémoire flash. Le conseil d'administration prend en charge la communication série avec SPI, I2C et UART.
Arduino basée sur GPS, Horloge du Circuit et de Son travail:
L'horloge GPS du circuit Arduino et le bloc-diagramme sont affichés dans les Figures 1 et 2, respectivement. Le SIM28M module récepteur GPS (GPS1), un Arduino Uno (conseil EXÉCUTIF1), une antenne GPS (ANT.1), une pile 9V DC adaptateur d'alimentation, et quelques cavaliers pour l'en-tête de connexions sont également utilisés dans le circuit.


Ici, nous essayé pour extrait l' GPS le temps et date à partir de un GPS fourni chaîne ($GPRMC). Il y sont environ 70 caractères dans cette chaîne de caractères. L' Arduino gère chaque procédure et reçoit GPS sortie signaux, comme illustré dans Fig. 2.
La suite la réception de l' GPS de sortie, l' Arduino lit tous de l' les chaînes et magasins eux dans un tableau ou chaîne au sein de l' Arduino programme. Une fois l' nécessaire chaîne a été stockées, Arduino extrait l' le temps et date à partir de l' chaîne et transmet il pour LCD1 pour d'affichage.
Les broches 5, 4, 3 et 2 de l'Arduino sont directement liés à des broches de données D4 grâce à D7 de LCD1, en conséquence. Les broches 11 et 12 de l'Arduino sont liés à la contrôle de broches FR et sr de LCD1, respectivement. La carte Arduino de Rx pin est directement connecté à la pin Tx du récepteur GPS. Gardez à l'esprit que le GPS et l'Arduino broches de masse doivent être joints l'un à l'autre.
Le module GPS dans cette instance fonctionne à un débit en bauds de 9600bps. Le sketch Arduino classe
Numéro de série.begin(9600)
la fonction est utilisée pour définir l'Arduino pour fonctionner à un débit en bauds de 9600bps.
SIM28M module récepteur GPS (GPS1) – GPS de sortie:
Comme on le voit dans la Fig. 3, l'Arduino serial moniteur affiche le récepteur GPS de sortie. Utiliser les mêmes connexions que décrit précédemment, mais prendre le microcontrôleur ATmega328 hors de la carte Arduino pour obtenir ces données GPS. Ensuite, afin d'inspecter le GPS le format de sortie, le lancement de l'IDE Arduino et choisissez le Moniteur de Série option.

Vous avez juste besoin d'utiliser $GPRMC Chaîne. de nombreuses chaînes de caractères affichés dans cette fenêtre. Ici, la date s'affiche après la neuvième virgule, alors que l'heure dans le format 24 heures qui suit la première virgule. Ce $GPRMC chaîne est traitée par un Arduino logiciel pour extraire la date et l'heure, qui est ensuite affichée sur LCD1.
Logiciel:
La carte Arduino Uno et de la mémoire interne contient un programme qui contrôle le circuit de fonctionnement. L'Arduino langage de programmation est utilisé pour créer le logiciel (gpsindia.ino). L'application est compilée et téléchargés à l'aide de l'IDE Arduino 1.6.4.
Choisissez le port COM approprié dans l'IDE Arduino après la connexion de la carte Arduino à l'ordinateur. Mettre le logiciel ou un croquis d'ensemble. Télécharger l'esquisse après le choix du conseil d'administration de l'Arduino IDE Outils " �Conseil de menu. La programmation de ce projet ne requièrent pas de fichiers d'en-tête.
Code Arduino en fonction horloge gps:
#include
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
char str[70];
char *test="$GPRMC";
int temp,j';
void setup()
{
Numéro de série.begin(9600);
écran lcd.begin(16,2);
écran lcd.setCursor(0,0);
écran lcd.print(" GPS ");
écran lcd.setCursor(0,1);
écran lcd.print(" Horloge Numérique ");
delay(300);
}
void loop()
{
serial1Event();
si (temp)
{
écran lcd.clear();
int str_lenth=i;
int x=0,virgule=0;
Chaîne UTC_hour="";
Chaîne UTC_minut="";
Chaîne UTC_second="";
Chaîne UTC_date="";
Chaîne UTC_month="";
Chaîne UTC_year="";
String str1="";
while(x<str_lenth) { if(str[x]==',') comma++; if(comma==1) { x++; UTC_hour+=str[x++]; UTC_hour+=str[x++]; UTC_minut+=str[x++]; UTC_minut+=str[x++]; UTC_second+=str[x++]; UTC_second+=str[x]; comma=2; } if(comma==10) { x++; UTC_date+=str[x++]; UTC_date+=str[x++]; UTC_month+=str[x++]; UTC_month+=str[x++]; UTC_year+=str[x++]; UTC_year+=str[x]; } x++; } int UTC_hourDec=UTC_hour.toInt(); int UTC_minutDec=UTC_minut.toInt(); int Second=UTC_second.toInt(); int Date=UTC_date.toInt(); int Month=UTC_month.toInt(); int Year=UTC_year.toInt(); int Hour=UTC_hourDec+5; if(Hour>23)
{
Heures=24;
Date+=1;
}
int Minute=UTC_minutDec+30;
si(Minut>59)
{
Minut-=60;
Heure+=1;
}
// UTC_ind_zone_time
écran lcd.clear();
écran lcd.print("Date: ");
écran lcd.imprimer le(Date);
écran lcd.print("/");
écran lcd.print(Mois);
écran lcd.print("/");
écran lcd.print("20");
écran lcd.print(Année);
écran lcd.setCursor(0,1);
écran lcd.print("Heure: ");
écran lcd.print(Heure);
écran lcd.print(":");
écran lcd.print(Minut);
écran lcd.print(":");
écran lcd.print(Seconde);
// delay(100);
temp=0;
// j=0;
i=0;
x=0;
str_lenth=0;
// k=0;
}
// delay(1000);
}
void serial1Event()
{
while(1)
{
while (Serial.disponible()) //vérification de la série de données de GPS
{
char grossir = (char)de Série.read();
str[i]= grossir; //stocke les données de GPS dans str[]
i++;
si (i 65 ans)
{
temp=1;
break;
}
}
si(temp)
break;
}
}
La Construction et les tests:
Il n'est pas nécessaire de construire le circuit sur un circuit imprimé. Usage externe en-tête des cavaliers pour connecter l'Arduino Uno, LCD1, et SIM28M module récepteur GPS afin de compléter le circuit. Joindre une alimentation 9V adaptateur à l'Arduino et SIM28M module récepteur GPS, respectivement. Connectez le GPS1 module ANT.1 ainsi. Recherchez le LCD1 unité dans un endroit commode.
Dans La Fig. 4, l'auteur du prototype est affiché.
Télécharger le dossier du Projet, au-dessus de GPS en fonction de l'Horloge construite pour écran LCD:
Cliquez sur télécharger le SIM28M module récepteur GPS GPS-Arduino-Horloge-affichage à cristaux liquides.ino
La conversion de fuseau horaire Indian fuseau horaire à l'EDT fuseau horaire:
Pour convertir le fuseau horaire Indian Standard Time (IST, UTC+5:30) à (Heure de l'est (UTC-4:00), vous devez régler l'heure et la minute de calculs. Voici l' simple changement vous avez besoin de faire:
Changer le décalage horaire
Remplacer les lignes suivantes dans le code:
Le multiplexage 7 segments affiche avec Arduino et des Registres à Décalage
Affichage de la température sur 4 Chiffres de 7 segments à l'aide d'Arduino