Help convert arduino code to mikroc language

Hi guys,
Please how to convert arduino code to mikroc

#include <OneWire.h>
#include <DallasTemperature.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>

// تعريف المدخلات والمخارج
#define ONE_WIRE_BUS 2
#define BUTTON_MENU 8
#define BUTTON_INC 6
#define BUTTON_DEC 5
#define BUTTON_OK 7
LiquidCrystal_I2C lcd(0x27, 16, 2); // Adresse I2C de l'écran LCD et dimensions

// تعريف المتغيرات العامة
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
DeviceAddress sensorAddr;
float setTemp ;
float currentTemp ;
int menuState = 0;

// تعريف الدوال اللازمة
void readTemperature();
void displayTemperature();
void enterMenu();
void increaseTemp();
void decreaseTemp();
void confirmTemp();

void setup() {
  // تهيئة البورتات
  pinMode(BUTTON_MENU, INPUT_PULLUP);
  pinMode(BUTTON_INC, INPUT_PULLUP);
  pinMode(BUTTON_DEC, INPUT_PULLUP);
  pinMode(BUTTON_OK, INPUT_PULLUP);
  pinMode(13, OUTPUT);
  // تهيئة الLCD
  lcd.init();
  lcd.backlight();
  lcd.setCursor(0, 0);
  lcd.print("Water Temp: ");
  // تهيئة المستشعر
  sensors.begin();
  sensors.getAddress(sensorAddr, 0);
  sensors.setResolution(sensorAddr, 12);
  Serial.begin(115200);


}

void loop() {
  digitalWrite(11, HIGH);
  readTemperature();
  displayTemperature();

  // قراءة الأزرار وتنفيذ الحدث المناسب
  switch (menuState) {
    case 0:
      if (digitalRead(BUTTON_MENU) == LOW) {
        enterMenu();

      }
      break;
    case 1:
      if (digitalRead(BUTTON_INC) == LOW) {
        increaseTemp();
      }
      else if (digitalRead(BUTTON_DEC) == LOW) {
        decreaseTemp();
      }
      else if (digitalRead(BUTTON_OK) == LOW) {
        confirmTemp();


      }
      break;
  }
  if (currentTemp >= setTemp) {
    Serial.println("Temperature is too high!");
    digitalWrite(13, LOW);
    digitalWrite(12, LOW);

  }
  else if (currentTemp < setTemp) {
    Serial.println("Temperature is too low!");
    digitalWrite(13, HIGH);
    digitalWrite(12, HIGH);

  }

  // مقارنة درجة الحرارة المقاسة بالحساس مع القيمة المحددة}

  delay(100);
}
void readTemperature() {
  sensors.requestTemperatures();
  currentTemp = sensors.getTempC(sensorAddr);
  if (currentTemp == -127.00) {
    Serial.println("Error: Could not read temperature");
  }
  else {
    Serial.print("Temperature: ");
    Serial.print(currentTemp);
    Serial.println("  C");
  }
}


void displayTemperature() {
  lcd.setCursor(0, 1);
  lcd.print(currentTemp);
  lcd.print("  C   ");
}

void enterMenu() {
  menuState = 1;
  lcd.setCursor(0, 0);
  lcd.print("Set Temp:    ");
  lcd.setCursor(0, 1);
  lcd.print(setTemp);
}

void increaseTemp() {
  setTemp += 1;
  lcd.setCursor(0, 1);
  lcd.print(setTemp);
}

void decreaseTemp() {
  setTemp -= 1;
  lcd.setCursor(0, 1);
  lcd.print(setTemp);
}

void confirmTemp() {
  lcd.setCursor(0, 0);
  lcd.print("Water Temp: ");
  displayTemperature();
  lcd.setCursor(10, 1);
  lcd.print(" ");
  lcd.print(setTemp);
}

thanks

If it were me I would write macros and do it with an editor such as Vi.

Its possible someone in the mikroc forum would have a better understanding of the mikroc language.

1 Like

MicroC is not a language, but the compiler for C with it`s own "ecosystem", libraries etc.

2 Likes

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.