Ardiuno Fabrika Otomasyonu

furkan966

Üye
Katılım
30 Kas 2020
Mesajlar
10
Puanları
1
Arduino’da kesme işlemleri kullanılarak bir fabrika otomasyon sistemi kurulmak isteniyor. Fabrika işleyişini temsilen bir DC motor kullanılmaktadır. DC motor çalışması şarta bağlanmıştır. Eğer üretim hattına izinsiz giren birisi sensör(Push_Buton olabilir) ile tespit edilirse, DC motorun çalışması duracak, ikaz ışıklarından kırmızı ışık yanacak ve ayrıca ikaz sirenleri (buzzer olabilir) 1’er saniye aralıkla çalacaktır. Üretim hattındaki ihlal ortadan kalması ile DC motor çalışmaya devam edecek, kırmızı yanan ışık sönecek, yeşil yanan ışık yanmaya başlayacaktır. Ayrıca, ikaz sirenleri susacaktır.
 
Vay be bana lisede dönem ödevi olarak 2004 yılında asp kullanarak okula not sistemi öğrenci otomasyonu yazdırmışlardı, nerden nereye. Üstelik ben sadece kitaplardan okumak zorundaydım forum felan bilmiyorduk. Şimdiki çocuklar internetten bile aramıyor. Linke tıkla kardeşim oradan öğren ödevini kendin yap.

https://maker.robotistan.com/arduinoda-kesme-islemleri/
 
Bir yere kadar yapın. Takıldığınız yerde sorarsanız yardımcı olurum.
 
Bir yere kadar yapın. Takıldığınız yerde sorarsanız yardımcı olurum.
Hocam ben dersi hiç almadım bizde son sınıf dersi arduino kodlaması. Bir arkadaş atmış mühendislik öğrencisiyim diye yardım istemiş ben de bilmediğimden buraya attım yardımcı olabilmek için
 
youtubede ve robotistan sitesinde böyle örneklerle ilgili onlarca video var. Bir yerden başla. Bir arduino 2 buton 4 direnç bir kaç jumper kablo al. Led yakıp södürmek, buton kullanma. Bunlardan başla. 1 haftada kendi kendine kod yazmaya başlarsın. Uğraşmadan olmaz. Kimse uygulama yapmadan forumlardan öğrenmiyor.
 
Hocam ben dersi hiç almadım bizde son sınıf dersi arduino kodlaması. Bir arkadaş atmış mühendislik öğrencisiyim diye yardım istemiş ben de bilmediğimden buraya attım yardımcı olabilmek için
Kardeşim arkadaşın kendisi üyelik alıp başlık açsın, nereye kadar geldiğini nerede takıldığını yazsın yardımcı olalım. Ismarlama ödev yapılmaz
 
Kod:
#define motor 10 // 10 numaralı pin "motor" değişkenine atanıyor

#define kled 11  // 11 numaralı pin "kled" değişkenine atanıyor

#define yled 12  // 12 numaralı pin "yled" değişkenine atanıyor

#define alarm 13 // 13 numaralı pin "alarm" değişkenine atanıyor

void setup() {

pinMode (motor, OUTPUT); // "motor" pini çıkış olarak belirleniyor

pinMode (kled, OUTPUT);  // "kled" pini çıkış olarak belirleniyor

pinMode (yled, OUTPUT);  // "yled" pini çıkış olarak belirleniyor

pinMode (alarm, OUTPUT); // "alarm" pini çıkış olarak belirleniyor

attachInterrupt(0, kesme, RISING); // kesme pini adı ve durumu belirleniyor

}

void loop() {

  //Normal durumda işleyiş belirleniyor

digitalWrite (motor, HIGH);

digitalWrite (yled, HIGH);

digitalWrite (kled, LOW);

digitalWrite (alarm, LOW);

}

void kesme()

{

  // Uyarı durumunda alarm verme çalışması belirleniyor

digitalWrite (motor, LOW);

digitalWrite (yled, LOW);

digitalWrite (kled, HIGH);

digitalWrite (alarm, HIGH);

delay(1000);

digitalWrite (alarm, LOW);

delay(1000);

}
Bu şekilde doğru mu hocam ?
 
Moderatör tarafında düzenlendi:
Atmega 328 tabanlı uno ve nanolarda yalnızca 2 ve 3 numaralı dijital pinler kesme için kullanılabilir yani
#define alarm 13 yanlış
ayrıca kesme pininin INPUT_PULLUP olarak belirlenmesi lazım yani
pinMode (alarm, OUTPUT); yanlış.

Arduinonun resmi sitesinden aldığım kod şöyle:

Kod:
const byte ledPin = 13;
const byte interruptPin = 2;
volatile byte state = LOW;

void setup() {
  pinMode(ledPin, OUTPUT);
  pinMode(interruptPin, INPUT_PULLUP);
  attachInterrupt(digitalPinToInterrupt(interruptPin), blink, CHANGE);
}

void loop() {
  digitalWrite(ledPin, state);
}

void blink() {
  state = !state;
}

Her buton basılışında ledin durumunu değiştirir.

https://www.arduino.cc/reference/en/language/functions/external-interrupts/attachinterrupt/
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için onları kabul etmelisiniz. Daha fazla bilgi edin…