Mr Vernix

Mr Vernix 🚩 অমরপুর ত্রিপুরা🚩
♥️welcome ♥️
--------to------
♥️Tach/Music /App♥️
-------------------🕉️ ------------------

12/06/2026

Galat kam main use mat karna 😆😂😂

🤦    #ত্রিপুরা
01/02/2026

🤦 #ত্রিপুরা

Emni 🙃
29/01/2026

Emni 🙃

😬
26/01/2026

😬

07/12/2025

বানিয়ে ফেলেছি একটি Android App ও একটি স্মার্ট Robot Car. ( ♥️ Machine learning )
Code :- 👇




BluetoothSerial SerialBT;

// Servo objects
Servo servoPan;
Servo servoTilt;

// ==================== পিন ডেফিনিশন ====================
LEFT_IN1 13
LEFT_IN2 14
LEFT_IN3 16
LEFT_IN4 17

RIGHT_IN1 18
RIGHT_IN2 19
RIGHT_IN3 25
RIGHT_IN4 26

SERVO_PAN 27
SERVO_TILT 33
LED_CONTROL 4
SWITCH1 21
SWITCH2 22
BLINK_LED 23

// Bluetooth
String inputString = "";
bool stringComplete = false;

// Blink system
unsigned long previousMillis = 0;
const long blinkInterval = 1500;

void setup() {
Serial.begin(115200);
SerialBT.begin("RobotCar_BT");
Serial.println("\n===============================");
Serial.println(" Bluetooth Robot Car Started");
Serial.println(" Pair with: RobotCar_BT");
Serial.println("===============================\n");

// মোটরের পিন
pinMode(LEFT_IN1, OUTPUT); pinMode(LEFT_IN2, OUTPUT);
pinMode(LEFT_IN3, OUTPUT); pinMode(LEFT_IN4, OUTPUT);
pinMode(RIGHT_IN1, OUTPUT); pinMode(RIGHT_IN2, OUTPUT);
pinMode(RIGHT_IN3, OUTPUT); pinMode(RIGHT_IN4, OUTPUT);

// সার্ভো সেটিং (MG995 best setup)
servoPan.setPeriodHertz(333);
servoTilt.setPeriodHertz(333);
servoPan.attach(SERVO_PAN, 520, 2420);
servoTilt.attach(SERVO_TILT, 520, 2420);

servoPan.write(90);
servoTilt.write(80);

// LED & Switch
pinMode(LED_CONTROL, OUTPUT);
pinMode(SWITCH1, OUTPUT);
pinMode(SWITCH2, OUTPUT);
pinMode(BLINK_LED, OUTPUT);

digitalWrite(LED_CONTROL, LOW);
digitalWrite(SWITCH1, LOW);
digitalWrite(SWITCH2, LOW);

inputString.reserve(50);
}

