Sevgili Öğrenciler,
Arduino robotik setinizle aşağıdaki referans kodları Arduino programında yazarak "Işık Şiddetini (LDR ile) Yedi Segmentte Gösterme Projesi" yapıyoruz.
Projede Kodla Türkiye Robotik setindeki Shielde entegre LDR ile 7 segment display kullanılacaktır. Projemizde değişen Işık şiddetine göre 7 segmentte sayı gösterilecektir. Ortam aydınlığı fazlalaştıkça sayı artar; karanlık oldukça sayı azalır.
Başarılar!
//Arduino Referans Kaynak Kodu:
int A = 4; int B = 5; int C = 6; int D = 7; int ldrPin = A2; int ldr; int deger; void setup() { pinMode(A, OUTPUT); //LSB pinMode(B, OUTPUT); pinMode(C, OUTPUT); pinMode(D, OUTPUT); //MSB pinMode(ldrPin, INPUT); } void loop() { ldr = analogRead(ldrPin); deger = map(ldr, 0, 1023, 0, 10); Sayici(deger); delay(50); } void Sayici(int sayi) { if (sayi == 0) { // 0000 digitalWrite(A, LOW); digitalWrite(B, LOW); digitalWrite(C, LOW); digitalWrite(D, LOW); } if (sayi == 1) { // 0001 digitalWrite(A, HIGH); digitalWrite(B, LOW); digitalWrite(C, LOW); digitalWrite(D, LOW); } if (sayi == 2) { // 0010 digitalWrite(A, LOW); digitalWrite(B, HIGH); digitalWrite(C, LOW); digitalWrite(D, LOW); } if (sayi == 3) { // 0011 digitalWrite(A, HIGH); digitalWrite(B, HIGH); digitalWrite(C, LOW); digitalWrite(D, LOW); } if (sayi == 4) { // 0100 digitalWrite(A, LOW); digitalWrite(B, LOW); digitalWrite(C, HIGH); digitalWrite(D, LOW); } if (sayi == 5) { // 0101 digitalWrite(A, HIGH); digitalWrite(B, LOW); digitalWrite(C, HIGH); digitalWrite(D, LOW); } if (sayi == 6) { // 0110 digitalWrite(A, LOW); digitalWrite(B, HIGH); digitalWrite(C, HIGH); digitalWrite(D, LOW); } if (sayi == 7) { // 0111 digitalWrite(A, HIGH); digitalWrite(B, HIGH); digitalWrite(C, HIGH); digitalWrite(D, LOW); } if (sayi == 8) { // 1000 digitalWrite(A, LOW); digitalWrite(B, LOW); digitalWrite(C, LOW); digitalWrite(D, HIGH); } if (sayi == 9) { // 1001 digitalWrite(A, HIGH); digitalWrite(B, LOW); digitalWrite(C, LOW); digitalWrite(D, HIGH); }}