[ARDUİNO EĞİTİMLERİ] 1.Led Yakma//Rozzzy//TMK

Rozz

Uzman üye
19 Ağu 2019
1,386
47
Selamlar,
Ben Rozz reel hayatta aldığım arduino derslerini foruma
bir eğitim olarak aktarmak istedim
. Bu konumda ilk dersimiz
olan arduinoda mblock yardımı ile led yakmayı gösterdim iyi seyirler :)

[ame]https://www.youtube.com/watch?v=0kgOV_ZJz5I&t=18s[/ame]

İlk olarak ledin çalışma mantığından bahsedeyim,
Ledimiz 2v enerji ile çalışıyor, uzun bacağı (+)
kısa bacağı ise (-) yük ile besleniyor.

arduino üzerindeki uzun (+) bacağını 1'den 13'e kadar
olan pinlere bağlayabiliriz, ayriyetten kodlama yapmadan
ledimizin her zaman yanmasını istersek "5V" girişine bağlayabiliriz.
ledimizin kısa (-) bacağını arduino üzerindeki "GND" 'ye bağlayabiliriz.

Mblock kodları:

R0KAR2.png


Arduino kodları:

Kod:
#include <Arduino.h>
#include <Wire.h>
#include <SoftwareSerial.h>

double angle_rad = PI/180.0;
double angle_deg = 180.0/PI;

**** setup(){
    pinMode(2,OUTPUT);
}

**** loop(){
    digitalWrite(2,1);
    _loop();
}

**** _delay(float seconds){
    long endTime = millis() + seconds * 1000;
    while(millis() < endTime)_loop();
}

**** _loop(){
}


Devre şeması:

NCnW3e.png




 
Son düzenleme:

kanserojen

Katılımcı Üye
1 Ara 2018
880
1
47
Projenin Devre Şemasını yapıp koyarsan daha hoş gözükür :) ellerine sağlık
 

leaks

Katılımcı Üye
29 Eki 2018
864
1
LED'in bağlı olduğu kapıyı döngünün içinde değil, döngüye girmeden önce değiştirseniz daha iyi olur. Çünkü her seferinde değeri okunuyor ve bu da işlem gücü kaybı demek.
Kod:
[COLOR=#785840]ldi[/COLOR]    [COLOR=#b85820]r24[/COLOR][COLOR=#888888],[/COLOR] [COLOR=#444444]0x2B[/COLOR]    [COLOR=#888888][I]; 43
[/I][/COLOR][COLOR=#785840]ldi[/COLOR]    [COLOR=#b85820]r25[/COLOR][COLOR=#888888],[/COLOR] [COLOR=#444444]0x00[/COLOR]    [COLOR=#888888][I]; 0
[/I][/COLOR][COLOR=#785840]movw[/COLOR]    [COLOR=#b85820]r30[/COLOR][COLOR=#888888],[/COLOR] [COLOR=#b85820]r24[/COLOR]
[COLOR=#785840]ld[/COLOR]    [COLOR=#b85820]r18[/COLOR][COLOR=#888888],[/COLOR] [COLOR=#b85820]Z[/COLOR]
[COLOR=#785840]ldi[/COLOR]    [COLOR=#b85820]r24[/COLOR][COLOR=#888888],[/COLOR] [COLOR=#444444]0x2B[/COLOR]    [COLOR=#888888][I]; 43
[/I][/COLOR][COLOR=#785840]ldi[/COLOR]    [COLOR=#b85820]r25[/COLOR][COLOR=#888888],[/COLOR] [COLOR=#444444]0x00[/COLOR]    [COLOR=#888888][I]; 0
[/I][/COLOR][COLOR=#785840]ori[/COLOR]    [COLOR=#b85820]r18[/COLOR][COLOR=#888888],[/COLOR] [COLOR=#444444]0x04[/COLOR]    [COLOR=#888888][I]; 4
[/I][/COLOR][COLOR=#785840]movw[/COLOR]    [COLOR=#b85820]r30[/COLOR][COLOR=#888888],[/COLOR] [COLOR=#b85820]r24[/COLOR]
[COLOR=#785840]st[/COLOR]    [COLOR=#b85820]Z[/COLOR][COLOR=#888888],[/COLOR] [COLOR=#b85820]r18[/COLOR]
[COLOR=#785840]rjmp[/COLOR]    [COLOR=#b85820].-20[/COLOR]         [COLOR=#888888][I]; en üstten başlayıp tekrar tekrar dönüyor.
[/I][/COLOR]
Eğer LED'i döngü içinde yakarsak yukarıdaki gibi bir assembly kodu üretiliyor.
Diğer türlü sadece 'rjmp' instruction'u yürütülüp döngüye giriliyor.
 

Rozz

Uzman üye
19 Ağu 2019
1,386
47
LED'in bağlı olduğu kapıyı döngünün içinde değil, döngüye girmeden önce değiştirseniz daha iyi olur. Çünkü her seferinde değeri okunuyor ve bu da işlem gücü kaybı demek.
Kod:
[COLOR=#785840]ldi[/COLOR]    [COLOR=#b85820]r24[/COLOR][COLOR=#888888],[/COLOR] [COLOR=#444444]0x2B[/COLOR]    [COLOR=#888888][I]; 43
[/I][/COLOR][COLOR=#785840]ldi[/COLOR]    [COLOR=#b85820]r25[/COLOR][COLOR=#888888],[/COLOR] [COLOR=#444444]0x00[/COLOR]    [COLOR=#888888][I]; 0
[/I][/COLOR][COLOR=#785840]movw[/COLOR]    [COLOR=#b85820]r30[/COLOR][COLOR=#888888],[/COLOR] [COLOR=#b85820]r24[/COLOR]
[COLOR=#785840]ld[/COLOR]    [COLOR=#b85820]r18[/COLOR][COLOR=#888888],[/COLOR] [COLOR=#b85820]Z[/COLOR]
[COLOR=#785840]ldi[/COLOR]    [COLOR=#b85820]r24[/COLOR][COLOR=#888888],[/COLOR] [COLOR=#444444]0x2B[/COLOR]    [COLOR=#888888][I]; 43
[/I][/COLOR][COLOR=#785840]ldi[/COLOR]    [COLOR=#b85820]r25[/COLOR][COLOR=#888888],[/COLOR] [COLOR=#444444]0x00[/COLOR]    [COLOR=#888888][I]; 0
[/I][/COLOR][COLOR=#785840]ori[/COLOR]    [COLOR=#b85820]r18[/COLOR][COLOR=#888888],[/COLOR] [COLOR=#444444]0x04[/COLOR]    [COLOR=#888888][I]; 4
[/I][/COLOR][COLOR=#785840]movw[/COLOR]    [COLOR=#b85820]r30[/COLOR][COLOR=#888888],[/COLOR] [COLOR=#b85820]r24[/COLOR]
[COLOR=#785840]st[/COLOR]    [COLOR=#b85820]Z[/COLOR][COLOR=#888888],[/COLOR] [COLOR=#b85820]r18[/COLOR]
[COLOR=#785840]rjmp[/COLOR]    [COLOR=#b85820].-20[/COLOR]         [COLOR=#888888][I]; en üstten başlayıp tekrar tekrar dönüyor.
[/I][/COLOR]
Eğer LED'i döngü içinde yakarsak yukarıdaki gibi bir assembly kodu üretiliyor.
Diğer türlü sadece 'rjmp' instruction'u yürütülüp döngüye giriliyor.

Doğru söylüyorsunuz birdahakine dikkat ederim, daha arduinoya yeni başladımda ondan bu cahilliğim :mahcup .
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.