Chat GPT Raspberry Pi Robot

Raspberry pi ile openai chatgpt kullanarak bir robot yapmak istiyorum. bu robot 4 tekerlekli olacak ve etrafındaki nesneleri algılayarak ne yöne gideceğine karar verecek. örnek proje olarak https://www.youtube.com/watch?v=U3sSp1PQtVQ linkindeki projeye benzer bir proje olacak. ancak türkçe olacak. robotun adı Ali olacak ve türkçe konuşup cevap verebilecek. bana hardware ve software konusunda yardımcı olabilir misin? Proje için yardımına ihtiyacım var.

Bu projeyi gerçekleştirmek için gereken donanım ve yazılım konularında sana yardımcı olabilirim. İşte proje için bir yol haritası:

Donanım Gereksinimleri

  1. Raspberry Pi:
    • Raspberry Pi 4 veya Raspberry Pi Zero 2 W önerilir.
  2. Motorlar ve Motor Sürücü Kartı:
    • 4 adet DC motor ve L298N motor sürücü kartı veya benzeri bir sürücü kartı.
  3. Tekerlekler:
    • Robot için uygun boyutta 4 adet tekerlek.
  4. Batarya:
    • 7.4V veya 12V lityum batarya (kapasite robotun çalışma süresine bağlı).
  5. Sensörler:
    • Ultrasonik sensörler (HC-SR04) veya LIDAR modülü, çevre algılama için.
    • İvmeölçer ve jiroskop modülü (MPU6050), stabilite için.
  6. Mikrofon ve Hoparlör:
    • USB mikrofon ve küçük bir hoparlör (3.5mm jack veya USB bağlantılı).
  7. Kamera Modülü (isteğe bağlı):
    • Görsel algılama eklemek için Raspberry Pi kamera modülü.
  8. Şasi:
    • 4 tekerlekli robot için uygun bir şasi.
  9. Bağlantı Kablosu ve Devre Elemanları:
    • Jumper kablolar, breadboard veya lehimleme için devre kartı.

Yazılım Gereksinimleri

  1. İşletim Sistemi:
    • Raspberry Pi OS (Lite veya Desktop sürümü).
  2. Python:
    • Programlama için Python dili.
  3. ChatGPT API:
    • Türkçe konuşma ve cevap verme için OpenAI API’ı.
  4. Motor Kontrolü:
    • Raspberry Pi GPIO kütüphanesi.
  5. Sensör Verisi İşleme:
    • RPi.GPIO ve Adafruit_Python_GPIO gibi kütüphaneler.
  6. Ses İşleme:
    • pyttsx3 veya benzeri bir Text-to-Speech kütüphanesi.
    • speech_recognition kütüphanesi mikrofon girişini işlemek için.
  7. Yön Belirleme Algoritması:
    • Sensörlerden gelen verileri işleyerek engelleri algılama ve rota belirleme.
  8. Ağ Bağlantısı:
    • Wi-Fi üzerinden OpenAI API’ına erişim.
  9. Sesli Komutlar ve Tepkiler:
    • Türkçe giriş ve çıkış desteği sağlamak için gTTS ve playsound.

Projenin Uygulanması

  1. Robot Şasisinin Montajı:
    • Motorları ve tekerlekleri şasiye tak.
    • Motor sürücü kartını Raspberry Pi’ye bağla.
  2. Sensörlerin Yerleştirilmesi:
    • Ultrasonik sensörleri robotun ön ve yan kısımlarına monte et.
  3. Raspberry Pi’yi Yapılandırma:
    • İşletim sistemini kur ve güncellemeleri yap.
    • Gerekli Python kütüphanelerini yükle.
  4. ChatGPT API Entegrasyonu:
    • OpenAI API anahtarını al ve Python scriptine entegre et.
  5. Motor ve Sensör Kontrolü:
    • Sensörlerden gelen veriye göre motorları kontrol eden bir Python scripti yaz.
  6. Sesli İletişim:
    • Mikrofon ve hoparlörle Türkçe konuşma ve cevaplama sistemini kur.
  7. Test ve Kalibrasyon:
    • Robotun çevre algılama, konuşma, ve yön tayini işlevlerini test et.

