Arduinoda yardım istiyen gelebilir

Merhaba
Ard.Uno,8x8 dotmatrix max7219entegreli ve 3x4 keypad ile degistirilebilir kayan yazı nasıl kodlanır?
 

Ekli dosyalar

  • tris_DM5AHXzlwl.png
    113.3 KB · Görüntüleme: 26
merhaba ;

arduino nano ve 2x16 Lcd kullanıyorum.
ekranda setlenecek sıcaklık değeri ,anlık okunan sıcaklık değeri ve saniye bilgisi var.
sıcaklık değerini setleyen aşağı/yukarı butonlarım var.
programda delay falan kullandım.
Sorum: butonlara bastığımda bazen buton işlem yapmıyor. program akışı nedeniyle butona 1 saniye basılı tutunca buton işlem yapıyor. ben istiyorum ki butona basıldığında program akışı buton komutlarına gelsin. sonra program kaldığı yerden devam etsin. interupt pinlerim dolu olduğu için dıştan kesme yapamıyorum. başka bunu nasıl yapabilirim.
 

delay komutu kullanırken dikkatli olmak gerekir. Komut programın akışını durdurur. Süre doluncaya kadar hiç bir işlem yapılamaz.

Kolay gelsin...
 
delay komutu kullanırken dikkatli olmak gerekir. Komut programın akışını durdurur. Süre doluncaya kadar hiç bir işlem yapılamaz.

Kolay gelsin...

delay toplam 2 saniye civarında. ama o bile butonları etkiliyor.
interupt diye bi komut var zamansal olarak veya dijital input ile kullanılıyor.
zamansal olan interupt çözemedim setup kısmına mı yoksa loop kısmına mı yazmalıyım. kod şekli nasıl olmalı onları çözemedim.
 
Merhaba. Ben bir sayaç devresi istiyorum. Röle ilk başta aktif (iletimde) olacak sonra sayaç 3'e geldiğinde röle atacak ve enerji geçmeyecek. Ta ki rfid kartı okutana kadar. Kart okutulduktan sonra sistem başa dönecek. Sayaç yine 0 olacak röle yine iletimde olacak yine 3'e geldiğinde yine duracak ve sistem böyle devam edecek. Yardımcı olabilirseniz sevinirim teşekkürler.
 
Merhaba Arduino bluetooth ile kontrol edilebiliyor lakin USB kablo ile kontrol edilen bir uygulama göremedim böyle bir protokolemi sahip değil yoksa gerekmi duyulmamış örnekleme yapmak gerekirse android de yapılan LED yakma olayını bluetooth da değildi USB kablo ile komut verilerek yapılması gibi
 
Merhaba, benim bir sorum olacak. 3d printer ama ardunioda mı problem anlamadım. sorum şu;
g code ile tek satır girdiğimde örn: G1 X100 Y100 F1200 eksenler x te 100 y de 100 mm ilerleyecek 1200mm/dk olarak ben bu kod girildikten ve hareket başladıktan sonra F1200 hızını değiştirmek istiyorum. ama değiştiremedim sorunun ardunionun yetersizliğinden mi yoksa ardunio içindeki marlin yazılımından mı anlamadım.

g1 x100 y100 F1200 komutu bittikten sonra Lcd deki pot ile feedrate değiştirebiliyorum ama bu satır bittikten sonra, yani yapmak istediğim CNC plazma tezgahlarında noktadan noktaya giderken hızı ile oynayabiliyoruz 3d yazıcının bunu yapması için ardunio ile ne yapmam gerekli? motorlar step motor

Teşekkürler.
 
Arkadaşlar arduino ır remote ile ledleri yakıp söndürmeye çalışıyorum.Herhangi bir tuşa bastığımda ledler karaşimşek yapmasını istiyorum.For döngüsnüne kadar herşey normal ondan sonra ledlerin hepsini açıp kapatma tuşları çalışmıyoe hata nerde acaba?
Kod:
#include <IRremote.h>



int RECV_PIN = 2;

IRrecv irrecv(RECV_PIN);

