Gömülü sistemler için nerden başlanmalı

Emir oztkn

Aktif Üye
Katılım
27 Ekim 2020
Mesajlar
252
Ben Elektrik-Elektronik mühendisliği 1.sınıf öğrencisiyim C dilini bağımsız olarak öğrenmeye yeni başladım ama arduino da öğrenmek istiyorum. Arduino da da C++ 'ın basitleştirilmiş haliymiş. Yazılımda nereye başlayacağımı bilemiyorum sürekli kafam karışıyor. Gelecekte gömülü sistemlerle ilgilenmeyi planlıyorum.

3 ününde önemi var öğrenmem gerekecek mutlaka hatta java bile sonradan eklenir ama ilk olarak hangisine başlamalıyım bilemiyorum. Daha önce sertifikalı bir Arduino kursuna yazılmıştım ama hiç birşey bilmeden yazıldığım için adamlar Arduino ide değil de mBlock dersleri verdiler. O yönden kendimi geliştirdim sayılmaz daha çok çocuklara yönelik olduğunu düşünüyorum ama o da bir programlama yöntemi. İşin özü artık bir tanesine adam akıllı başlayıp inini cinini bilmem lazım ki bir adam olayım.


-> C

-> C++
-> Arduino

-> java
 
En önemlisi önce İngilizceyi öğrenmek. İnternetteki en iyi bilgi kaynakları hep İngilizce. Paraya kıy, bulabildiğin en iyi ingilizce kursuna git. Kendin için yapacağın en iyi yatırım şu aşamada bu.

Sonrasında C/C++ dillerini bir Linux masaüstü makinada öğren. Bunun avantajı, hem Linux'u hem de C/C++ ı öğreniyor olman.

Arduinoyu temel ve pratik elektronik bilgini geliştirmek için kullan. Yalnız Benim bildiğim arduino'daki derleyici standart C/C++ ın tamamını destekliyor. Sadece işlemcinin desteklemesinin mümkün olmadığı şeyleri kullanamazsın, mesela exception handling, multi threading gibi. Ama C++ class'larını, tip güvenliği, vs yani C++ ı iyi yapan herşeyi destekliyor olması lazım.
 
Ben Elektrik-Elektronik mühendisliği 1.sınıf öğrencisiyim C dilini bağımsız olarak öğrenmeye yeni başladım ama arduino da öğrenmek istiyorum. Arduino da da C++ 'ın basitleştirilmiş haliymiş. Yazılımda nereye başlayacağımı bilemiyorum sürekli kafam karışıyor. Gelecekte gömülü sistemlerle ilgilenmeyi planlıyorum.

3 ününde önemi var öğrenmem gerekecek mutlaka hatta java bile sonradan eklenir ama ilk olarak hangisine başlamalıyım bilemiyorum. Daha önce sertifikalı bir Arduino kursuna yazılmıştım ama hiç birşey bilmeden yazıldığım için adamlar Arduino ide değil de mBlock dersleri verdiler. O yönden kendimi geliştirdim sayılmaz daha çok çocuklara yönelik olduğunu düşünüyorum ama o da bir programlama yöntemi. İşin özü artık bir tanesine adam akıllı başlayıp inini cinini bilmem lazım ki bir adam olayım.


-> C

-> C++
-> Arduino

-> java
İstediğin yerden başlayabilirsin.Lakin Arduino sana daha yardımcı olacaktır.
Beni bu işlere bulaştıran da o Arduino zaten.Ortaokulda Delphi ve Visual Basic üzerine yazılımlar yapmıştım.
Üniversite ikinci sınıfta bir hocamız programlama ile uğraşan var mı demişti.Ben el kaldırdım sadece muhabbet amaçlı olduğunu düşünmüştüm.Dersten sonra beni yanına çağırdı.Elime Arduino verdi bir tane bir kaç da ek eleman.Dedi ki spektrofotometre tasarlamani istiyorum bununla yapabilir misin dedi.Ben daha elektroniğin e-sinden anlamaz iken.Bende denerim dedim.Yaklasik 2 günde programladim ve elektronige ile ilgim o zamandan başladı.
Arduino için kaynak fazla kütüphane fazla ve modül fazla başlangıç için iyi tercih olur.

 
En önemlisi önce İngilizceyi öğrenmek. İnternetteki en iyi bilgi kaynakları hep İngilizce. Paraya kıy, bulabildiğin en iyi ingilizce kursuna git. Kendin için yapacağın en iyi yatırım şu aşamada bu.
Hali hazırda İngilizce dersi alıyorum Özel kurs değil ama yurtdışında yaşamış, Üni. hocası. Geçen sene de hazırlıktaydım. Her gün ingilizceye maruz kalıyorum denemez ama orta üstü İngilizcem var. Bir tercüman olamam tabi ki yani bir makalede aradığımı Türkçedeki gibi saniyeler içinde seçemiyorum vakit harcamam gerek biraz.
Sonrasında C/C++ dillerini bir Linux masaüstü makinada öğren. Bunun avantajı, hem Linux'u hem de C/C++ ı öğreniyor olman.
Linux kullanma imkanım yok gibi çünkü elimdeki PC win10. Büyük projeler kesinlikle linuxla yapılması gerektiğini öğrendim, ama ufak çaplı projeler ,öğrenmede win10 kullanılabilir olduğu yazıyor. Linuxun bu iştekü asıl önemi nedir abi?
Arduinoyu temel ve pratik elektronik bilgini geliştirmek için kullan. Yalnız Benim bildiğim arduino'daki derleyici standart C/C++ ın tamamını destekliyor. Sadece işlemcinin desteklemesinin mümkün olmadığı şeyleri kullanamazsın, mesela exception handling, multi threading gibi. Ama C++ class'larını, tip güvenliği, vs yani C++ ı iyi yapan herşeyi destekliyor olması lazım.
Sahip olduğum Projelerle Arduino kitabında C dili ile kodlamak olarak başlıyor.