void loop() {
// ==================== BLINK LED ====================
unsigned long currentMillis = millis();
if (currentMillis - previousMillis >= blinkInterval) {
previousMillis = currentMillis;
digitalWrite(BLINK_LED, HIGH);
delay(50);
digitalWrite(BLINK_LED, LOW);
}

// ==================== BLUETOOTH DATA RECEIVE ====================
while (SerialBT.available()) {
char inChar = (char)SerialBT.read();
if (inChar == '\n') {
stringComplete = true;
} else {
inputString += inChar;
}
}

// ==================== PROCESS COMMAND ====================
if (stringComplete) {

inputString.trim();
inputString.replace("\r", ""); // CR থাকলে রিমুভ

Serial.print("[CMD] Received → ");
Serial.println(inputString);

// ========== MOVEMENT ==========
if (inputString == "1") { Serial.println("→ FORWARD"); moveForward(); }
else if (inputString == "2") { Serial.println("→ BACKWARD"); moveBackward(); }
else if (inputString == "3") { Serial.println("→ LEFT"); turnLeft(); }
else if (inputString == "4") { Serial.println("→ RIGHT"); turnRight(); }
else if (inputString == "0") { Serial.println("→ STOP"); stopCar(); }

// ========== SERVO PAN ==========
else if (inputString.startsWith("P")) {
int v = inputString.substring(1).toInt();
v = constrain(v, 0, 180);
servoPan.write(v);
Serial.printf("→ PAN = %d°\n", v);
}

// ========== SERVO TILT ==========
else if (inputString.startsWith("T")) {
int v = inputString.substring(1).toInt();
v = constrain(v, 40, 120);
servoTilt.write(v);
Serial.printf("→ TILT = %d°\n", v);
}

// ========== LED ==========
else if (inputString == "L1") { digitalWrite(LED_CONTROL, HIGH); Serial.println("→ LED ON"); }
else if (inputString == "L0") { digitalWrite(LED_CONTROL, LOW); Serial.println("→ LED OFF"); }

// ========== SWITCH 1 ==========
else if (inputString == "S1") { digitalWrite(SWITCH1, HIGH); Serial.println("→ SWITCH1 ON"); }
else if (inputString == "S0") { digitalWrite(SWITCH1, LOW); Serial.println("→ SWITCH1 OFF"); }

// ========== SWITCH 2 ==========
else if (inputString == "M1") { digitalWrite(SWITCH2, HIGH); Serial.println("→ SWITCH2 ON"); }
else if (inputString == "M0") { digitalWrite(SWITCH2, LOW); Serial.println("→ SWITCH2 OFF"); }

else {
Serial.println("⚠ Unknown Command!");
}

inputString = "";
stringComplete = false;
}
}

// ==================== মোটর ফাংশন ====================
void moveForward() {
digitalWrite(LEFT_IN1,HIGH); digitalWrite(LEFT_IN2,LOW);
digitalWrite(LEFT_IN3,HIGH); digitalWrite(LEFT_IN4,LOW);
digitalWrite(RIGHT_IN1,HIGH); digitalWrite(RIGHT_IN2,LOW);
digitalWrite(RIGHT_IN3,HIGH); digitalWrite(RIGHT_IN4,LOW);
}

void moveBackward() {
digitalWrite(LEFT_IN1,LOW); digitalWrite(LEFT_IN2,HIGH);
digitalWrite(LEFT_IN3,LOW); digitalWrite(LEFT_IN4,HIGH);
digitalWrite(RIGHT_IN1,LOW); digitalWrite(RIGHT_IN2,HIGH);
digitalWrite(RIGHT_IN3,LOW); digitalWrite(RIGHT_IN4,HIGH);
}

void turnLeft() {
digitalWrite(LEFT_IN1,LOW); digitalWrite(LEFT_IN2,HIGH);
digitalWrite(LEFT_IN3,LOW); digitalWrite(LEFT_IN4,HIGH);
digitalWrite(RIGHT_IN1,HIGH); digitalWrite(RIGHT_IN2,LOW);
digitalWrite(RIGHT_IN3,HIGH); digitalWrite(RIGHT_IN4,LOW);
}

void turnRight() {
digitalWrite(LEFT_IN1,HIGH); digitalWrite(LEFT_IN2,LOW);
digitalWrite(LEFT_IN3,HIGH); digitalWrite(LEFT_IN4,LOW);
digitalWrite(RIGHT_IN1,LOW); digitalWrite(RIGHT_IN2,HIGH);
digitalWrite(RIGHT_IN3,LOW); digitalWrite(RIGHT_IN4,HIGH);
}

void stopCar() {
digitalWrite(LEFT_IN1,LOW); digitalWrite(LEFT_IN2,LOW);
digitalWrite(LEFT_IN3,LOW); digitalWrite(LEFT_IN4,LOW);
digitalWrite(RIGHT_IN1,LOW); digitalWrite(RIGHT_IN2,LOW);
digitalWrite(RIGHT_IN3,LOW); digitalWrite(RIGHT_IN4,LOW);
}

Address

Amarpur

Alerts

Be the first to know and let us send you an email when Mr Vernix posts news and promotions. Your email address will not be used for any other purpose, and you can unsubscribe at any time.

Shortcuts

Share