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 :)
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 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.