onur yeniceli
MB Üyesi
- Kayıt
- 6 Ocak 2020
- Mesajlar
- 1
- Tepkiler
- 0
- Yaş
- 31
- Meslek
- Elektrik elektronik müh.
- Üniv
- fırat üniversitesi
Arkadaşlar merhaba arduıno ve kodlamada yeniyim projede aynı anda hem iki adet servo hemde 1 adet dc motor kullanacağım. Butona basıldığı zaman iki adet servo motor döngülerini tamamlayana kadar dc motorunda o süre boyunca hareket etmesi gerekiyor. ayrı ayrı devrelerini tasarladım ve kodlarını yazdım çalışıyor ancak ikisini tek program içinde çalıştırmak istediğimde sadece servo motorlar hareket ediyor. Bütünsel olarak çalışmasını nasıl sağlayabilirim lütfen yardımcı olur musunuz.
SERVO MOTORLARIN KODLARI;
#include <Arduino.h>
#include <Wire.h>
#include <SoftwareSerial.h>
#include <Servo.h>
double angle_rad = PI/180.0;
double angle_deg = 180.0/PI;
Servo servo_6;
Servo servo_7;
void setup(){
pinMode(5,INPUT);
servo_6.attach(6); // init pin
servo_7.attach(7); // init pin
}
void loop(){
if(((digitalRead(5))==(1))){
servo_6.write(0); // write to servo
servo_7.write(0); // write to servo
_delay(0.5);
servo_6.write(105); // write to servo
_delay(0.5);
servo_6.write(90); // write to servo
_delay(0.5);
servo_7.write(90); // write to servo
_delay(0.3);
servo_7.write(0); // write to servo
}
_loop();
}
void _delay(float seconds){
long endTime = millis() + seconds * 1000;
while(millis() < endTime)_loop();
}
void _loop(){
}
DC MOTOR SÜRÜCÜNÜN KODLARI
#include <Wire.h>
#include <SoftwareSerial.h>
double angle_rad = PI/180.0;
double angle_deg = 180.0/PI;
void setup(){
pinMode(5,INPUT);
pinMode(10,OUTPUT);
pinMode(8,OUTPUT);
pinMode(9,OUTPUT);
}
void loop(){
if(((digitalRead(5))==(1))){
analogWrite(10,250);
digitalWrite(8,0);
digitalWrite(9,1);
_delay(2);
analogWrite(10,0);
}
_loop();
}
void _delay(float seconds){
long endTime = millis() + seconds * 1000;
while(millis() < endTime)_loop();
}
void _loop(){
}
SERVO MOTORLARIN KODLARI;
#include <Arduino.h>
#include <Wire.h>
#include <SoftwareSerial.h>
#include <Servo.h>
double angle_rad = PI/180.0;
double angle_deg = 180.0/PI;
Servo servo_6;
Servo servo_7;
void setup(){
pinMode(5,INPUT);
servo_6.attach(6); // init pin
servo_7.attach(7); // init pin
}
void loop(){
if(((digitalRead(5))==(1))){
servo_6.write(0); // write to servo
servo_7.write(0); // write to servo
_delay(0.5);
servo_6.write(105); // write to servo
_delay(0.5);
servo_6.write(90); // write to servo
_delay(0.5);
servo_7.write(90); // write to servo
_delay(0.3);
servo_7.write(0); // write to servo
}
_loop();
}
void _delay(float seconds){
long endTime = millis() + seconds * 1000;
while(millis() < endTime)_loop();
}
void _loop(){
}
DC MOTOR SÜRÜCÜNÜN KODLARI
#include <Wire.h>
#include <SoftwareSerial.h>
double angle_rad = PI/180.0;
double angle_deg = 180.0/PI;
void setup(){
pinMode(5,INPUT);
pinMode(10,OUTPUT);
pinMode(8,OUTPUT);
pinMode(9,OUTPUT);
}
void loop(){
if(((digitalRead(5))==(1))){
analogWrite(10,250);
digitalWrite(8,0);
digitalWrite(9,1);
_delay(2);
analogWrite(10,0);
}
_loop();
}
void _delay(float seconds){
long endTime = millis() + seconds * 1000;
while(millis() < endTime)_loop();
}
void _loop(){
}
Dosyalar
-
602 bayt Okunma: 615
-
903 bayt Okunma: 580
Son düzenleme: