Categories
microcontrollers

Final Sample Questions

Simulatorler

  1. Fiziksel bir ortam kurmak yerine simulasyon üzerinde çalışmak neyi sağlar? Dezavantajları nelerdir?

FPGA Tabanlı Kontrol

  1. FPGA ve MCU arasındaki farklar nelerdir? FPGA ne zaman tercih nedeni olmalıdır?
  2. FPGA’e bağlı 10 bitlik bir ADC çipi kulunmaktadır. Bu ADC çipinin çıktı sinyalleri clk, data[9:0], dataValid’dir. Bu sinyalleri kullanarak bir sıcaklık sensörü verisini okuyup eğer sıcaklık 50 derece’nin üzerinde ise FPGA’e bağlı bir LED’i aktif yapan, değil ise pasif yapan bir verilog tasarımı geliştiriniz. Sıcaklık sensörü 0-100 derece arasında çalışmaktadır.
  3. FPGA’e bağlı motor sürücü entegresini kontrol edecek bir verilog tasarımı gerçekleyiniz. Entegrenin clock çıkışı, 8 bitlik dIn girişi ve direction isimli bir bitlik girişi bulunmaktadır. Bu sinyaller ile aşağıda verilen pattern’i oluşturan bir tasarım yapınız. Clock frekansı 10MHz’dir.

    Durma
    Yarı Hız ileri
    Tam Hız ileri
    Yarı Hız geri
    Tam Hız geri
    Durma
    Çeyrek Hız ileri

    Her bir pattern 2 saniye sürmelidir.

Categories
microcontrollers

Midterm Sample Questions

MCU Architecture

  1. Mikrokontrolcü nedir?
  2. Aşağıda Atmel Atmega328 MCU’sunun mimarisi verilmektedir.

    Mimaride görülen;

    * USART
    * SPI
    * Flash
    * Oscillator
    * AVR CPU

    bloklarının görevlerini açıklayınız
  3. Aşağıda Atmel Atmega328 MCU’sunun CPU Core Mimarisi verilmektedir.



    Bu mimariye göre;

    * ALU
    * Program Counter
    * General Purpose Register
    * Instruction Register
    * Instruction Decoder

    bloklarının görevlerini açıklayınız.
  4. Ardunio IDE’sinde geliştirilen bir uygulamada kullanılan temel setup ve loop fonksiyonlarını görevlerini açıklayınız.
  5. Aşağıda Ardunio Nano’nun pinlerini gösteren bir figür verilmektedir.



    Ardunio’nun Dijital 5 ve 6. pinlerine butonlar, 7. pinine ise LED bağlanmıştır. Her iki butona da basılı iken LED saniyede bir yanıp sönecek bir uygulama geliştiriniz.
  6. MCU’nun UART arayüzünden ‘A’ paketi geldiğinde 1. LED’i 2 saniyeliğine yakan, ‘B’ paketi geldiğinde ise 2. LED’i 10 saniyeliğine yakan bir uygulama geliştiriniz.

Interfaces and Sensors

  1. Analog ve dijital pin’lerin okuma/yazma kabiletleri nedir? Farkları nelerdir?
  2. MCU’nun 0. analog girişine bir uzaklık sensörü bağlanmıştır. Bu sensör 50 cm’de iken maksimum değer olan 1023’ü, 2 cm’de ise 0 değerini geri döndürmektedir. Buna göre sensör 20 ile 30cm arasında bir nesne tespit ettiğinde UART üzerinden ‘Aralik Icerisinde’ mesajını gönderen bir uygulama geliştiriniz.
  3. MCU’nun 0. analog girişine bir sıcaklık sensörü bağlanmıştır. 1. analog girişine ise bir duman sensörü bağlanmıştır.

    Sıcaklık sensörü 0 derece için 0; 50 derece için 1023 sayısını döndürmektedir. 0-50 derece arasındakiler 0-1023 arasında lineer olarak değişmektedir.

    Duman sensörü ise duman olmaması durumunda 0, duman olması durumunda ise geriye 1023 sayısını döndürmektedir.

    Buna göre 40 derece üstü ve duman olması durumunda MCU’nun dijital 3. pinine bağlı LED’i aktif edip UART üzerinden “Yangin” mesajını gönderen bir yazılım geliştiriniz.
  4. Sensör nedir? Analog ve dijital sensörler nedir? Farkları nelerdir?

