C# Dengede Duran Robot Orumcek Yapılırmı?
-
Selamlar. arkadaslar programlama okuyan arkadasın birinden dengede duran 8 bacaklı bir orumcek yaptıgını duydum. bu orumceğin bacakları ustunde entegreler varmıs. o c#da yazdıgı kodları ana entegreye akratıyomus ana entegre bacaklardaki basınca gore bacakları hareket ettiriyomus vs. buna benzer bir ornek yapan arkadasım varmı? yada kodlarını ve mantıgını bana verip anlatabilecek? ben c# gordum ve okulda bitirme projesi yaptım. benim yaptığım o arkadasınki gibi ayrıntılı bisey değildi. ben veritabanından bilgi alıp isleyen biraz uzun bir program yapıp setup olusturdum yani benimki paket program gibi biseydi. ben o arkadasın entegre dediği seyin ne olduğunuda bilmiyorum yani ben bi exe olusturacam ve o exeyi entegre dediği zımbırtıyamı kaydedicem? basınc ölcen bi zımbırtı daha varmıs. eğer bu arkadas bunu yaptıysa basınc ölcen aletten nasıl veri yada sinyal aldı? bu olay sanırım javada yapılıyor ve bunun hakkında birseyler bilen varsa yardımlarını bekliyorum.
-
Hocam entegreler C# dan anlamaz ki :|
-
basınç ölçen aleti kendinde yapabilirsin piezoelektirik kristalleri araştırırsan faydası olur
sonra herbir bacaktan gelen volt değerini alıp ona göre bişiler yaparsın
-
seri port baglantıları konularını araştır ne demek istedigimi anlıcakın :) c# ile pic programlanabilir.Ben java ile yaptım ama mantık aynı.
-
tamam dediklerinizi bi araştırayım ama banada c# ile pic gibi mikroislemci programlanabilir gibi gelmiyor wert hocam o volt değerleri hakkındada bahsetmişti ama anlayamadım nasıl volt değeri alabilirimki alsamda nasıl c#ta işler yada kontrol ederim? sandman hocam bana java ile yaptığının kodları duruyorsa gönderebilirmisin yada upload edermisin? bu işe acayip takıldım aslında java ile yapmaya çalışsam bir yandanda java geliştirsem daha iyi olacak gibi geliyor c# sanki sınırlı gibiydi hani tek platform windows .net kullanacak vs. ama pic programlanıyorsa işler ilginc bir hal alır :-D
Azönce seri portlara bakıyodum rs-232 diye seri kablo gibi bişeye ulaştım sanırım bu zımbırtıylave pic yazıcısıyla pic 16f84 gibi pic mikroişlemcileri programlanıyordu bahsettiğin omu sandman hocam? daha detaylı bilgiler yada bilgileri içeren bir link verebilirmisin? araştırmama şu anda devam edemiyorum sabah 8de dersim var :S
-
syn bunu yazdı:
-----------------------------
tamam dediklerinizi bi araştırayım ama banada c# ile pic gibi mikroislemci programlanabilir gibi gelmiyor wert hocam o volt değerleri hakkındada bahsetmişti ama anlayamadım nasıl volt değeri alabilirimki alsamda nasıl c#ta işler yada kontrol ederim? sandman hocam bana java ile yaptığının kodları duruyorsa gönderebilirmisin yada upload edermisin? bu işe acayip takıldım aslında java ile yapmaya çalışsam bir yandanda java geliştirsem daha iyi olacak gibi geliyor c# sanki sınırlı gibiydi hani tek platform windows .net kullanacak vs. ama pic programlanıyorsa işler ilginc bir hal alır :-D
-----------------------------mesela denge konusunda bahsetmişsin ya orada kullanırsın çok kaba taslak bişi hazırladım işine yararmı bilmem burada adım motor diye bahsettiğim şey adım motora bağlı ağırlık(resimde sadece kendisi varmı gibi koydum yav işte hareket edebilecek bir ağırlık)
burada a-b değerini paralel porta (nereden çıktı deme bende zamanında paralel için bakmıştım bişilere) gönderirsek
mesela a-b<0 sa bir bacakmı diyim delikmi diyim artık neyse 1 tanesine
a-b>0 a farklı birine yönlendirirsek ki bunu diyotlarla yapabiliriz gibi duruyor
ozaman şu şekilde işimiz kolaylaşı portu oku şu bacaktan sinyal geliyorsa şunu yap şu bacaktan geliyorsa şunu yap
-
C# ile Pic programlama yapılabiliyor.
Kaynak: http://www.google.com.tr/#hl=tr&source=hp&q=c%23+and+pic&btnG=Google%27da+Ara&meta=&aq=f&oq=c%23+and+pic&fp=f2faafae4927c3a5
-
pic veya mikroişlemci programlanması ayrı bi konu arkadaşlar. c# ile o da yapılabilinir ancak bu işi yapan biri görmedim daha önce.. şunu anlatmaya çalışıyorum ;
mikroişlemciler yapıcakları komutları belirli bir hafızadan (ROM) çekerler. diyelim ki 8 bitlik bir işlemci üzerinde çalıştığımızı farzedelim. işte bu 8 bitin ilk 2 bitine genelde opcode denir. eğer bu ilk üç bit 00 ise toplama işlemi, 01 ise çıkarma, 10 ise kaydırma, 11 ise de çarpma yapıcak demektir. 8 bitin son 6 biti de sabit bir değer olsun. şimdi bi komut inceleyelim;
add a,5
bu komutu derlediğimizde derleyicinin yaptığı işlem şu bitleri üretmek ve bu bitleri hafızaya yazmak olacak=>
00 000101
bu noktadan sonra da atık mikroişlemci hafızadan bu bitleri çekecek ve ilgili yerlere gönderecek. (mesela ilk 2 biti ALU bloğunun seçme ucuna gönderecek)
buraya kadar anlattıklarım bir mikroişlemcinin nasıl programlandığıydı. şimdi sen c# ile bir derleyici yazabilirsin ve komutları bitler halinde mikroişlemcinin(veya pic'in) hafızasına kaydettirebilirsin. ama bu yol çok da gerekli bi yol değildir çünkü piyasada bu işi yapan ücretsiz derleyiciler zaten var.....
gelelim diğer konumuza senn verdiğin örnekte pic programlanmıyor. sadece bilgisayardan gelen bitlere göre robota birşeyler yaptırılıyor. bu iş nasıl oluyor?
c# ile seri porttan veriler basabilirsin. peki seri port nasıl çalışır? seri port da asenkron olarak 8 tane biti seri olarak(ardarda) tek bir tel üzerinden gönderir. mikroişlemci tarafında ise de bu seri olarak gelen bitleri alan bir yazılım yazılır. şimdi sen c# ile 00000001 bitlerini gönderirsin karşı taraf da gelen bu veriye göre şöyle bir işlem yapabilir;
if seripor_verisi = 0000001
motoru hızlandır
else if seriport_verisi = 00000010
motoru yavaşlat
---------
gibi... umarım anlatabilmişimdir.
-
16f84 ile yaparsın.programlama bilgin varsa.
elektronikhobi.com da görmüştüm yada endtas da
-
ZoktriP bunu yazdı:
-----------------------------
Hocam entegreler C# dan anlamaz ki :|
-----------------------------yazılır, ama anlamı yok, CCS C kullanarak daha kolay şekilde yazabilirsin
-
yapabilirsin tabiki bilgin varsa neden olmasın zaten bu aralar programcılıkta c# kullanmak moda oldu herkes ona özenmeye başladı mantık ne cidden bilmiyorum insanlar heralde nasıl olsa onu biliyoruz moduna yatıp iş kurtarıyor hoş kullanım kolaylığı mevcut o konudada birşey diyemem..
hem konuyu açana hem diğerlerine ortak oldu cevap sanki kaba oldu ama neyse kusura bakmayın :D
