In acest articol vom vedea cum putem comanda un servomotor cu ajutorul placii de dezvoltare STM32F103C8 BluePill.

    Servomotorul se alimenteaza la o tensiune de comanda de +5V iar terminalul de comanda va fi conectat la pinul PA0 al placii de dezvoltare.

    In acest exemplu vom folosi si displayul folosit in articolul anterior pentru a afisa anumite informatii referitoare la unghiul servomotorului.

    Sketchul folosit in acest exemplu este cel de mai jos:

#include<Servo.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
int servoPin = PA0;

Servo servo;

void setup() {
 lcd.begin();
 lcd.setCursor(0, 0);
 lcd.print("electronicstore");
 lcd.setCursor(13, 1);
 lcd.print(".ro");
 delay(3000);
 lcd.clear();
 lcd.setCursor(0, 0);
 lcd.print("STM32F103***");
 lcd.setCursor(0, 1);
 lcd.print("BluePill");
 delay(2000);
 lcd.clear();
 lcd.setCursor(0, 0);
 lcd.print("impreuna cu un");
 lcd.setCursor(0, 1);
 lcd.print("servomotor");
 delay(2000);
 servo.attach(servoPin); 
}

void loop() {
  lcd.clear();
  lcd.setCursor(0, 0);
  lcd.print("Setare unghi");
  lcd.setCursor(3, 1);
  lcd.print("0 grade servo");
  servo.write(0); 
  delay(3000);

  lcd.clear();
  lcd.setCursor(0, 0);
  lcd.print("Setare unghi");
  lcd.setCursor(3, 1);
  lcd.print("180 grade servo");
  servo.write(180); 
  delay(3000);

  lcd.clear();
  lcd.setCursor(0, 0);
  lcd.print("Setare unghi");
  lcd.setCursor(3, 1);
  lcd.print("90 grade servo");
  servo.write(90); 
  delay(3000);
}

Nu sunt comentarii

Acest website foloseste cookie-uri pentru o experienta placuta in timpul navigarii.