Początki z Arduino ciąg dalszy – idziemy do przodu !

Początki z Arduino ciąg dalszy – idziemy do przodu !

INFORMACJA: Poniższy post nie wydostał się z Poczekalni :(

Witajcie, jakiś czas temu napisałem post w którym pokazywałem jak zacząć z starter kitem rozszerzonym z botlandu. Dzisiaj spróbujemy swoich sił w sterowaniu silnikami za pomocą mostka H i będziemy sterować serwem . Na początek nauczymy się podłączać silniki do Arduino za pomocą mostka H, który pozwoli nam na sterowanie silnikami, pozwala na sterowanie mocą oraz kierunkiem działania silnika, lecz dzisiaj zajmiemy się tą drugą funkcją czyli kierunkiem działania, gdyż stwierdziłem, że pierwsza opcja jest tak rzadko używania, gdyby ktoś koniecznie musiał jej użyć to doczyta w internecie szczegóły. A więc bez zwlekania zaczniemy od podłączenia silnika do mostka H a mostka do Arduino.Silniki

Podłączenie jest stosunkowo proste, a gdy w przyszłości chcielibyśmy korzystać z mostka to może przydać nam się taki schemat :

176-603

Po podłączeniu możemy zabrać się za kod który sprawi że silniki zaczną się kręcić, jeden w jednym kierunki, drugi w odwrotnym, po 3 sekundach każdy zmieni swój kierunek na przeciwny.

void setup() {
pinMode(2,OUTPUT); // inicjujemy piny
pinMode(3,OUTPUT);
pinMode(4,OUTPUT);
pinMode(5,OUTPUT);
}

void loop() {
digitalWrite(2,HIGH); /*po podaniu stanu wysokiego na pin 2 i 5
silniki zaczną się kręcić w przeciwnych kierunkach */
digitalWrite(4,LOW); 
digitalWrite(3,LOW);
digitalWrite(5,HIGH);
delay(3000);
digitalWrite(2,LOW); /* zmieniamy stany na przeciwne,
silniki kręcą się w innym kierunku */
digitalWrite(4,HIGH);
digitalWrite(3,HIGH);
digitalWrite(5,LOW);
delay(3000);
}

Gdy widzimy kręcące się silniki możemy zabrać się za servo które będzie się obracać pod wpływem przekręcania przez nas potencjometru, w tym wypadku 10Kohm a więc klasycznie zaczniemy od złożenia schematu na płytce :

Servo

Po złożeniu schematu możemy przejść do kodu :

#include <Servo.h>
Servo majsterservo; // zmieniamy nazwę Servo na majsterservo
int potenpin = 0; // Pin analogowy pod który podłączamy potencjometr
int val;
void setup()
{
  majsterservo.attach(9); // pin pod który podłączamy servo  
}
void loop() 
{
  val = analogRead(potenpin);            
val = map(val, 0, 1023, 0, 180); // W funkcji map ustawiamy jakie watości mają być wychwytywane
  majsterservo.write(val);                  
delay(15);

Gdy wykonamy ten projekt możemy zabrać się za sterowanie servem za pomocą serial monitora, może przydać się gdy np będziemy chcieli obracać głowę robota lub sterować jego inną częścią, poniżej mamy schemat według którego mamy złożyć układ, nie różni się on dużo od poprzednich :

servo serial

i oczywiście aby wszystko działało wgrywamy kod programu :

#include <Servo.h> 
 
Servo majsterservo;  // Wiemy o co chodzi :-)
int val;  

void setup() 
{
  Serial.begin(9600); 
majsterservo.attach(9);  // Wiemy co to jest :-)
} 

void loop() 
{
  val = Serial.parseInt();
if(val>0) {
  majsterservo.write(val);                  // servo ustawia się na pozycję wpisaną w serialu
delay(15); }
}

No to w tym poradniku na tyle, gdy przyjdą następne części będzie ciąg dalszy, mam zamiar zrobić całą serie poradników dla początkujących, jak może zauważyliście niektórych funkcji w kodzie nie opisywałem gdyż są one opisane w poprzednim poście. Części których dziś użyłem to :

Mostek H

2 Silniki DC

Servo

Oraz inne części starter kitu rozszerzonego

Dzięki za uwagę i do następnego poradnika :-)

 

INFORMACJA: Poniższy post nie wydostał się z Poczekalni :(

Ocena: 0/5 (głosów: 0)

Podobne posty

6 komentarzy do “Początki z Arduino ciąg dalszy – idziemy do przodu !

Odpowiedz

anuluj

Masz uwagi?