Quyidagi loihani Arduino dasturini kiriting va uni tahlil qiling
Download 240.26 Kb.
|
RFID radioplatalari uchun dasturlar. MK larda radiochastotali identifikatsiya
RFID radioplatalari uchun dasturlar. MK larda radiochastotali identifikatsiya. Identifikatsiya malumotlarini EEPROM da saqlash ishlash jarayonini tadqiq etish Quyidagi loihani Arduino dasturini kiriting va uni tahlil qiling: gps data logger Arduino #include #include #include #define cs 10 #define dc 9 #define rst 8 #include #include Adafruit_ST7735 tft = Adafruit_ST7735(cs, dc, rst); static const int RXPin = 4, TXPin = 3; //GPS communication static const uint32_t GPSBaud = 9600; #define OLED_RESET 5 TinyGPSPlus gps; SoftwareSerial ss(RXPin, TXPin); int x=80; int xh=80; int maxhigh=0; int maxspeed = 0, speed1 = 0; int high1 = 0;; void setup() { Serial.begin(9600); ss.begin(GPSBaud); tft.initR(INITR_GREENTAB); tft.fillScreen(ST7735_BLACK); tft.setCursor(5, 58); tft.setTextSize(1); tft.setTextColor(ST7735_GREEN,ST7735_BLACK); tft.print("initilisation"); } void loop() { tft.setTextSize(1); tft.setTextColor(ST7735_GREEN,ST7735_BLACK); // affichage des informations a chaque bonne reception satellite while (ss.available() > 0){ gps.encode(ss.read()); if (gps.location.isUpdated()){ cadre(); tft.setCursor(5, 44); tft.setTextColor(ST7735_GREEN,ST7735_BLACK); tft.print("Latitude :"); tft.setTextColor(ST7735_CYAN,ST7735_BLACK); tft.print(gps.location.lat(), 6); tft.setCursor(5, 58); tft.setTextColor(ST7735_GREEN,ST7735_BLACK); tft.print("Longitude :"); tft.setTextColor(ST7735_CYAN,ST7735_BLACK); tft.print(gps.location.lng(), 6); //affichage ecran date tft.setCursor(5, 7); tft.setTextColor(ST7735_GREEN,ST7735_BLACK); tft.print("date : "); tft.setTextColor(ST7735_CYAN,ST7735_BLACK); tft.print(gps.date.day()); tft.print(" "); tft.print(gps.date.month()); tft.print(" "); tft.print(gps.date.year()); //affichage ecran heure tft.setCursor(5, 20); tft.setTextColor(ST7735_GREEN,ST7735_BLACK); tft.print("heure : "); tft.setTextColor(ST7735_CYAN,ST7735_BLACK); tft.print(gps.time.hour()+1); tft.print(" "); tft.print(gps.time.minute()); tft.print(" "); tft.print(gps.time.second()); tft.print(" "); tft.setTextColor(ST7735_GREEN,ST7735_BLACK); tft.setCursor(3, 30); //affichage ecran altitude tft.setCursor(5, 80); tft.print("H m :"); tft.setTextColor(ST7735_CYAN,ST7735_BLACK); tft.print (gps.altitude.meters(),0); tft.setTextColor(ST7735_CYAN,ST7735_BLACK); tft.print(" "); tft.setTextColor(ST7735_GREEN,ST7735_BLACK); tft.setCursor(5, 95); hmax(); tft.print("Hmax :"); tft.setTextColor(ST7735_CYAN,ST7735_BLACK); tft.print(maxhigh); tft.setTextColor(ST7735_CYAN,ST7735_BLACK); tft.print(" "); courbeh(); //affichage ecran vitesse tft.setCursor(5, 115); tft.setTextColor(ST7735_GREEN,ST7735_BLACK); tft.print("V act: "); tft.setTextColor(ST7735_CYAN,ST7735_BLACK); tft.print (gps.speed.kmph(),0); tft.setTextColor(ST7735_CYAN,ST7735_BLACK); tft.print(" "); tft.setCursor(5, 130); tft.setTextColor(ST7735_GREEN,ST7735_BLACK); vmax(); tft.print("vmax: "); tft.setTextColor(ST7735_CYAN,ST7735_BLACK); tft.print(maxspeed); tft.setTextColor(ST7735_CYAN,ST7735_BLACK); tft.print(" "); tft.setTextColor(ST7735_GREEN,ST7735_BLACK); courbe(); //affichage ecran nombre de satellites tft.setCursor(5, 147); tft.setTextColor(ST7735_GREEN,ST7735_BLACK); tft.print("nombre de Sat : "); tft.setTextColor(ST7735_CYAN,ST7735_BLACK); tft.print(gps.satellites.value()); tft.setTextColor(ST7735_CYAN,ST7735_BLACK); tft.print(" "); // Horizontal Dim. of Precision (100ths-i32) Serial.print("HDOP = "); Serial.println(gps.hdop.value()); smartDelay(400); } } } // delai pour une bonne recption static void smartDelay(unsigned long ms) { unsigned long start = millis(); do { while (ss.available()) gps.encode(ss.read()); } while (millis() - start < ms); } void cadre() { // affichage ecran //cadre tft.drawLine(0,0,130,0,ST7735_RED); tft.drawLine(0,1,130,1,ST7735_RED); tft.drawLine(0,158,130,158,ST7735_RED); tft.drawLine(0,142,130,142,ST7735_RED); tft.drawLine(0,141,130,141,ST7735_RED); tft.drawLine(0,107,130,107,ST7735_RED); tft.drawLine(0,108,130,108,ST7735_RED); tft.drawLine(80,108,80,140,ST7735_RED); tft.drawLine(81,109,81,140,ST7735_RED); tft.drawLine(80,70,80,108,ST7735_RED); tft.drawLine(81,70,81,108,ST7735_RED); tft.drawLine(0,159,130,159,ST7735_RED); tft.drawLine(0,0,0,156,ST7735_RED); tft.drawLine(1,1,1,157,ST7735_RED); tft.drawLine(127,0,127,156,ST7735_RED); tft.drawLine(126,0,126,156,ST7735_RED); tft.drawLine(0,35,130,35,ST7735_RED); tft.drawLine(0,36,130,36,ST7735_RED); tft.drawLine(0,70,130,70,ST7735_RED); tft.drawLine(0,71,130,71,ST7735_RED); } void courbe() { int nouvelleValeur; // converison vitesse max (350 km/h) en pixel nouvelleValeur = map((gps.speed.kmph()), 0, 150, 137, 110); // car l'cran a 64 pixels de haut x++; tft.drawPixel(x,nouvelleValeur,ST7735_CYAN); if (x>123) { x=80; tft.fillRect(82,110,43,30,ST7735_BLACK); } } void courbeh() { int nouvelleValeurh; // converison vitesse max (350 km/h) en pixel nouvelleValeurh = map((gps.altitude.meters()), 0, 1000, 104, 72); // car l'cran a 64 pixels de haut xh++; tft.drawPixel(xh,nouvelleValeurh,ST7735_CYAN); if (xh>123) { xh=80; tft.fillRect(82,72,43,35,ST7735_BLACK); } } void vmax() { // calcul vitese maximum speed1 = (gps.speed.kmph()); if ( speed1 > maxspeed) { maxspeed = speed1; } } void hmax() { // calcul altitude maximum high1 = (gps.altitude.meters()); if ( high1 > maxhigh) { maxhigh = high1; } } Download 240.26 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling