Selman Proje Dosya

mail@pastecode.io avatar
unknown
c_cpp
2 years ago
1.9 kB
4
Indexable
Never
/*!< Dahil edilen kutuphaneler */
#include <Arduino.h>
#include <Wire.h>

#include "LiquidCrystal_I2C.h"
#include "Sabitler.h"
#include "SiviSeviye.h"
//----------------------------------//

/*!< Olusturulan global nesneler */
LiquidCrystal_I2C lcd(0x27,20,4); 
SiviSeviye siviSeviye;
PID pid;
OnOff onOff;
Bulanik bulanik;
//----------------------------------//

void setup() 
{
  Serial.begin(9600);                     
  
  /*! Pin modu secimleri */
  ArduinoPinMod();
  
  /*!< LCD baslagic ayarlari */
  lcd.init();
  lcd.backlight();
}

void loop() 
{
  /*!< Sivi seviyesini oku */
  SiviSeviyeSensorDeger(&siviSeviye);

  /*!< Manuel mi otomatik kontrol mu ?*/
  ManuelOtomatikMod manuelOtomatikMod = (ManuelOtomatikMod) ManuelMiOtomatikMi();
  
  /*!< Referans secimi yap */
  ReferansMod referansMod = (ReferansMod) ReferansModButonOku();

  /*!< PID, On-Off veya Bulanik ile mi kontrol ? */
  OtomatikMod otomatikMod = (OtomatikMod) OtomatikModButonOku();

  /*!< Motor1 veya motor2 ile mi kontrol */
  ManuelMod manuelMod = (ManuelMod) ManuelModButonOku();

  /*! Butonlardan okunan degerlere gore suruc modu secimini gerceklestir */
  Surus(&lcd, &siviSeviye, &pid, &onOff, &bulanik, manuelOtomatikMod, referansMod, otomatikMod, manuelMod);
}

/**
 * @brief Tum pin modlarının belirlendigi fonksiyon
 * 
 */
void ArduinoPinMod(void)
{
  pinMode(M1PulsePozitif, OUTPUT);
  pinMode(M1PulseNegatif, OUTPUT);
  pinMode(M2PulsePozitif, OUTPUT);
  pinMode(M2PulseNegatif, OUTPUT);
  pinMode(M1MOTOR, INPUT);
  pinMode(M2MOTOR, INPUT);
  pinMode(MOTOR1_PWM, OUTPUT);
  pinMode(MOTOR2_PWM, OUTPUT);
  pinMode(SIVI_SEVIYE_SENSOR, INPUT);
  pinMode(_PID, INPUT);
  pinMode(_ON_OFF, INPUT);
  pinMode(_BULANIK, INPUT);
  pinMode(REFERANS_100, INPUT);
  pinMode(REFERANS_50, INPUT);
}