Bu süreci detaylandırmak veya her bir adım için kod ve donanım önerileri sunmamı istersen, belirtebilirsin. Özellikle yazılım tarafında API bağlantısı, motor kontrol kodları veya sesli yanıt sistemini kurarken rehberlik edebilirim.

Herbir süreci 12-15 yaşında bir çocuğun anlayacağı şekilde ve kodları kopyala yapıştır yaparak bu projeyi tamamlamasını istiyorum. Bu arada kullanılan donanım ürünlerinin motorlar ve motor sürücüler gibi, mikrofon ve hoparlör gibi raspberry pi hangi gpio larına bağlanacaklarını da belirtmeni istiyorum. haydi başlayalım.

Tabii! Projeyi basit bir şekilde adım adım anlatacağım ve gerekli kodları da paylaşacağım. Her adımda hangi donanımı kullanacağımızı, nasıl bağlayacağımızı ve ne yapmamız gerektiğini açıklayacağım.


1. Raspberry Pi’nin Hazırlanması

Gerekli Malzemeler:

  • Raspberry Pi (Raspberry Pi 4 önerilir)
  • SD Kart (32 GB veya daha büyük)
  • Klavye, fare, HDMI kablosu ve ekran (başlangıç için)

Ne Yapılacak?

Raspberry Pi’nin işletim sistemi kurulacak ve hazır hale getirilecek.

  1. Raspberry Pi OS yükleme:
    • Bilgisayarına Raspberry Pi Imager indir ve çalıştır.
    • Raspberry Pi OS (32-bit) seçerek SD kartına yaz.
  2. Başlatma:
    • Raspberry Pi’yi aç ve internet bağlantısını ayarla.
  3. Python Kütüphanelerini Kur: Terminal aç ve şu komutları sırayla yaz:
    bash
    sudo apt update sudo apt install python3-pip pip3 install RPi.GPIO speech_recognition pyttsx3 openai

2. Motorları ve Motor Sürücüyü Bağlama

Gerekli Malzemeler:

  • 4 adet DC motor
  • L298N motor sürücü kartı
  • Tekerlekler
  • Jumper kablolar

Bağlantı:

  • Motor sürücü kartı:
    • Motorların kablolarını motor sürücü üzerindeki M1 ve M2 pinlerine bağla.
    • IN1, IN2, IN3, IN4 pinlerini Raspberry Pi GPIO’larına bağla:
      • IN1 → GPIO17 (Pin 11)
      • IN2 → GPIO18 (Pin 12)
      • IN3 → GPIO27 (Pin 13)
      • IN4 → GPIO22 (Pin 15)
    • VCC pinini bataryanın artısına, GND pinini Raspberry Pi’nin GND pinine bağla.

Kod:

Aşağıdaki kodu Raspberry Pi’ye kaydet (motor_control.py):

python
import RPi.GPIO as GPIO from time import sleep # Pin ayarları IN1, IN2, IN3, IN4 = 17, 18, 27, 22 # GPIO ayarları GPIO.setmode(GPIO.BCM) GPIO.setup(IN1, GPIO.OUT) GPIO.setup(IN2, GPIO.OUT) GPIO.setup(IN3, GPIO.OUT) GPIO.setup(IN4, GPIO.OUT) def ileri(): GPIO.output(IN1, GPIO.HIGH) GPIO.output(IN2, GPIO.LOW) GPIO.output(IN3, GPIO.HIGH) GPIO.output(IN4, GPIO.LOW) def geri(): GPIO.output(IN1, GPIO.LOW) GPIO.output(IN2, GPIO.HIGH) GPIO.output(IN3, GPIO.LOW) GPIO.output(IN4, GPIO.HIGH) def dur(): GPIO.output(IN1, GPIO.LOW) GPIO.output(IN2, GPIO.LOW) GPIO.output(IN3, GPIO.LOW) GPIO.output(IN4, GPIO.LOW) try: while True: ileri() sleep(2) dur() sleep(1) geri() sleep(2) dur() sleep(1) except KeyboardInterrupt: GPIO.cleanup()

Terminalden çalıştır:

bash
python3 motor_control.py

3. Sensörleri Bağlama

Gerekli Malzemeler:

  • HC-SR04 Ultrasonik Sensör

Bağlantı:

  • Trig → GPIO23 (Pin 16)
  • Echo → GPIO24 (Pin 18)
  • VCC → 5V
  • GND → GND

