Yazılım

Safe Bot aracının bileşenlerinin , araçta kullanılan parçaların kodları

RP Lidar

RP Lidar sistemi aracın üst bölümünden madenin şemasını çıkaracak şekilde ayarlandı. Rp lidar sisteminin kodları için aşağıya doğru inebilirsiniz :)

RP Lidar sisteminin kodları

LCD EKRANIN KODLARI

LCD Ekran üzerinde gaz sensörlerin değerlerini her saniye güncelleyip yansıtacak şekilde yazılmıştır.

#include <Adafruit_GFX.h>#include <Adafruit_ILI9341.h>#include "Adafruit_GFX.h"#include <Adafruit_ILI9341.h>#include "MCUFRIEND_kbv.h"#include <Adafruit_TFTLCD.h>#include <TouchScreen.h>#include <LiquidCrystal.h>MCUFRIEND_kbv tft;#include "Fonts/FreeSans9pt7b.h"#include "Fonts/FreeSans12pt7b.h"#include "Fonts/FreeSerif12pt7b.h"#include "FreeDefaultFonts.h"#define PI 3.1415926535897932384626433832795#define TFT_CS   10#define TFT_DC   9#define TFT_RST  8Adafruit_ILI9341 myScreen = Adafruit_ILI9341(TFT_CS, TFT_DC, TFT_RST);int mq2Pin = A12;int mq4Pin = A11;int mq5Pin = A13;int mq8Pin = A10;int mq9Pin = A8;int mq135Pin = A9;int col[8];void showmsgXY(int x, int y, int sz, const GFXfont *f, const char *msg){int16_t x1, y1;uint16_t wid, ht;tft.setCursor(x, y);tft.setTextColor(0x0000);tft.setTextSize(sz);tft.print(msg);}LiquidCrystal lcd(12, 11, 5, 4, 3, 2);#define BLACK 0x0000#define NAVY 0x000F#define DARKGREEN 0x03E0#define DARKCYAN 0x03EF#define MAROON 0x7800#define PURPLE 0x780F#define OLIVE 0x7BE0#define LIGHTGREY 0xC618#define DARKGREY 0x7BEF#define BLUE 0x001F#define GREEN 0x07E0#define CYAN 0x07FF#define RED 0xF800#define MAGENTA 0xF81F#define YELLOW 0xFFE0#define WHITE 0xFFFF#define ORANGE 0xFD20#define GREENYELLOW 0xAFE5#define PINK 0xF81Fvoid setup() {{tft.reset();Serial.begin(9600);uint16_t ID = tft.readID();tft.begin(ID);tft.setRotation(1);tft.invertDisplay(true);tft.fillScreen(0xffff);  tft.begin();  tft.setRotation(1);   tft.fillScreen(BLACK); }}void loop() {  int mq2Value = analogRead(mq2Pin);  int mq4Value = analogRead(mq4Pin);  int mq5Value = analogRead(mq5Pin);  int mq8Value = analogRead(mq8Pin);  int mq9Value = analogRead(mq9Pin);  int mq135Value = analogRead(mq135Pin);    tft.drawCircle(100, 70, 55, ORANGE);   tft.drawCircle(241, 70, 55, GREENYELLOW);   tft.drawCircle(380, 70, 55, RED);   tft.drawCircle(100, 210, 55, GREEN);   tft.drawCircle(241, 210, 55, CYAN);   tft.drawCircle(380, 210, 55, PINK);     tft.fillRect(65, 60, 70, 50, BLACK);  tft.setCursor(74, 60);  tft.setTextColor(WHITE);  tft.setTextSize(3);  tft.println(String(mq2Value));  tft.fillRect(210, 60, 70, 50, BLACK);  tft.setCursor(215, 60);   tft.setTextColor(WHITE);  tft.setTextSize(3);  tft.println(String(mq8Value));  tft.fillRect(348, 60, 70, 50, BLACK);  tft.setCursor(355, 60);   tft.setTextColor(WHITE);  tft.setTextSize(3);  tft.println(String(mq4Value));  tft.setCursor(69, 135);   tft.setTextColor(WHITE);  tft.setTextSize(2);  tft.print("DUMAN");  tft.setCursor(196,135);   tft.setTextColor(WHITE);  tft.setTextSize(2);  tft.print("HIDROJEN");  tft.setCursor(351, 135);   tft.setTextColor(WHITE);  tft.setTextSize(2);  tft.print("METAN");  tft.fillRect(68, 201, 70, 50, BLACK);  tft.setCursor(74, 201);   tft.setTextColor(WHITE);  tft.setTextSize(3);  tft.println(String(mq9Value));    tft.fillRect(208, 201, 70, 50, BLACK);  tft.setCursor(214, 201);   tft.setTextColor(WHITE);  tft.setTextSize(3);  tft.println(String(mq5Value));  tft.fillRect(347, 201, 70, 50, BLACK);  tft.setCursor(354, 201);   tft.setTextColor(WHITE);  tft.setTextSize(3);  tft.println(String(mq135Value));  tft.setCursor(62, 270);   tft.setTextColor(WHITE);  tft.setTextSize(2);  tft.print("KARBON");  tft.setCursor(50, 290);   tft.setTextColor(WHITE);  tft.setTextSize(2);  tft.print("MONOKSIT");  tft.setCursor(222, 270);   tft.setTextColor(WHITE);  tft.setTextSize(2);  tft.print("LPG");  tft.setCursor(210, 290);   tft.setTextColor(WHITE);  tft.setTextSize(2);  tft.print("PROPAN");  tft.setCursor(357, 270);   tft.setTextColor(WHITE);  tft.setTextSize(2);  tft.print("HAVA");  tft.setCursor(352, 290);   tft.setTextColor(WHITE);  tft.setTextSize(2);  tft.print("KALITE");  delay(1000);}

