<?xml version="1.0"?>
<rss version="2.0">
   <channel>
      <title>2. Hafta İleri Robotik by Elif YILDIZ</title>
      <link>https://padlet.com/elif186yldz/h4yir87vphnvvggs</link>
      <description></description>
      <language>en-us</language>
      <pubDate>2025-09-23 14:34:10 UTC</pubDate>
      <lastBuildDate>2025-11-30 07:20:07 UTC</lastBuildDate>
      <webMaster>hello@padlet.com</webMaster>
      <image>
         <url>https://padlet-uploads-usc1.storage.googleapis.com/4428228326/b840a673c636ff04ec309eff86e0ab70/Ekran_g_r_nt_s__2025_10_30_220358.png</url>
      </image>
      <item>
         <title></title>
         <author>elif186yldz</author>
         <link>https://padlet.com/elif186yldz/h4yir87vphnvvggs/wish/3702935676</link>
         <description><![CDATA[<pre><code class="language-cpp">// Kumanda kolu butonunun dijital pini ve X-Y hareketlerinin analog pinleri için değişken tanımlamaları
#define SW_pin D0
#define X_pin A0
#define Y_pin A1

// Program içerisinde kullanılacak değişkenler de tanımlanır.
int X_Val, Y_Val, Dig_Val;

/* Başlangıç düzenlemeleri aşağıdaki gibi yapılır. Değişkenlerin ekrana yazdırılacağı Serial Monitör
örnekleme frekansı ve analog/dijital pinlerin giriş, çıkış ayarlamaları yapılır. */
void setup()
{
    Serial.begin(115200);          // Seri portun 115200 baudrate hızında başlatılması.
    pinMode(SW_pin, INPUT_PULLUP); /* Switch (anahtar) değişkeni mod'u HIGH' e ayarlanır.
    Butona basıldığında LOW değerini alır .*/
    digitalWrite(SW_pin, HIGH);
    // kumanda kolu eksen değişken değerlerinin alınacağı 2 pin'in INPUT (giriş) olarak tanımlanması.
    pinMode(X_pin, INPUT);
    pinMode(Y_pin, INPUT);
}

/* Kumanda kolu fonksiyonlarını algılamak için dijital ve analog girişlerden elde edilen
değerlerin genel döngü (loop) içerisinde atama ve ekrana yazdırma işlemleri yapılır. */
void loop()
{
    X_Val = analogRead(X_pin);
    Y_Val = analogRead(Y_pin);
    Dig_Val = digitalRead(SW_pin);
    Serial.print("X_Val: ");
    Serial.println(X_Val);
    Serial.print("Y_Val: ");
    Serial.println(Y_Val);
    Serial.print("Dig_Val: ");
    Serial.println(Dig_Val);
    delay(100); /* Burada bu delay (gecikme) fonksiyonu içindeki milisaniye değeri artırılarak
    serial monitor'deki akış yavaşlatılabilir ve öğrencilerin kumanda kolu değerlerini daha
    rahat okumaları sağlanabilir. */
}</code></pre>]]></description>
         <enclosure url="" />
         <pubDate>2025-11-29 07:12:46 UTC</pubDate>
         <guid>https://padlet.com/elif186yldz/h4yir87vphnvvggs/wish/3702935676</guid>
      </item>
      <item>
         <title></title>
         <author>elif186yldz</author>
         <link>https://padlet.com/elif186yldz/h4yir87vphnvvggs/wish/3702940010</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/4428228326/4b5cafddd0a95a5974addb2027b168eb/image.png" />
         <pubDate>2025-11-29 07:25:32 UTC</pubDate>
         <guid>https://padlet.com/elif186yldz/h4yir87vphnvvggs/wish/3702940010</guid>
      </item>
      <item>
         <title></title>
         <author>elif186yldz</author>
         <link>https://padlet.com/elif186yldz/h4yir87vphnvvggs/wish/3702945553</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/4428228326/c17a21123509a3995ef295c01e4b12ac/image.png" />
         <pubDate>2025-11-29 07:41:34 UTC</pubDate>
         <guid>https://padlet.com/elif186yldz/h4yir87vphnvvggs/wish/3702945553</guid>
      </item>
      <item>
         <title>SERVO MOTOR</title>
         <author>elif186yldz</author>
         <link>https://padlet.com/elif186yldz/h4yir87vphnvvggs/wish/3702949715</link>
         <description><![CDATA[<p>#include &lt;Deneyap_Servo.h&gt;</p><p>#define SERVOPIN1 D14</p><p>#define SERVOPIN2 D9</p><p>Servo myservo1, myservo2; // Servo motorların tanımlanması.</p><p>int pos = 0;              // İlk pozisyon. Her 2 motor için ortak değişken.</p><p>// Servo motorların hangi dijital pinlere bağlı olduklarının belirtilmesi.</p><p>void setup()</p><p>{</p><p>    myservo1.attach(SERVOPIN1);</p><p>    myservo2.attach(SERVOPIN2, 1);</p><p>}</p><p>/* Servo motorların kontrol girişlerine kontrol sinyallerin gönderilmesi işlemi</p><p>genel döngü (loop) içerisine yazılan kodlar ile yapılır. Aşağıdaki kod yazılarak,</p><p>motorlara tek bir pos değişkeni ile seri bir demo hareket yaptırılmaktadır. */</p><p>void loop()</p><p>{</p><p>    for (pos = 0; pos &lt;= 180; pos += 1)</p><p>    {                        // pos değişkeni 0'dan 180'e kadar artar</p><p>        myservo1.write(pos); // Servo motor 1 pozisyonu ayarlanır</p><p>        myservo2.write(pos); // Servo motor 2 pozisyonu ayarlanır</p><p>        delay(15);           // 15 ms bekleme</p><p>    }</p><p>    for (pos = 180; pos &gt;= 0; pos -= 1)</p><p>    {                        // pos değişkeni 180'den 0'a kadar azalır</p><p>        myservo1.write(pos); // Servo motor 1 pozisyonu ayarlanır</p><p>        myservo2.write(pos); // Servo motor 2 pozisyonu ayarlanır</p><p>        delay(15);           // 15 ms bekleme</p><p>    }</p><p>}</p>]]></description>
         <enclosure url="" />
         <pubDate>2025-11-29 07:52:29 UTC</pubDate>
         <guid>https://padlet.com/elif186yldz/h4yir87vphnvvggs/wish/3702949715</guid>
      </item>
      <item>
         <title></title>
         <author>elif186yldz</author>
         <link>https://padlet.com/elif186yldz/h4yir87vphnvvggs/wish/3702967303</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/4428228326/4b4eddcf145eb3b871f0ab28b8fff867/image.png" />
         <pubDate>2025-11-29 08:34:12 UTC</pubDate>
         <guid>https://padlet.com/elif186yldz/h4yir87vphnvvggs/wish/3702967303</guid>
      </item>
      <item>
         <title>İKİ MOTORLU SİSTEM</title>
         <author>elif186yldz</author>
         <link>https://padlet.com/elif186yldz/h4yir87vphnvvggs/wish/3702982721</link>
         <description><![CDATA[<p>#include &lt;Deneyap_Servo.h&gt;</p><p>#define SERVOPIN1 D14</p><p>#define SERVOPIN2 D9</p><p>#define SW_pin D0</p><p>#define X_pin A0</p><p>#define Y_pin A1</p><p>Servo myservo1, myservo2; // Servo motorların tanımlanması</p><p>int X_Val, Y_Val;         // kumanda kolu eksen değişkenleri</p><p>int pos1 = 90, pos2 = 90; // SERVOLAR BAŞLANGIÇTA 90 DERECEDE</p><p>int dly = 10;             // Servo hız gecikmesi</p><p>int stp = 1;              // Servo adım değeri</p><p>int Dig_Val = 0;          // Joystick buton değişkeni</p><p>// Servo limitleri</p><p>int teta1min = 0;</p><p>int teta1max = 180;</p><p>int teta2min = 0;</p><p>int teta2max = 180;</p><p>void setup()</p><p>{</p><p>    // Servo motorların bağlanması</p><p>    myservo1.attach(SERVOPIN1);</p><p>    myservo2.attach(SERVOPIN2, 1);</p><p>    // BAŞLANGIÇ POZİSYONLARI 90°</p><p>    myservo1.write(90);</p><p>    myservo2.write(90);</p><p>    pinMode(SW_pin, INPUT_PULLUP);</p><p>    digitalWrite(SW_pin, HIGH);</p><p>    pinMode(X_pin, INPUT);</p><p>    pinMode(Y_pin, INPUT);</p><p>}</p><p>void loop()</p><p>{</p><p>    // Joystick X-Y okuma</p><p>    X_Val = analogRead(X_pin);</p><p>    Y_Val = analogRead(Y_pin);</p><p>    Dig_Val = digitalRead(SW_pin);</p><p>    // Joystick butonuna basıldığında hız değiştirme</p><p>    if (Dig_Val &lt; 1)</p><p>    {</p><p>        if (dly == 5) dly = 10;</p><p>        else if (dly == 10) dly = 20;</p><p>        else if (dly == 20) dly = 5;</p><p>        delay(500); // Tek basışı algılamak için</p><p>    }</p><p>    // X ekseni servo1 kontrol (sol-sağ)</p><p>    if (X_Val &lt; 1000 &amp;&amp; pos1 &gt; teta1min) pos1 -= stp;</p><p>    if (X_Val &gt; 3000 &amp;&amp; pos1 &lt; teta1max) pos1 += stp;</p><p>    // Y ekseni servo2 kontrol (ileri-geri)</p><p>    if (Y_Val &lt; 1000 &amp;&amp; pos2 &gt; teta2min) pos2 -= stp;</p><p>    if (Y_Val &gt; 3000 &amp;&amp; pos2 &lt; teta2max) pos2 += stp;</p><p>    // Yeni pozisyonları servolara gönder</p><p>    myservo1.write(pos1);</p><p>    myservo2.write(pos2);</p><p>    delay(dly);</p><p>}</p><p><br/></p>]]></description>
         <enclosure url="" />
         <pubDate>2025-11-29 09:14:42 UTC</pubDate>
         <guid>https://padlet.com/elif186yldz/h4yir87vphnvvggs/wish/3702982721</guid>
      </item>
      <item>
         <title></title>
         <author></author>
         <link>https://padlet.com/elif186yldz/h4yir87vphnvvggs/wish/3703053897</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/4825495091/d7087ea611aee318a805e68f402e3441/image.png" />
         <pubDate>2025-11-29 12:21:43 UTC</pubDate>
         <guid>https://padlet.com/elif186yldz/h4yir87vphnvvggs/wish/3703053897</guid>
      </item>
      <item>
         <title>IŞIK SENSÖRÜ </title>
         <author></author>
         <link>https://padlet.com/elif186yldz/h4yir87vphnvvggs/wish/3703061079</link>
         <description><![CDATA[<p>#include &lt;Deneyap_Servo.h&gt;</p><p>// Dijital servo pin bağlantıları:</p><p>#define SERVOPIN1 D4</p><p>#define SERVOPIN2 D12</p><p>// Işık sensörleri analog bağlantıları:</p><p>#define L1_pin A0</p><p>#define L2_pin A1</p><p>#define L3_pin A2</p><p>// (İstersen kullanırsın diye bıraktım, ama şu an kodda YOK)</p><p>// #define Pot_pin A3</p><p>// Motor dönüş açı alt ve üst limitleri (şimdilik bilgi amaçlı):</p><p>int teta1min = 0;</p><p>int teta1max = 180;</p><p>int teta2min = 0;</p><p>int teta2max = 180;</p><p>// Accelerometre X ve Y eksenleri etrafı açı değişkenleri (şu an kullanılmıyor):</p><p>int accAngleX = 0;</p><p>int accAngleY = 0;</p><p>int conavail  = 0;</p><p>int valin1, valin2, valin3;  // Işık sensörlerinden okunan değerler</p><p>// Servo motor dönüş açı değişkenleri:</p><p>int pos1 = 0;</p><p>int pos2 = 0;</p><p>int clb1 = 0;</p><p>int clb2 = 0;</p><p>int clb3 = 0;</p><p>// Noise azaltmak için moving average değişkenleri:</p><p>int i  = 0;</p><p>int n  = 4;          // 10'dan 4'e düşürdüm → daha hızlı tepki</p><p>long tot1 = 0;</p><p>long tot2 = 0;</p><p>long tot3 = 0;</p><p>// Tepki şiddeti (gain) – artırırsan servo daha sert döner:</p><p>const float GAIN1 = 0.15f;   // pos1 için</p><p>const float GAIN2 = 0.15f;   // pos2 için</p><p>// Servo motorların tanımlanması:</p><p>Servo myservo1, myservo2;</p><p>void setup() {</p><p>  myservo1.attach(SERVOPIN1);      // 1. servo</p><p>  myservo2.attach(SERVOPIN2, 1);   // 2. servo (kanal 1)</p><p>  // Başlangıçta orta konuma getir</p><p>  pos1 = 90;</p><p>  pos2 = 120;</p><p>  myservo1.write(pos1);</p><p>  myservo2.write(pos2);</p><p>}</p><p>void loop() {</p><p>  // Işık sensörlerinden okuma (4095 - okunan → daha çok ışık = daha büyük değer)</p><p>  valin1 = 4095 - analogRead(L1_pin);</p><p>  valin2 = 4095 - analogRead(L2_pin);</p><p>  valin3 = 4095 - analogRead(L3_pin);</p><p>  // Moving average ile gürültü azaltma</p><p>  if (i &lt; n) {</p><p>    i++;</p><p>  }</p><p>  tot1 = ((long)(i - 1) * tot1 + valin1) / i;</p><p>  tot2 = ((long)(i - 1) * tot2 + valin2) / i;</p><p>  tot3 = ((long)(i - 1) * tot3 + valin3) / i;</p><p>  // Hesaplanan verilerle servo açıları:</p><p>  // Sağ-sol için: sensör2 - sensör1 farkı</p><p>  pos1 = 90 + (int)((tot2 - tot1) * GAIN1);</p><p>  // Yukarı-aşağı için: (L1+L2)/2 ile L3 farkı</p><p>  pos2 = 120 + (int)(((0.5f <em> (tot1 + tot2)) - tot3) </em> GAIN2);</p><p>  // Servo açılarını 0–180 aralığında tut</p><p>  if (pos1 &lt; 0)   pos1 = 0;</p><p>  if (pos1 &gt; 180) pos1 = 180;</p><p>  if (pos2 &lt; 0)   pos2 = 0;</p><p>  if (pos2 &gt; 180) pos2 = 180;</p><p>  // Motorlara komut gönder</p><p>  myservo1.write(pos1);</p><p>  myservo2.write(pos2);</p><p>  delay(5);  // Kısa bekleme süresi</p><p>}</p>]]></description>
         <enclosure url="" />
         <pubDate>2025-11-29 12:39:25 UTC</pubDate>
         <guid>https://padlet.com/elif186yldz/h4yir87vphnvvggs/wish/3703061079</guid>
      </item>
      <item>
         <title></title>
         <author></author>
         <link>https://padlet.com/elif186yldz/h4yir87vphnvvggs/wish/3703066833</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/4825495091/7083db70b153c1fe67d368c5e62336ff/2haftaKod6.cpp" />
         <pubDate>2025-11-29 12:51:54 UTC</pubDate>
         <guid>https://padlet.com/elif186yldz/h4yir87vphnvvggs/wish/3703066833</guid>
      </item>
   </channel>
</rss>
