Ard arda hızlı bir şekilde Role çektime

aurdino ile bir kaç uygulamam oldu sadece sensörlerde geçici şuan asıl uygulama için endüstriyel sensörler var elimde plcde kullanılan benim en büyük problemim aurdinodan saniyede 3-4 defa tetik alıp enjektörleri çalıştırmak min 3 defa tetiklesin o bile yeter

aslında ben bu 4 lü enjektörlerden 20 adet kullanacağım şuan sadece 4 lü takımı çalıştırayım yeter bana

Şimdi ben araştırlamalarıma devam ediyorum aklıma birşey takıldı aurdinonun digital çıkışından 1-0 siyal alarak çalıştırmak ile pmw çıkışından kare sinyal alarak 0-1 çalılştırmak arasında fark var mıdır
 
elimde olan AOD4184 mosfet için sorayım o zaman bu mosfeti saniyede 3-4 defa çalıştımak için aurdinonun dijital çıkışınımı pmw çıkışını mı kullanmalıyım
 
elimde olan AOD4184 mosfet için sorayım o zaman bu mosfeti saniyede 3-4 defa çalıştımak için aurdinonun dijital çıkışınımı pmw çıkışını mı kullanmalıyım
"Saniyede 3-4 defa" pwm için çok yavaş hızlar, elinizdeki modülü her iki çıkışta da kullanabilirsiniz. Yalnız o modülün telnik özellkleri olursa max pwm frekansı için birşey söylenebilir. Sizin ıygulamanız için bir problem yok.
 
Alttaki kod ile başlayın.
2 ve 3 nolu pinlere buton bağlayın, bir uçları girişe diğer uçlar +5V (1k seri dirençle bağlarsanız daha doğru olur)
4 nolu pine Led bağlayın (tabiki seri dirençle mesela 330ohm)
Kodu denerken şöyle çalışması gerekir 1. butona bastığınızda LED yanacak, 2 butona bastığınızda LED sönecek.


#include <arduinio.h>

const int buttonPin[] = {2,3}; // Sensor giris pinleri
const int ledPin = 4; // LED pini

// variable:
int buttonState1 = 0;
int buttonState2 = 0;
void setup() {

// LED pinini tanımlama:
pinMode(ledPin, OUTPUT);
digitalWrite(ledPin, LOW);
// Sensor girisi:
pinMode(2,INPUT);
pinMode(3,INPUT);
}

void loop(){
buttonState1 = digitalRead (2);
buttonState2 = digitalRead (3);


if (buttonState1 == 1 && buttonState2 == 0) {
// LED ON:
digitalWrite(ledPin, HIGH);
}
else if (buttonState1 == 0 && buttonState2 == 1) {
// LED OFF:
digitalWrite(ledPin, LOW);

}
else {
// LED OFF:
digitalWrite(ledPin, LOW);
}
}
 
bu kodu ırf sensör için değiştirebilirmiyiz şuan yükledim 2. buton yani sensör görünce 4. çıkış açıyor 1.buton sensörde bir işlem yapmıyor
 
kodu tekrar kontol ettim kod doğru 1. sensör cismi algılayınca 2. sensöre gelene kadar aktif oluyor burada sorun yok ancak 1. sensörden sonra aç kapa işlemi için saniyede 3-4 defa kod eklemek gerek
 
kodu tekrar kontol ettim kod doğru 1. sensör cismi algılayınca 2. sensöre gelene kadar aktif oluyor burada sorun yok ancak 1. sensörden sonra aç kapa işlemi için saniyede 3-4 defa kod eklemek gerek
Önce adım adım ilerlemek gerekiyor.
Bu kod tamamen çalıştıktan sonra şöyledikleriniz yapılabilir.
Bütün olasılıkları deneyin.
 
Son düzenleme:
Önce adım adım ilerlemek gerekiyor.
Bu kod tamamen çalıştıktan sonra şöyledikleriniz yapılabilir.
Bütün olasılıkları deneyin

Hocam merhaba yaptığım işlerde biraz detaylara inmeye başladım artık temel bağlantılar var elektirik akım konusunu halleetim sayılır ancak aurdino tarafında bazı kodlara ihtiyacım var mevcut kodumu sizle paylaşıyorum düzenlemeleri bu kodlar üzerinden devam edelim. mevcut kodda sensörlerden alınan veriden sonra tek bir digital çıkış kullanılarak tek mosfet üzerinden 4 enjektörü kontrol ediyordum akım problemi yaşamamak adına enjektörleri 2+2 olacak şekilde 2 adet mosfet sürücü ile kullanayım diye düşünüyorum bu arada mosfette değişikliğe gittim LR7843 MOsfetli sürücü kartı aldım

1- sensör veri aldıktan sonra aşağıdaki koda ekleme yaparak 2 çıkış pinini kullanmak istiyorum bu kodu ekleyebilir miyiz

2.Projenin farklı bir noktasında biraz daha karmaşık bir koda ihtiyacım var 3 enjektörü ayrı kontrol edeceğim bunun için 3 çıkış pinini kullanarak ihtiyacım olan kod şu şekilde olmalı ilk sensör algılama yapınca 1. enjektör 1 sn ye sonra 2. enjektör 2sn sonra 3. enjektör çalışacak 2 . sensöre gelince hepsi duracak

3. Projenin diğer aşamasında ilk sensör algılama yapınca tüm enjektörler aynı anda çalışacak 1sn sonra 1. enjektör 2 sn sonra2. enjektör 2. sensöre temesta 3 enjektör de duracak şekilde kod mümkün mü kodlarda biraz daha detaylar olacak ancak şimdilik bu kadarını halledersek ayrıntıya gireceğim şimdiden teşekkür ederim.

const int buttonPin[] = {2,3}; // Sensor giris pinleri
const int ledPin = 4; // LED pini
// variable:
int buttonState1 = 0;
int buttonState2 = 0;
void setup() {
// LED pinini tanımlama:
pinMode(ledPin, OUTPUT);
digitalWrite(ledPin, LOW);
// Sensor girisi:
pinMode(2,INPUT);
pinMode(3,INPUT);
}
void loop(){
buttonState1 = digitalRead (2);
buttonState2 = digitalRead (3);

if (buttonState1 == 1 && buttonState2 == 0) {
// LED ON:
digitalWrite(ledPin, HIGH);
delay(30);
digitalWrite(ledPin, LOW);
delay(200);
}
else if (buttonState1 == 0 && buttonState2 == 1) {
// LED OFF:
digitalWrite(ledPin, LOW);
}
else {
// LED OFF:
digitalWrite(ledPin, LOW);
}
}
 

Forum istatistikleri

Konular
130,137
Mesajlar
933,495
Kullanıcılar
453,213
Son üye
byCyrus

Yeni konular

Geri
Üst