RFID OKUYUCUNUN KODLARI

RFID Okuyucu ile kartı , anahtarı vb. araçlar ile çalışanların giriş çıkış kontrolünü LCD Ekran üzerinde sağlayıp içerideki çalışanların listesini LCD Ekran üzerinde görebiliyoruz.

#include <SPI.h>#include <MFRC522.h>#include <Adafruit_GFX.h>#include <Adafruit_ILI9341.h>#define TFT_CS 10#define TFT_DC 9#define RST_PIN 8#define SS_PIN 4Adafruit_ILI9341 tft = Adafruit_ILI9341(TFT_CS, TFT_DC, RST_PIN);MFRC522 mfrc522(SS_PIN, RST_PIN);String cardNames[] = {  "KART1",    "KART2",    "KART3",    "KART4"   };void setup() {  Serial.begin(9600);  SPI.begin();  mfrc522.PCD_Init();  tft.begin();  tft.setRotation(3);  tft.fillScreen(ILI9341_BLACK);  tft.setTextSize(2);  tft.setCursor(10, 10);   tft.setTextColor(ILI9341_GREEN);  tft.println("RFID okuyucu baslatildi.");}void loop() {  if (mfrc522.PICC_IsNewCardPresent() && mfrc522.PICC_ReadCardSerial()) {    String cardName = "Bilinmiyor";    for (int i = 0; i < sizeof(cardNames)/sizeof(cardNames[0]); i++) {      if (isCardMatch(mfrc522.uid.uidByte, cardNames[i])) {        cardName = cardNames[i];        break;      }    }    printCardName(cardName);    mfrc522.PICC_HaltA();    mfrc522.PCD_StopCrypto1();    delay(2000);    clearCardName();  }}bool isCardMatch(byte *uid, String name) {  MFRC522::Uid expectedUid;  expectedUid.size = 4;  expectedUid.uidByte[0] = 0;  expectedUid.uidByte[1] = 0;  expectedUid.uidByte[2] = 0;  expectedUid.uidByte[3] = 0;  if (name == "KART1") {    expectedUid.uidByte[0] = 0x1A;    expectedUid.uidByte[1] = 0x2B;    expectedUid.uidByte[2] = 0x3C;    expectedUid.uidByte[3] = 0x4D;  } else if (name == "KART2") {    expectedUid.uidByte[0] = 0x5E;    expectedUid.uidByte[1] = 0x6F;expectedUid.uidByte[2] = 0x7A;expectedUid.uidByte[3] = 0x8B;} else if (name == "KART3") {expectedUid.uidByte[0] = 0x9C;expectedUid.uidByte[1] = 0xAD;expectedUid.uidByte[2] = 0xBE;expectedUid.uidByte[3] = 0xDF;} else if (name == "KART4") {expectedUid.uidByte[0] = 0xEA;expectedUid.uidByte[1] = 0xFB;expectedUid.uidByte[2] = 0xFC;expectedUid.uidByte[3] = 0x1D;}for (int i = 0; i < 4; i++) {if (uid[i] != expectedUid.uidByte[i]) {return false;}}return true;}void printCardName(String name) {tft.fillScreen(ILI9341_BLACK);tft.setCursor(10, 10);tft.setTextColor(ILI9341_GREEN);tft.setTextSize(2);tft.print("Kart Okundu: ");tft.println(name);}void clearCardName() {tft.fillScreen(ILI9341_BLACK);}

Bilgilendirme

Motorların Sürücü , mesafe sensörleri vb. araçların yazılımında sürekli güncelleme yaptığımız için yayınlamada sorun yaşıyoruz , en kısa sürede eksik olan kodları sizlerle paylaşacağız.

Copyright © 2023 8fikir, Inc. All rights reserved.

Made in Typedream