Şimdi bu durumda hala aynı fikirde misin?
 
İstediğin yerden başlayabilirsin.Lakin Arduino sana daha yardımcı olacaktır.
Beni bu işlere bulaştıran da o Arduino zaten.Ortaokulda Delphi ve Visual Basic üzerine yazılımlar yapmıştım.
Ben bu işlere 6 ay önce felan başladım ne orta okul tecrübem var ne lise. İlk başladığımdan 1 ay sonra kursa yazıldım zaten. O da ilk okul seviyesi bir eğitimdi tek faydası elimde robotik kodlama sertifikası var. O yüzden tecrübesizlik hakim üzerimde. Sadece piyasa ya hızlı giriş yaptım ortama çabuk ayak uydururum ben :D Anlama konusunda da problem yok Allaha şükür.

Arduino için kaynak fazla kütüphane fazla ve modül fazla başlangıç için iyi tercih olur.
Burayı anlamadım abi :kotek1:
 
Linux ve C/C++ konularında gerçekten uzman olan insan sayısı çok az, çünkü iyi öğrenilmesi emek istiyor. Ama piyasada .NET'çi, Javacı kaynıyor, bu alanlarda fark yaratmak zor. İnsanların kolayına geldiği için hep Windows bazlı çözüm üretilmeye çalışıyor. Ama Windows pahalı. Üzerinde çalışan yazılımlar da pahalı. Sonra Microsoft endüstri standartlarına hiç sadık kalmıyor. Bugün yaptığın bir proje bir sonraki işletim sisteminde veya bir sonraki derleyicide artık çalışmayabiliyor.
 
Linux ve C/C++ konularında gerçekten uzman olan insan sayısı çok az, çünkü iyi öğrenilmesi emek istiyor. Ama piyasada .NET'çi, Javacı kaynıyor, bu alanlarda fark yaratmak zor. İnsanların kolayına geldiği için hep Windows bazlı çözüm üretilmeye çalışıyor. Ama Windows pahalı. Üzerinde çalışan yazılımlar da pahalı. Sonra Microsoft endüstri standartlarına hiç sadık kalmıyor. Bugün yaptığın bir proje bir sonraki işletim sisteminde veya bir sonraki derleyicide artık çalışmayabiliyor.
Peki ağabey bu linux için güçlü bir sisteme ihtiyaç duyar mıyım? Yoksa sıradan bir bilgisayar bu işi görür mü? çünkü benim pc oyunpc leri diye geçiyor güçlü. Bunu linuxa çevirmek insafsızlık olur gibi.
 
Hali hazırda İngilizce dersi alıyorum Özel kurs değil ama yurtdışında yaşamış, Üni. hocası. Geçen sene de hazırlıktaydım. Her gün ingilizceye maruz kalıyorum denemez ama orta üstü İngilizcem var. Bir tercüman olamam tabi ki yani bir makalede aradığımı Türkçedeki gibi saniyeler içinde seçemiyorum vakit harcamam gerek biraz.
İlk mesajı okuduğumda @taydin'ın ilk mesajının aynısın yazacaktım. Tercüman kadar hatta daha iyi öğren. Zaten iyi bir seviyede olduğunu söylüyorsun üstüne eklemen daha da kolay olur. Kesinlikle bu işi bitir!

Peki ağabey bu linux için güçlü bir sisteme ihtiyaç duyar mıyım? Yoksa sıradan bir bilgisayar bu işi görür mü? çünkü benim pc oyunpc leri diye geçiyor güçlü. Bunu linuxa çevirmek insafsızlık olur gibi.