Kod:

Aşağıdaki kodu kaydet (ultrasonik_sensor.py):

python
import RPi.GPIO as GPIO import time TRIG, ECHO = 23, 24 GPIO.setmode(GPIO.BCM) GPIO.setup(TRIG, GPIO.OUT) GPIO.setup(ECHO, GPIO.IN) def mesafe_olc(): GPIO.output(TRIG, True) time.sleep(0.00001) GPIO.output(TRIG, False) while GPIO.input(ECHO) == 0: baslangic = time.time() while GPIO.input(ECHO) == 1: bitis = time.time() mesafe = (bitis - baslangic) * 34300 / 2 return mesafe try: while True: mesafe = mesafe_olc() print(f"Mesafe: {mesafe:.2f} cm") time.sleep(1) except KeyboardInterrupt: GPIO.cleanup()

Terminalden çalıştır:

bash
python3 ultrasonik_sensor.py

4. Türkçe Konuşma Eklemek

Gerekli Malzemeler:

  • USB mikrofon
  • Hoparlör (3.5mm veya USB)

Kod:

Aşağıdaki kodu kaydet (konusma.py):

python
import pyttsx3 konusma = pyttsx3.init() konusma.say("Merhaba! Ben Ali, size yardımcı olmak için buradayım.") konusma.runAndWait()

Terminalden çalıştır:

bash
python3 konusma.py

5. Her Şeyi Birleştirmek

Robot hem etrafındaki engelleri algılayacak hem de Türkçe konuşacak.

Kod:

Aşağıdaki kodu kaydet (ali_robot.py):

python
import RPi.GPIO as GPIO import time import pyttsx3 # Pin ayarları IN1, IN2, IN3, IN4 = 17, 18, 27, 22 TRIG, ECHO = 23, 24 GPIO.setmode(GPIO.BCM) GPIO.setup(IN1, GPIO.OUT) GPIO.setup(IN2, GPIO.OUT) GPIO.setup(IN3, GPIO.OUT) GPIO.setup(IN4, GPIO.OUT) GPIO.setup(TRIG, GPIO.OUT) GPIO.setup(ECHO, GPIO.IN) konusma = pyttsx3.init() def ileri(): GPIO.output(IN1, GPIO.HIGH) GPIO.output(IN2, GPIO.LOW) GPIO.output(IN3, GPIO.HIGH) GPIO.output(IN4, GPIO.LOW) def dur(): GPIO.output(IN1, GPIO.LOW) GPIO.output(IN2, GPIO.LOW) GPIO.output(IN3, GPIO.LOW) GPIO.output(IN4, GPIO.LOW) def mesafe_olc(): GPIO.output(TRIG, True) time.sleep(0.00001) GPIO.output(TRIG, False) while GPIO.input(ECHO) == 0: baslangic = time.time() while GPIO.input(ECHO) == 1: bitis = time.time() mesafe = (bitis - baslangic) * 34300 / 2 return mesafe try: while True: mesafe = mesafe_olc() if mesafe < 20: dur() konusma.say("Önümde bir engel var, duruyorum.") konusma.runAndWait() else: ileri() time.sleep(1) except KeyboardInterrupt: GPIO.cleanup()

Terminalden çalıştır:

bash
python3 ali_robot.py

Bu adımları takip ederek robotu kolayca tamamlayabilirsin. Bir sorun yaşarsan buradan yardım alabilirsin! 😊

Özet olarak bu donanımları birleştirip kodları yüklediğimizde bu robot wifi bağlanarak chatgpt ile etrafındaki nesneleri algılayarak konuşacak ve ona göre hareket eddecek. bunun için open ai kullandığımız da para ödeyecek miyiz?
ChatGPT:
ChatGPT

Evet, OpenAI API’sini kullandığınızda bir ücret ödemeniz gerekir. OpenAI’nin ChatGPT API hizmeti, kullanım bazlı fiyatlandırma modeline sahiptir. Bu, API’yı ne kadar kullandığınıza bağlı olarak değişen bir maliyet anlamına gelir.