Motor Control

  1. Fırçasız motor nedir?
  2. Servo motor nedir?
  3. Step motor nedir?
  4. 5V gerilim uygulandığında 200 RPM ile çalışan bir fırçasız motor’a çevresi 2 cm olan bir tekerlek takılıyor. Robota bağlı olan bu motor ile 1 metre hareket etmek için gerekli olan MCU kodunu geliştiriniz. Tekerlek 3cm olması durumu için 2. bir kod geliştiriniz.
  5. Fırçasız bir motorun 3V altında 200 RPM, 5V altında ise 300 RPM yaptığı dökümanında belirtilmiştir. Buna göre MCU’nun ADC pinleri kullanılarak bu motor’a 2 sn 250 RPM, 3 sn 275 RPM hıza çıkaracak bir kod geliştiriniz. Not: 3V-5V arasındaki RPM değişiminin lineer olacağı varsayılabilir. MCU’nun ADC’si 0 verisi için 0V, 1023 verisi için ise 5V üretmektedir. Ara değerler lineer olarak değiştiği varsayılabilir.

Robot Assembly

  1. Robot şasesi nasıl üretilir?
  2. PCB tasarımı nedir?
  3. Lehimleme nedir?
Categories
microcontrollers

Detailed Course Description

Ders Açıklaması

Bu ders kapsamında mikrokontrolör mimarisi kullanılarak robot kontrol algoritmaları geliştirilecektir. Ders kapsamında bir sumo robot kiti üzerinde deneyler gerçekleştirilecektir. Dönem projesi olarak sumo robot gerçeklenip, verilecek 5 adet hedefin 60 saniye içerisinde platformdan atabilecek bir sumo robot algoritması geliştirilecektir.

Ders Saatleri (Teorik + Lab)

Cuma 9.00-14.00

Öğretim Elemanları ve Ofis Saatleri

Dr. Öğr. Üyesi Vecdi Emre Levent, Ofis 311 – Salı 16.00-17.00

Arş. Gör. Uğur Özbalkan, Ofis 311 –  Salı 16.00-17.00

Ön Gereksinimler

Yok

Yardımcı Kaynaklar

Dersin referans kaynakları aşağıda listelenmektedir.

  • Programming Arduino: Getting Started with Sketches, Second Edition, Simon Monk, McGraw Hill, 2016
  • Exploring Arduino: Tools and Techniques for Engineering Wizardry 2nd Edition, Jeremy Blum, 2019

Yazılımlar

Arduino IDE

Dersler

Dersin haftalık 2 saat teorik, 2 saat laboratuvar bölümü bulunmaktadır. Öğretim üyesi tarafından verilen ders materyallerinin ders öncesi incelenip, ders sonrasında ise tekrar edilmesi beklenmektedir. 

Öğrenim Çıktıları

  • Microcontrollers
  • Robotic
  • Sensors
  • Low power algorithm design

Quizler

Dönem içerisinde iki adet quiz yapılacaktır. 30 dk süre verilecektir. Quiz tarihi bir hafta önceden duyurulacaktır. 

Notlandırma

Derslere %80 oranında devam zorunludur.

Dönem notu; vize, lablar, ödevler, proje ve final sınavı ile belirlenecektir. Değerlendirme yüzdeleri aşağıdaki tabloda verilmiştir.

FaaliyetlerOranlar
Vize%20
Ödev/Quiz%10
Lab%15
Proje%25
Final%30
Bonus5 Puan’a kadar

Ödev ve quizlerin teslim saati üzerinden her geçen saat için 5 puan kesilecektir.

Dönem sonu notunun karşılık geldiği ağırlık ve harf notu aşağıdaki tabloda verilmiştir.

Dönem NotuAğırlıkHarf Notu
90-1004.00AA
85-893.50BA
80-843.00BB
75-792.50CB
65-742.00CC
50-641.50DC
45-491.00DD
0 -440FF

Beklenen Efor

Öğrencinin dönem içinde göstermesi beklenen efor tablosu aşağıda verilmiştir.

İçerikSaatKaç DefaAra Toplam
Derse Hazırlık21428
Ders Tekrarı21428
Ödev4624
Proje48148
Sınıf Dersi41456
Ara Sınav ve Final24248


Öğrenciler dersten başarılı olmak için dönem boyunca ortalama 232 saat harcamaları beklenmektedir.

Kodlama Ödevleri

Kodlama ödevlerinin notlandırılması, kodun doğruluğu, kalite ve algoritmik gerçeklemedeki detayları incelenerek yapılacaktır.