decode_results results;



#define CH1 0xFFA25D

#define CH 0xFF629D

#define CH2 0xFFE21D

#define PREV 0xFF22DD

#define NEXT 0xFF02FD

#define PLAYPAUSE 0xFFC23D

#define VOL1 0xFFE01F

#define VOL2 0xFFA857

#define EQ 0xFF906F

#define BUTON0 0xFF6897

#define BUTON100 0xFF9867

#define BUTON200 0xFFB04F

#define BUTON1 0xFF30CF

#define BUTON2 0xFF18E7

#define BUTON3 0xFF7A85

#define BUTON4 0xFF10EF

#define BUTON5 0xFF38C7

#define BUTON6 0xFF5AA5

#define BUTON7 0xFF42BD

#define BUTON8 0xFF4AB5

#define BUTON9 0xFF52AD

int ledler[]= {3,4,5,6,7,8,9,10};

int led1 = 3;// KIRMIZI

int led2 = 4;//YESİL

int led3 = 5;//MAVİ

int led4 = 6;//RGB

int led5 = 7;//KIRMIZI

int led6 = 8;//YESİL

int led7 = 9;//MAVİ

int led8 = 10;//RGB;

int k;

int i;

int j;

void setup()

{

  pinMode(led1, OUTPUT);

  pinMode(led2, OUTPUT);

  pinMode(led3, OUTPUT);

  pinMode(led4, OUTPUT);

  pinMode(led5, OUTPUT);

  pinMode(led6, OUTPUT);

  pinMode(led7, OUTPUT);

  pinMode(led8, OUTPUT);



  Serial.begin(9600);

  irrecv.enableIRIn();

}

void loop() {



  if (irrecv.decode(&results))

  {

    if (results.value == CH1)

    {

      digitalWrite(led1, !digitalRead(led1));

      digitalWrite(led5, !digitalRead(led5));

      

    }

   if (results.value == CH)

   {

   digitalWrite(led2, !digitalRead(led2));

   digitalWrite(led6, !digitalRead(led6));

 

  }

  if (results.value == CH2)

{

   digitalWrite(led3, !digitalRead(led3));

   digitalWrite(led7, !digitalRead(led7));

}

if (results.value == PREV)



{

   digitalWrite(led4, !digitalRead(led4));

   digitalWrite(led8, !digitalRead(led8));

 

 

}

  if (results.value == NEXT)

{

for(int i=0; i<8; i++) {

digitalWrite(ledler, HIGH);

delay(20);

digitalWrite(ledler, LOW);

} //İlk ledden beşinci lede kadar ledler sırasıyla yanıyor. Yani döngüde ilk led yanar, söner ve ikinci led yanar. İkinci led söndüğünde ise üçüncü led yanar ve döngü bu şekilde devam eder.

for(int j=7; j>-1; j--) {

digitalWrite(ledler[j], HIGH);

delay(20);

digitalWrite(ledler[j], LOW);

}

if (results.value == VOL1)

{





      digitalWrite(led1, HIGH);

      digitalWrite(led2, HIGH);

      digitalWrite(led3, HIGH);

      digitalWrite(led4, HIGH);

      digitalWrite(led5, HIGH);

      digitalWrite(led6, HIGH);

      digitalWrite(led7, HIGH);

      digitalWrite(led8, HIGH);

}

 



if (results.value == PLAYPAUSE)

{

      digitalWrite(led1, LOW);

      digitalWrite(led2, LOW);

      digitalWrite(led3, LOW);

      digitalWrite(led4, LOW);

      digitalWrite(led5, LOW);

      digitalWrite(led6, LOW);

      digitalWrite(led7, LOW);

      digitalWrite(led8, LOW);

}





irrecv.resume();

}

}
 
Moderatör tarafında düzenlendi:
if (results.value == NEXT)

{


ile başlayan döngüde köşeli parantez eksik sanki


digitalWrite(ledler[j], LOW);

}


}// bu olacak ki ilk if döngüsü kapansın.
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için onları kabul etmelisiniz. Daha fazla bilgi edin…