OpenAI API Fiyatlandırması

  • OpenAI API’nin fiyatlandırması, kullanılan token sayısına göre hesaplanır. Bir mesaj yazdığınızda veya yanıt aldığınızda, bu mesajların uzunluğuna bağlı olarak belirli bir token sayısı harcanır.
  • Ücretlendirme, genellikle kullandığınız dil modeli (örneğin, GPT-4 veya GPT-3.5) ve işlem miktarına bağlıdır.

Ücretsiz Alternatifler

  • Ücretsiz Deneme Kredi: OpenAI hesabı oluşturduğunuzda genelde bir miktar ücretsiz kredi verir. Bu krediyi tüketene kadar API’yi ücretsiz kullanabilirsiniz.
  • Yerel Model Alternatifleri: OpenAI’nin yerine Raspberry Pi üzerinde çalışabilen yerel dil modellerini kullanmayı düşünebilirsiniz. Örneğin:
    • Hugging Face Transformers kütüphanesi.
    • GPT-J veya benzeri açık kaynaklı modeller.

API’yi Minimum Kullanım için Ayarlamak

Eğer OpenAI API’yi kullanacaksanız, maliyeti azaltmak için şu stratejileri uygulayabilirsiniz:

  1. Sorguları kısa tutun: Gereksiz mesajları ve yanıtları sınırlandırarak token kullanımını azaltabilirsiniz.
  2. Yanıtları filtreleyin: Robotun yalnızca gerekli durumlarda konuşmasını sağlayabilirsiniz.
  3. Belirli bir bütçe belirleyin: API kullanımını izlemek ve bir bütçe belirlemek için OpenAI hesabınızın ayarlarını yapılandırabilirsiniz.

Eğer düşük bütçeli veya ücretsiz çözümlerle ilerlemek istersen, buna uygun öneriler geliştirebilirim. Daha fazla detay vermemi ister misin? 😊

 
4o
 
Şunu dedin:
Bu robotu gemini yapay zekası kullanarak ta yapabilir miyiz?
ChatGPT:
ChatGPT

Evet, robotunuzu Google’ın Gemini API‘sini kullanarak da geliştirebilirsiniz. Gemini API, Google’ın en yeni yapay zeka modellerine erişim sağlar ve uygulamalarınıza entegre edilebilir.

Gemini API’yi Kullanarak Robot Geliştirme Adımları:

  1. API Anahtarı Alma:

    • Google AI Studio üzerinden bir Gemini API anahtarı edinin.
  2. SDK Kurulumu:

    • Tercih ettiğiniz programlama dili için uygun SDK’yı yükleyin. Örneğin, Python için:
      bash
      pip install google-generativeai
    • Diğer diller için SDK bilgileri:
  3. API Entegrasyonu:

    • Gemini API’yi kullanarak metin oluşturma ve işleme yeteneklerini robotunuza entegre edin. Örnek bir Python kodu:
      python
      import google.generativeai as gemini gemini.configure(api_key="API_ANAHTARINIZ") yanit = gemini.generate_text("Merhaba, size nasıl yardımcı olabilirim?") print(yanit.result)
    • Daha fazla kod örneği ve kullanım detayları için:
  4. Robot Kontrolü ve Sensör Entegrasyonu:

    • Raspberry Pi’nin GPIO pinlerini kullanarak motorlar ve sensörleri kontrol edin. Python’da RPi.GPIO kütüphanesini kullanabilirsiniz.
  5. Sesli İletişim:

    • Robotunuzun Türkçe konuşma ve anlama yeteneğini sağlamak için metin okuma ve ses tanıma kütüphanelerini entegre edin. Örneğin, pyttsx3 ve speech_recognition kütüphanelerini kullanabilirsiniz.

Ücretlendirme: Gemini API kullanımı, belirli bir ücretsiz kota ile başlayabilir; ancak kullanım miktarınıza bağlı olarak ek ücretler uygulanabilir. Güncel fiyatlandırma ve kullanım kotası bilgileri için Google AI Studio’daki hesap ayarlarınızı kontrol etmeniz önerilir.

Örnek Projeler: Gemini API kullanılarak geliştirilmiş robot projeleri mevcuttur. Örneğin, doğal dil komutlarıyla kontrol edilen bir robot projesi:

Bu adımları izleyerek, robotunuzu Gemini API ile entegre edebilir ve projenizi başarılı bir şekilde tamamlayabilirsiniz.

 

 

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Main Menu