Doğruluk

Verilecek her bir ödev için test girişi ve beklenen çıkışlar paylaşılacaktır. Ancak ödev kontrolü yapılırken sizinle paylaşılmamış başka test durumları da denenecektir. Çalışma zamanı, beklenenden çok uzun süren kodlar yanlış olarak değerlendirilebilir.

Teori

Kod, istenen algoritmanın tasarımı olmalıdır. En optimum çözüm beklenmemektedir. Ancak bellek ve çalışma zamanı beklenenden çok fazla olmamalıdır.

Yazılı Ödevler

Ödev kendi el yazınız ile yazılmalıdır. Ödev cevap kağıtının üzerinde, dersin adı, öğrenci adı ve soyadı, öğrenci numarası ve tarih bulunmalıdır. 

Akademik Dürüstlük

Ödevin amacı, ders hakkında derinlemesine araştırma yapmayı öğrenmek ve pratik bilgiler kazanmayı sağlamaktır. Verilen ödevler hakkında, diğer öğrenciler ile birlikte çalışma teşvik edilmektedir. Çalışma grubu oluşturan öğrenciler, kendi başına çalışan öğrencilere göre sınavlarda daha başarılı olmaktadırlar. 

Ancak bir ödevi çözmek için başkaları ile birlikte çalışsanız bile, her bir sorunun çözümünü yardım almadan kendiniz yapmalısınız. Çözümünüzü bir araştırma yolu ile elde ederseniz (örn. bir internet araması), çözümü kendi cümle ve/veya kodunuz ile ifade etmelisiniz. Çözümü sözlü olarak sorulduğunda, öğrencinin açıklayabilmesi beklenmektedir. 

Verilen ödev bir kod ise, kendinizin yazması gerekmektedir. Hata ayıklamada başkalarından yardım alabilirsiniz. Kodda intihal tespiti için manuel ve otomatik mekanizmalar kullanılacaktır. İntihal, sınav içi kopya ve benzeri davranışlar disiplin yönetmeliğine göre cezalandırılır.

Categories
microcontrollers

LMS and Piazza

Öğrencilerin soru sorup yanıt alabileceği bir soru cevap sistemi sunulmaktadır. Ders duyuruları, öğrenci soruları ve cevapları için bir platformdur. Aşağıdan erişebilirsiniz. 

https://piazza.com/class/ky8yxfa6hc34n8

Blackboard (Learning Management System), bazı ödevlerin teslimi için LMS sistemi üzerinden olması istenecektir.
https://blackboard.fbu.edu.tr/

Categories
microcontrollers

Labs

LabKonuTarihİndirme
1Interfaces
2Sensors
3Motor Control
4Sumo Robot Algorithm
5Simulator
Categories
microcontrollers

Exams and Sample Questions

Vize

Final

Categories
microcontrollers

Project

Engel Kaldırıcı Sumo Robot: Sumo robot gerçeklenip, verilecek 5 adet hedefin 60 saniye içerisinde platformdan atabilecek bir sumo robot algoritması geliştirilecektir.  Robot’un diğer bir modu ise çizgi izlemektir. Bu modda ise kensine bağlı olan sensörleri kullanarak çizgi üzerinde takip etmesi beklenmektedir.

Proje detayları için tıklayınız.

Categories
microcontrollers

Homeworks

ÖdevKonuTarihSon Teslim TarihiTeslim Yöntemiİndirme
1SensorsYazılı Olarak Ders Sınıfında Teslim 
Categories
microcontrollers

Lecture Notes

HaftaNotlarİndirme
1Introduction
2MCU Architecture
3Interfaces
4Sensors
5Motor Control
6Robot Kit Assembly
7Sumo Robot Algorithm
8Midterm Sınav Haftası
9Simulator I
10Advanced Sumo Robot Project
11Simulator II
12FPGA Based Control I  
13FPGA Based Control II
14Robot Contest
15Finals ve Project PresentationsSınav Haftası
Categories
microcontrollers

Syllabus

HaftaKonuTarih
1Giriş
2MCU Architecture
3Interfaces
4Sensors
5Motor Control
6Robot Kit Assembly
7Sumo Robot Algorithm
8Vize Sınav Haftası
9Simulator I
10Simulator II
11Control Algorithms I
12Control Algorithms II
13FPGA Based Control I
14FPGA Based Control II
15Final ve Proje SunumlarıSınav Haftası