Linux gözünü korkutmasın. 10 yıl önceki bir bilgisayara bile rahatlıkla Linux kurabilirsin. Çünkü senin için önemli olan kod yazmak, masaüstü beklentilerin olmasın. Zaten GUI kullanırsan Linux kullanmanın özünden uzaklaşırsın. Önce öğren sonra GUI (yani görsel ara yüz) kullanmaya başla.

Bir de C öğren. C++ bugün C'nin yerine geçse de sadece eklemelerle zenginleştirildi (teşbihte hata olmaz) gibi düşünebilirsin. Muhtemelen gelecekte zaten C++'da çalışacaksın...

Bilgisayara ihtiyacın varsa adresini söyle sana ekranı kırık bir notebook hediye edeyim. Eski bir şey belki harddisk filan eklemen gerekebilir tam durumlarını bilmiyorum ama üzerinde rahatlıkla denemler yapabilirsin.
 
Peki ağabey bu linux için güçlü bir sisteme ihtiyaç duyar mıyım? Yoksa sıradan bir bilgisayar bu işi görür mü? çünkü benim pc oyunpc leri diye geçiyor güçlü. Bunu linuxa çevirmek insafsızlık olur gibi.
Dual OS diye birşey var
Sadece bir HDD parası ile bunu yaparsın.

Diğer konu için şöyle söyleyim.Yazilim dünyasına girdiğinde bunu daha net anlarsın.Mikroislemciler tek başına bir anlam ifade etmez.denetleyen birisinin olabilmesi için denetlenmesi gereken birisinin olması lazım.Hasta olmadan doktorluğun bir işe yaramamasi gibi.

Mikro işlemci ile LCD çıktısı sensor uygulaması birçok şeyler yapacaksın.
Peki bu modülleri nerden bulacaksın.Nasil kullanacağını protokollerini nasıl öğreneceksin?!

 
Peki ağabey bu linux için güçlü bir sisteme ihtiyaç duyar mıyım? Yoksa sıradan bir bilgisayar bu işi görür mü? çünkü benim pc oyunpc leri diye geçiyor güçlü. Bunu linuxa çevirmek insafsızlık olur gibi.

Windows'un artık çalışmadığı birçok eski PC'de linux çalışır. Veya ayrı makinaya bile gerek yok. Senin PC güçlü ise VirtualBox ile sanal makinada linux kullanabilirsin. Grafik arayüze gerek yok, doğrudan komut satırında çalışabilirsin. Ama grafik arayüzlü linux da iyi çalışır sanal makinada senin PC güçlü olduğu için.
 
Linux gözünü korkutmasın, kesinlikle. 10 yıl önceki bir bilgisayara bile rahatlıkla Linux kurabilirsin. Çünkü senin için önemli olan kod yazmak, desktop beklentilerin olmasın. Zaten GUI kullanırsan Linux kullanmanın özünden uzaklaşırsın. Önce öğren sonra GUI (yani görsel arayüz) kullanmaya başla.
1 Sisteme 2 işletim sistemi kurulabiliyormuş. 2 sinide kullanmak mümkün olduğunu söylüyor videoda bende yedek harddisk vardı direkt ona kurup onunla çalıştırabilirim.

yada @taydin abinin dediği gibi virtualbox ile olur. Ben pek bilemedim siz ne derseniz ona göre hareket edecem.
 
Bence virtualbox veya ayrı bir PC en garanti yol. Şöyle düşün, linux kurulumunu yaparken bir sorun yaşayınca internette araştırman gerekecek. Eğer windows makinanı linux olarak boot ettiysen internetten araştırman zor olacak. Minicik telefon ekranı ile de sorun çözmek zor.
 
İstersen aşama aşama VirtualBox kurulumu, sonra Debian Linux kurulumu ile ilgili bir konu aç. Başkalarına da kaynak olur.
 
Madem yazılıma meraklısın.
Seni ilk önce GNU/GPL ile tanıştırmak gerek.
Nedir peki GNU/GPL
Kısaca anlatmak gerekirse Richard Stallman tarafından kurulan FSF (Free Software Foundation) vakfının yayımladığı bir lisans sözleşmesi.
Bu lisans ile yazılmış olan programı:
1.Kopyalayabilir.
2.Çoğaltabilir.
3.Değistirebilir.
4.Satabilirsin.
5.Ancak yazılımın kodunu asla kapalı kaynak yapamazsın.

Bunların altında senin için ilk önce bir işletim sistemi seçmek gerekli.
Ben Redhat tarafından GNU/GPL lisanslı ücretsiz olan Fedora işletim sistemini kullanmanı öneririm.Fedora:
1.Ücretsiz
2.Açık Kaynaklı
3.Güvenli
4.Güncel

Fedoradan sonra da c++ veya sharpdan daha çok kıymetli iki dil var benim için.
1.Pyhton
2.pHp ve ASP

Bu sisteme Arduino kurmakla ve birkaç Arduino modülü almakla başla.
Örneğin Arduino uno al ve 3310 LCD modülü al.
Bunlarla ekranda bir şeyler yapmaya çalış.
Burda öncelikle kendine bir hedef koy.
Mesela bir güç kaynağı yapacaksın.
1.Ekranda neler olmalı.
2.Nasıl tasarlanmali
3.Nasıl kumanda edilmeli
bunu ekranda yapmaya çalış.

Ve şunu da unutma birşeyi nasıl öğrenebilirim diyorsan onu nasıl anlatabilirim diye düşün.O zaman öğrenirsin.

 
Ben senin yerinde olsam Sercan'ın önerisini kabul ederdim. Benim elimde de hdd ve ram var. Notebook'un özelliklerine uyarsa gönderirim.
Aynı pc ye ikinci bir işletim sistemi kurmak insanı kanser eder. Tecrube ile sabit :D Linux'a geçiyorsun bir şey lazım oldumu bilgisayarı kapatıp windows'a geçmen gerekiyor. Ondan ona derken windows'a alışkın olduğun için bir süre sonra linux'u hiç açmıyorsun.
 
virtualbox yada ayrı pc daha mantıklı geldi.
Aslında hiç kullanmadığım eski laptopum vardı güç kaynağı alırım diye sattım şimdi aşırı pişman oldum.
Bu virtualbox olayını biraz araştırayım, çift monitör olarak kasmadan kullanılabiliyorsa yani bir windows bir linux mantıklı olabilir. Eski monitör var elimde çünkü. Kullandığım pc yi de kastıracak bir yöntemse bu ayrı bir pc ye yönelecem.
Fedora işletim sistemini kullanmanı öneririm.
Hiç duymadım.
Fedoradan sonra da c++ veya sharpdan daha çok kıymetli iki dil var benim için.

1.Pyhton
2.pHp ve ASP
Bu diller daha çok oyun yapanlar kullanıyor python sharp yanlış anlama sadece az çok dışardan duyduğum internette gördüklerime göre söylüyorum
php de intenetle alaklı
benimki gömülü sistem abi

Bu sisteme Arduino kurmakla ve birkaç Arduino modülü almakla başla.
Örneğin Arduino uno al ve 3310 LCD modülü al.
Bunlarla ekranda bir şeyler yapmaya çalış.
Burda öncelikle kendine bir hedef koy.
Mesela bir güç kaynağı yapacaksın.
1.Ekranda neler olmalı.
2.Nasıl tasarlanmali
3.Nasıl kumanda edilmeli
bunu ekranda yapmaya çalış.
O Modüller elimde var. Kafamda tasarladığım RFID projemde kullanmayı düşünüyordum.
 
Büyük ihtimal Virtualbox yapacağım araştırıdım kasma felan olmaz dediler çift monitör olayıda olur dendi.
şimdi asıl olay şu herkes bir linux sürümü öneriyor. Birisi mint öneriyor birisi ubuntu birisi fedora birisi debian.
@DrFreeman senin dediğin fedorayı şimdi öğrendim :D
@taydin abi sende debian önerdin.
şimdi hangisini kurmalıyım?
 
Hepsini dene hangisinden memnun kalırsan onunla devam et :D
 

Forum istatistikleri

Konular
5,653
Mesajlar
97,279
Üyeler
2,438
Son üye
İbrahimSönmez

Son kaynaklar

Son profil mesajları

cemalettin keçeci wrote on HaydarBaris's profile.
barış kardeşim bende bu sene akıllı denizaltı projesine girdim ve sensörleri arastırıyorum tam olarak hangi sensör ve markaları kullandınız yardımcı olabilir misin?
m.white wrote on Altair's profile.
İyi akşamlar.Arabanız ne marka ve sorunu nedir.Ben araba tamircisi değilim ama tamirden anlarım.
* En mühim ve feyizli vazifelerimiz millî eğitim işleridir. Millî eğitim işlerinde mutlaka muzaffer olmak lâzımdır. Bir milletin hakikî kurtuluşu ancak bu suretle olur. (1922)
Kesici/Spindle hızı hesaplamak için SpreadSheet UDF'leri kullanın, hesap makinesi çok eski kalan bir yöntem :)
Dr. Bülent Başaran,
Elektrik ve Elektronik Mühendisi
Yonga Tasarım Özdevinimcisi
Üç güzel "çocuk" babası
Ortahisar/Ürgüp/Konya/Ankara/Pittsburgh/San Francisco/Atlanta/Alaçatı/Taşucu...

Back
Top