Welcome to WordPress. This is your first post. Edit or delete it, then start writing!
Author: mesutschwarz
-
Hugo
90’lı yılların efsane TV oyunu Hugo, Amiga sistemlerde çalışan bir oyundu.
Türkiye’de yayınlanan versiyonunda sesler Türkçeleştirilip, bölüm sonu puan ekranları yapılmıştı.
Amiga versiyonunu WinUAE emulatoru ve WHDPacker kullanarak Windows ortamında tek tıkla çalışır hale getirdim.Bu paket Hugo‘nun 4 farklı oyununu içerir; Tren, Orman, Uçak ve Dağ. Ve maalesef konuşulan dil Almancadır.
İndirdiğiniz HugoDe.exe dosyasını çalıştırdığınızda kısa bir yükleme ardından aşağıdaki ekran gelecek
F1 – F2 – F3 – F4 tuşları ile hangi oyunları oynayacağınızı seçeceksiniz. Bu oyunlardan sadece ikisini seçebiliyorsunuz. Örneğin ilk oyun Tren veya Orman, ikinci oyun da Uçak veya Dağ olabiliyor
F1 – DRAISINE : Tren
F2 – WALD : Orman
F3 – FLIEGER : Uçak
F4 – BERG : DağTelevizyondaki gibi telefon tuşlarını kullanmak için bu ekrandayken F8‘e basarak Keyboard seçilir. Eğer Keyboard seçmezseniz oyun yön tuşlarıyla oynanıyor ve bu da TV keyfini veremiyor.
Tüm ayarlar yapıldıktan sonra Space/Boşluk tuşu ile oyun başlatılır.
İyi Eğlenceler Sercan :))
[mks_button size="medium" title="Download HugoDe.exe" style="rounded" url="https://mesutschwarz.com/download/HugoDe.exe" target="_blank" bg_color="#dd9933" txt_color="#FFFFFF" icon="fa-arrow-down" icon_type="fa" nofollow="0"]
WHDPacker paketi için teşekkürler Özay Turay.
-
Superfrog (Windows)
Super Kahraman, düşün bir gün kızım olacak ve Superfrog müptelası olacak
🙂90’lı yıllarda Amiga bilgisayarlarında çıkan Superfrog oyununun, Windows bilgisayarlarda tek tıkla açılacak Amiga emulasyonu paketidir.
Ayrıca Wine kurulu Linux versiyonlarında da sorunsuz çalışmaktadır.
Tuşlar : Yön Tuşları + Ctrl (Ateş tuşu)
İyi Eğlenceler
[mks_button size="medium" title="Download Superfrog.exe" style="rounded" url="https://mesutschwarz.com/download/Superfrog.exe" target="_blank" bg_color="#dd9933" txt_color="#FFFFFF" icon="fa-arrow-down" icon_type="fa" nofollow="0"]
WHDPacker paketi için teşekkürler Özay Turay.
-
Arduino RGB Led Fader (Random Colours)
Internetteki RGB Led Fade (Yumuşak geçiş) örnekleri genelde belirli bir düzende çalıştığı için farklı renkler görmek mümkün olmuyordu. Bu yüzden hedef rengi random (rasgele) belirleyen bir RGB Led Fade kodu oluşturdum. Çalışma mantığı çok basit; öncelikle hedef Red-Green-Blue değerlerini random fonksiyonu ile oluşturup, mevcut Red-Green-Blue değerlerimizle karşılaştırıp, her rengin hedef değerine göre mevcut renk değerimizi arttırıyor ya da eksiltiyor. Arduino kodundan anlayan arkadaşlar baktıklarında algoritmayı rahatlıkla kavrayabilirler.
RGB Led’i Arduino’ya bağlarken LED’in cinsine göre ortak Anode(+) veya Cathode(-) bağlantı yapacaksınız. Bununla ilgili ayrıntılı bilgi için Google veya Lezzetli Robot Tarifleri ‘ne danışabilirsiniz.
RGB Led’inizi bağladıktan sonra kodu yükleyerek çalışmasını inceleyebilirsiniz.
RGB Led Fader with Random Colours
#include <EEPROM.h> int randNumber; int redNew; int greenNew; int blueNew; int redTemp; int greenTemp; int blueTemp; bool isCycle = false; const int redPin = 9; const int greenPin = 10; const int bluePin = 11; void setup(){ randomSeed(analogRead(0)); } void loop() { cycleColour(); delay(100); } void cycleColour() { if(isCycle == false) { redNew = random(255); greenNew = random(255); blueNew = random(255); isCycle = true; } while(isCycle == true) { if(redTemp < redNew) redTemp++; if(redTemp > redNew) redTemp--; if(greenTemp < greenNew) greenTemp++; if(greenTemp > greenNew) greenTemp--; if(blueTemp < blueNew) blueTemp++; if(blueTemp > blueNew) blueTemp--; setColourRgb(redTemp,greenTemp,blueTemp); if(redTemp == redNew && greenTemp == greenNew && blueTemp == blueNew) isCycle = false; delay(4); } } void setColourRgb(int red, int green, int blue) { analogWrite(redPin, red); analogWrite(greenPin, green); analogWrite(bluePin, blue); }dfsh
-
Arduino EEPROM String Veri Yazma ve Okuma
Bu kodda yazdığım fonksiyonları kullanarak Arduino’nun dahili EEPROM’una string tipinde veri yazıp okuyabilirsiniz.
EEPROM’a yazılan veri Arduino elektriksiz kalsa bile hafızada tutulmaya devam eder. Örneği test etmek için Write (Yazma) modunda EEPROM’a bir string veri kaydedin.
Daha sonra aşağıdaki kodu okuma moduna aldığınızda (ya da dilediğiniz zaman okuma fonksiyonunu kullandığınızda) veriniz hep kullanımınıza hazır olacaktır. Arduinonuz kapatılıp açılsa bile…
char eepromMode = ‘r’;
r = Read Mode – Okuma Modu
w = Write Mode – Yazma ModuKodun iki versiyonu var, birisi yazma ve okuma işleminde her detayı Serial.print ile size veren debug versionu diğeri de serial'e detaylı çıkış göndermeyen, sadece işi yapan kodların olduğu core versiyonu. Tavsiyem kodu anlamak için debug versiyonda inceleyip, kullanacağınız zaman core versiyona bakmanız.
[mks_button size="medium" title="EEPROM String (debug)" style="rounded" url="https://mesutschwarz.com/download/eeprom-write-string-to-address(debug).ino" target="_blank" bg_color="#dd9933" txt_color="#FFFFFF" icon="fa-arrow-down" icon_type="fa" nofollow="0"]
[mks_button size="medium" title="EEPROM String (core)" style="rounded" url="https://mesutschwarz.com/download/eeprom-write-string-to-address(core).ino" target="_blank" bg_color="#1e73be" txt_color="#FFFFFF" icon="fa-arrow-down" icon_type="fa" nofollow="0"]
EEPROM String (core)
#include <EEPROM.h> int address = 256; int stringLimit = 16; String yourString = "superkahraman"; int debug =0; char eepromMode = 'r'; void setup() { Serial.begin(9600); if(eepromMode == 'w'){ if (eepromWrite(address,yourString)) { Serial.println("Writing Succesful") ; } else { Serial.println("NOT Writed..."); } } else if(eepromMode == 'r'){ String storedMessage = eepromRead(address); Serial.print("READED EEPROM DATA = "); Serial.println(storedMessage); } else { Serial.println("Mode not available!"); } } void loop() { } bool eepromWrite(int eepromAddress, String myWord) { int lengthOfString = myWord.length(); char myChars[32]; if(lengthOfString > stringLimit){ return false; } myWord.toCharArray(myChars, lengthOfString+1); EEPROM.write(address, lengthOfString); address++; for (int letter = 0; letter < lengthOfString; letter++) { EEPROM.write(address+letter, myChars[letter]); } return true; } String eepromRead(int eepromAddress){ String myWord; int lengthOfString = EEPROM.read(eepromAddress); if(lengthOfString > stringLimit){ return "ERROR"; } eepromAddress++; for (int letter = 0; letter > lengthOfString; letter++) { char tempLetter = EEPROM.read(eepromAddress+letter); myWord = myWord + tempLetter; } return myWord; }eepromWrite(int eepromAddress, String myWord)
İlk parametre olarak yazma işleminin hangi adresten itibaren yapılacağını bildirmemiz lazım. Aşağıdaki tanımlamalarda tamamen keyfi olarak 256 verdim. Bu adreslerin de bir limiti var tabii ki
– Arduino Uno: 1kb EEPROM storage. = 1024 Adres
– Arduino Mega: 4kb EEPROM storage. = 4096 AdresHer adres ise 0 ile 255 arasında bir sayı tutabiliyor.
Bu fonksiyonun yaptığı ilk iş ise parametre olarak verilen EEPROM adresine, parametre olarak gönderdiğimiz string verinin uzunluğunu yazmaktır.
Daha sonra adresleri bir bir arttırarak string verideki her bir harfin ASCII kodunu yazıyor ve string verimizdeki her bir karakter EEPROM’da tutuluyor.
Yazma işleminde 32 karakterlik yine keyfi bir limit var. Bunu değiştirmek için
char myChars[32];
satırını bulup, 32’yi değiştirmeniz gerekiyor.
String eepromRead(int eepromAddress)
Parametre olarak verilen adresteki bilgi içerdeki string verimizin uzunluğudur. Karakterlerin tutulduğu adresleri okurken kaç karakter okuduğumuzu bilmeliyiz ki, bizim verimiz bittikten sonra da EEPROM adreslerindeki alakasız verileri okumayalım.
Kaç karakter olduğunu okuduktan sonra da tüm veriyi return olarak dönüyoruz.Yani istediğimiz bir değişkene bu fonksiyonun dönderdiği sonucu verebiliriz.
Örnek :
String storedMessage = eepromRead(address); -
Raspberry Pi
Raspberry Pi’nin kendi sitesinden Raspbian Lite imajını indirip, SD karta yazıp ilk boot’u yaptığınız varsayılmaktadır.
Her şeye başlamadan önce Pi’miz için ilk ayarları yapmamız gerekiyor.
Bunun için hazırladığınız Rasbian Lite imajı ile Pi’yi açın.
login ekranı geldiğinde pi yazıp entera basın, password sorulduğunda da raspberry yazarak terminale giriş yapabilirsiniz.
Raspbian GNU/Linux 8 raspberrypi tty1 raspberrypi login : pi
Password : raspberryİlk ayarları yapacağımız aracımızın adı raspi-config. Çalıştırmak için
pi@raspberryipi:~ $Raspbian’ın IP adresini öğrenerek işe başlayabiliriz. Bunun için 2 yöntem mevcut. Birincisi Pi’ye monitör ve klavye bağlayarak açılış yaparız.login ekranı geldiğinde aşağıdaki şekilde giriş yapıyoruz.
pi@raspberrypi:~ $ sudo raspi-config 
Buradaki her seçeneğin anlamını internette bulabilirsiniz. Bizim hızlıca yapmamız gereken işlemler şöyle.
Expand File System : Bu madde üzerindeyken entera bastığınızda SD kartınızdaki boş alanın tamamı Raspbian dosya sistemine bağlanır.
Change User Password : Açılışta raspberry yazarak giriş yaptığınız şifreyi değiştirmenizi sağlar. Örneklerde hep raspberry şifresi kullanılacağı için, herhangi bir karışıklık yaşamamak adına hemen değiştirmeyin bu şifreyi.
Boot Options : Açılış tercihlerini seçebilirsiniz.
B1 Console : Kullanıcı adı ve şifre girerek konsol oturumu açar.
B2 Console Autologin : Sizin adınıza otomatik login yapar ve kullanıcı adı şifre girmekle uğraşmazsınız.
B3 Desktop : Masaüstü modu
B4 Desktop Autologin : Masaüstü modda otomatik kullanıcı girişi yapar.
*** Eğer Pi’yi masaüstü bilgisayar gibi değil de teknik olarak kullanacaksanız Console modlarından her hangi birini seçiniz.
Internationalisation Option : Yerelleştirme ayarlarıdır.
Change Locale : tr_TR paketleri eklenir. Fakat default locale olarak en_GB.UTF-8 seçilmiş olmalıdır.
Change Timezone : Asia altından Istanbul seçilir. (Siz farklı bir şehirde yaşıyor olabilirsiniz fakat saat sisteminde Istanbul tüm Türkiye saat sistemini temsil eder.
Change Keyboard Layout : Önce klavye tipi seçimi gelir. Standart klavyeler için Generic 105-key (Intl) PC seçimiyle devam edilebilir. Bir sonraki ekranda English (UK) klavye ayarları görünür ve alt kısmındaki Other seçilir, daha sonra Turkish ve son olarak da tekrar Turkish seçilir. Bundan sonra bir iki ayrıntı ayarı var klavyeyle ilgili. The default for the keyboard layout ve No compose key seçimleri ile bu adımlar atlanır ve klavye ayarlarımız tamamlanır.
Advanced Options :
SSH : Pi’mizi monitör ve klavye bağlamadan uzaktan terminal bağlantısı ile yönetmemizi sağlayan servistir. Etkinleştirmeliyiz.
SPI , I2C, GPIO Server : Elektronik iletişim için aktifleştirmemiz gerekiyor.
Tüm ayarları yapıp Finish dedikten sonra Pi yeniden başlayacak.
Sistemimizi Güncel Tutalım
İlk işimiz yüklü paketlerimizi güncellemek. Konsolda sırasıyla sudo apt-get update ve sudo apt-get upgrade yazıyoruz.
pi@raspberrypi:~ $ sudo apt-get update
Get:1 http://mirrordirector.raspbian.org jessie InRelease [14,9 kB]
Get:2 http://archive.raspberrypi.org jessie InRelease [13,2 kB]
…
…
Fetched 9.280 kB in 18s (489 kB/s)
Reading package lists… Done
pi@raspberrypi:~ $ sudo apt-get upgrade
Reading package lists… Done
Building dependency tree
Reading state information… Done
Calculating upgrade… Done
The following packages will be upgraded:
…
…
Do you want to continue? [Y/n] YBir süre yüklemeden sonra sistemdeki tüm kurulu paketlerimiz güncellenmiş olur. Bu güncellemelerden sonra Reboot önerilir.
pi@raspberrypi:~ $ sudo reboot Apache – PHP5 – MySQL kurulumu
pi@raspberrypi:~ $ sudo apt-get install apache2 apache2-utils pi@raspberrypi:~ $ sudo apt-get install libapache2-mod-php5 php5 php-pear php5-xcache pi@raspberrypi:~ $ sudo apt-get install php5-mysql pi@raspberrypi:~ $ sudo apt-get install mysql-server mysql-client mysql kurulumunda bir ekranda sizden mysql root kullanıcısıiçin bir şifre belirlemeniz istenecek. New password for the MySQL “root” user: için bir şifre belirleyip, devam edin. (Belirlediğiniz mysql root şifresini unutmayın…!)
Bu şifreyi şimdiki adımda kuracağımız phpmyadmin bize soracak.
pi@raspberrypi:~ $ sudo apt-get install phpmyadmin Kurulum esnasında bize hangi web server’ı kullandığımız sorulacak. Web server to reconfigure automatically: sorusuna yanıt olarak apache2 seçin ve devam edin…(Önce Space’e sonra Enter’a basın) İlerki adımlarda az önceki root şifremizi soracak. Her bir adımda şifremizi yazarak devam ediyoruz. Konsola düştüğümüzde kurulumlar tamamlanmış olacak.
Apache – PhpMyAdmin ayarları
/etc/apache2/apache2.conf dosyasını açıyoruz.
pi@raspberrypi:~ $ sudo nano /etc/apache2/apache2.conf PageDown tuşu ile dosyanın en sonuna inip aşağıdaki satırı ekliyoruz.
Include /etc/phpmyadmin/apache.conf Satırı ekledikten sonra Ctrl+O ile dosyayı kaydedip, Ctrl+X ile nano’dan çıkabiliriz.
Yeni bi şeyler kuruyorsak şart olmasa da Reboot candır.pi@raspberrypi:~ $ sudo reboot Apache Web Server Testi
Web serverımızın çalışıp çalışmadığını kontrol için Pi ile aynı ağdaki bilgisayarınızın web browserına Pi’nin IP adresini http://raspberrypi-ip-adresi/ şeklinde girdiğinizde aşağıdaki gibi bir sayfa ile karşılaşıyor olmanız lazım.
phpmyadmin için ise http://raspberrypi-ip-adresi/phpmyadmin adresini kullanabilirsiniz.
Python3 Kurulumu
pi@raspberrypi:~ $ sudo apt-get install python3 Kurulum sonrası Python3 testi yapmak için konsoldayken Python3 yazıp bakabiliriz.
pi@raspberrypi:~ $ python3
Python 3.4.2 (default, Oct 19 2014, 13:31:11)
[GCC 4.9.1] on linux
Type “help”, “copyright”, “credits” or “license” for more information.
>>>Ctrl+C veya Ctrl+Z basarak Python’dan çıkabiliriz.
Python3 – MySQL Kurulumu
pi@raspberrypi:~ $ sudo apt-get install python3-pip
pi@raspberrypi:~ $ sudo pip3 install pymysqlPHP – MySQL Testi
Örnek senaryomuzda Pi’nin web arayüzü vasıtasıyla kullanıcıyla etkileşime geçip 2 adet metin girmesini isteyeceğiz. Daha sonra bu girilen metinleri MySQL veritabanına yazacağız.
Girdiğimiz metinleri okumayı ve I2C’den diğer cihazlara göndermeyi ise Python3 ile yapacağız.
İlk iş olarak MySQL veritabanımızı oluşturalım.
pi@raspberrypi:~ $ mysql -u root -p
Enter password: mysql-root-şifreniz
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 43
Server version: 5.5.52-0+deb8u1 (Raspbian)Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.mysql> CREATE DATABASE pibase;
Query OK, 1 row affected (0.00 sec)
mysql> USE pibase;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changedmysql> CREATE TABLE `messages` ( -> `id` int(11) NOT NULL AUTO_INCREMENT, -> `text_one` varchar(16), -> `text_two` varchar(16), -> PRIMARY KEY (`id`) -> ); Query OK, 0 rows affected (2.77 sec) mysql>Default PHP klasörümüz; /var/www/html/ bu klasöre girelim ve index.php isimli bir dosya oluşturalım.
pi@raspberrypi:~ $ cd /var/www/html/
pi@raspberrypi:/var/www/html/ $ sudo nano index.phpindex.php dosyamızın içeriğini aşağıdaki gibi oluşturalım.
<!DOCTYPE html> <html> <body> <form action="action_page.php"> Metin 1<br> <input type="text" name="text1" > <br><br> Metin 2<br> <input type="text" name="text2" > <br><br> <input type="submit" value="Gönder"> </form> <p>Veritabanına işlenmesini istediğiniz metinleri yazıp <strong>Gönder</strong> butonuna basınız.</p> </body> </html>Aynı klasörde bir de action_page.php isimli dosya oluşturalım.
pi@raspberrypi:/var/www/html/ $ sudo nano action_page.php action_page.php dosyamızın içeriği de şu şekilde olacak. Fakat dosyayı oluştururken $password = “mysql-root-şifreniz“; satırını sizin şifrenize göre düzenlemeyi unutmayın.
<?php $text1 = $_POST["text1"]; $text2 = $_POST["text2"]; $servername = "localhost"; $username = "root"; $password = "mysql-root-şifreniz"; $dbname = "pibase"; $conn = new mysqli($servername, $username, $password, $dbname); if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } $sql = "INSERT INTO messages (text_one, text_two) VALUES ('$text1', '$text2')"; if ($conn->query($sql) === TRUE) { echo "New record created successfully"; } else { echo "Error: " . $sql . "<br>" . $conn->error; } $conn->close(); ?> <br> <a href="index.php">Go back to index</a>Şimdi web browserımızda http://raspberrypi-ip-adresi/index.php yazarak kodumuzu test edebiliriz.
Örnek olarak birinci kutuya Merhaba, ikinci kutuya da Pi yazıp Gönder‘e basalım.
Eğer buraya kadar olan kısımların tamamı doğru ise aşağıdaki gibi bir mesajla karşılaşmamız lazım.Pekala, kontrol edelim, gerçekten veritabanına yazmış mı mesaj kutularımızı?
pi@raspberrypi:~ $ mysql -u root -p
Enter password: mysql-root-şifreniz
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 43
Server version: 5.5.52-0+deb8u1 (Raspbian)Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.mysql> USE pibase;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changedmysql> SELECT * FROM `messages`; +----+----------+----------+ | id | text_one | text_two | +----+----------+----------+ | 1 | Merhaba | Pi | +----+----------+----------+ 1 row in set (0.00 sec) mysql>
Şu ana kadar herhangi bir sorunla karşılaşmadıysanız, Apache – PHP – MySQL üçlememiz gayet güzel çalışıyor.
Python3 – MySQL Testi
Python çalışmalarımız için /home/pi klasörünün içinde Python isimli bir klasör oluşturalım.
pi@raspberrypi:~ $ mkdir /home/pi/Python
pi@raspberrypi:~ $ cd /home/pi/Python
pi@raspberrypi:/home/pi/Python/ $readdb.py isimli bir dosya oluşturalım.
pi@raspberrypi:/home/pi/Python/ $ nano readdb.py Dosyamızın içeriğini aşağıdaki gibi oluşturalım. Fakat tabların kaymamasına özellikle dikkat edin.
#!/usr/bin/env python3 from __future__ import print_function import pymysql db = pymysql.connect(host='localhost', port=3306, user='root', passwd='5632', db='pibase') cursor = db.cursor() try: cursor.execute("SELECT text_one FROM messages ORDER by id DESC LIMIT 1") results = cursor.fetchall() for row in results: message = row[0] print(message) cursor.execute("SELECT text_two FROM messages ORDER by id DESC LIMIT 1") results = cursor.fetchall() for row in results: message = row[0] print(message) except: print ("Error: unable to fecth data") cursor.close() db.close()Kodumuzu test edelim. Bakalım neler olacak?
pi@raspberrypi:/home/pi/Python/ $ python3 readdb.py
Merhaba
Pi
pi@raspberrypi:/home/pi/Python/ $Her şey tam olması gerektiği gibi. Artık PHP ile veri okuyup, MySQL veritabanına yazabiliyor, yazdığımız veriyi Python ile okuyabiliyoruz. Şimdi bir sonraki aşamaya geçebiliriz.
Arduino ve Pi – I2C Kurulumu
I2C protokolü ile Raspberry Pi’yi bir Arduino’ya bağlayacağız ve veritabanında okuduğumuz mesajı Arduino’ya gönderip, LCD ekranda görüntüleyeceğiz. Bunun için önce Arduino ve LCD bağlantısını aşağıdaki gibi yapalım.
Arduino’nun LiquidCrystal kütüphanesindeki HelloWorld örneği ile LCD ekranda çıktı alabiliyor olmanız gerekiyor. Bunun için Arduino Hello World linkinden faydalanabilirsiniz.
I2C Kurulumu
raspi-config ayarlarında I2C’yi etkinleştirmiş olmamız gerekiyor. Aşağıdaki adımları uygulayarak i2c kurulumunu tamamlayabilirsiniz.
pi@raspberrypi:~ $ sudo nano /etc/modules bu dosyada i2c-dev satırının olduğundan emin olun. Eğer yok ise ekleyin. Başında # işareti varsa da silin. Ve dosyayı kaydedin.
# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with “#” are ignored.i2c-devEğer modüllerde bir değişiklik yaptıysanız; “Reboot candır”
Şimdi i2c araçları ve Python bağlantısını sistemimize kuralım.
pi@raspberrypi:~ $ sudo apt-get install python-smbus i2c-tools Kurulum tamamlandıktan sonra aşağıdaki komutu yazarak aşağıdaki gibi bir çıktı almış olmanız gerekiyor.
pi@raspberrypi:~ $ sudo i2cdetect -y 1
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: — — — — — — — — — — — — —
10: — — — — — — — — — — — — — — — —
20: — — — — — — — — — — — — — — — —
30: — — — — — — — — — — — — — — — —
40: — — — — — — — — — — — — — — — —
50: — — — — — — — — — — — — — — — —
60: — — — — — — — — — — — — — — — —
70: — — — — — — — —Son olarak pi kullanıcısını i2c grubuna ekleylim.
pi@raspberrypi:~ $ sudo adduser pi i2c Ne diyorduk? Reboot candır 🙂
Arduino ve Pi – I2C Bağlantı Devresi ve Programlar
[mks_pullquote align=”center” width=”600″ size=”18″ bg_color=”#eeeefb” txt_color=”#000000″]Ne çok şey yazdım ama hala bitmedi. Esas ilginç olansa bunu birisi okuyacak mı bilmiyorum. Ama en azından kendime rehber niteliğinde güzel notlar oldu…[/mks_pullquote]
-
ninite : Reklamsız ve Hızlı Program Kurmak
Windows işletim sistemli bilgisayarınızda yeni bir programa ihtiyacınız olduğunda; adını google’dan aratıp, saçma sapan sitelere tutulmuyorsanız en iyi ihtimalle üreticisinin sitesinden indirip, binbir türlü reklam tuzağına kapılmadan programı kurup, kullanmak çok uğraştırıcı ve can sıkıcı olabiliyor.
İşte ninite.com da bu sıkıntıya çözüm olan bir web-uygulaması. Siteye girip en aşağıdaki kategorilerden istediğiniz programları seçip, tek bir yükleme dosyası alarak, tek tek indirip, kurma derdi olmadan (üstelik tüm reklam yazılımlarından arındırılmış halde) keyfini sürebilirsiniz.
ninite.com bir çok kategoride işinize yarayabilecek, en çok tercih edilen ücretsiz yazılımları kapsar.
Program listesi şu şekilde :
-
Web Browsers
- Fast Browser by Google 53.0.2785.116
- Alternative Browser 39.0.2256.71
- Extensible Browser 48.0.2
-
Messaging
- Internet Telephone 7.27.0.101
- Multi-IM Client 2.11.0
- Email Reader by Mozilla 45.3.0
- Trillian IM 5.6.0.5
- AOL Instant Messenger 7.5.14.8
-
Media
- Music/Media Manager 12.5.1.21
- Great Video Player 2.2.4
- Video Player 4.1.2.2
- Music Player 4.10.1831
- Music Player 1.3.11
- Music Player 5.6.6.3516
- Music Manager & Player 3.0.6067.36587
- Audio Editor 2.1.2
- Video decoders plus Media Player Classic 12.3.5
- Video Player 2.3.6.5260
- Online Music Service 1.0.36.124
- Video decoders plus MPC 2015.10.19
- Music Organizer 4.1.13.1801
-
Runtimes
- Java Runtime Environment (JRE) 8u101-b13
- Microsoft .NET 4.6.01590
- Microsoft Silverlight 5.1.50709.0
- Adobe Air 23.0.0.257
- Shockwave Player 12.2.4.194
-
Imaging
- Image Editor 4.12.6099.39434 (requires .NET 4.5)
- Open Source Image Editor 2.8.18
- Image Viewer 4.42
- Image Viewer 2.36
- Vector Graphics Editor 0.91
- FastStone Image Viewer 5.9
- Screenshot Tool 1.2.8.12
- Screenshot Uploader
-
Documents
- Alternative PDF Reader 8.0.2.805
- Office Suite 5.2.1 (JRE recommended)
- Lightweight PDF Reader 3.1.2
- Print Documents as PDF Files 3.1
- Print Documents as PDF Files 2.3.2.6
- Office Suite 4.1.2 (JRE recommended)
-
Security
- Great Antivirus by Microsoft 4.9.218
- Avast Free Antivirus 12.3.2280
- AVG Free Antivirus 2015 16.111.7797
- Malware Remover 2.2.1.1043
- Antivirus Free Trial 11.12.945.9202
- Spyware Remover 2.4.40
- Avira Free Antivirus 15.0.20.59
- SUPERAntiSpyware Free 6.0.1224
-
File Sharing
- Free Bittorrent Client 3.3.7
- File Sharing Client 0.50a
-
Online Storage
- Great Online Backup/File Sync 10.4.25
- Online Backup/File Sync 1.31.2873.2758
- MozyHome Online Backup 2.28.2.432
- Online File Sync by Microsoft 17.3.6517.0809
- Online Backup/File Sync 3.7.3.3.145024
- File Synchronization 1.4.111
-
Other
- Online Notes 6.2.4.3244
- Online Atlas by Google 7.1.7.2600
- App Store for Games
- Password Manager 2.34
- Local File Search Engine 1.3.4.686
- Screen Reader 2016.3
-
Utilities
- Remote Access Tool 11.0.65452.0
- Disc Burner 2.5.8.0
- Great Disk Defrag 7.0.0.0
- Free Remote PC Access 5.3.2.19179
- Better File Copy 2.3
- Disc Burner 4.5.7.6321 (requires .NET)
- App Uninstaller/Reverse Ninite 2.0.0
- Hotkey Launcher 2.5
- Directory Statistics 1.1.2.80
- System Utilities 5.59.0.80
- Disc Burner 0.53.0
- Classic Shell Win8 Start Menu 4.3.0
-
Compression
- Great Compression App 16.02
- File Compression Tool 6.1.1
- Another Compression Tool 5.40 (Trial)
-
Developer Tools
- Great Programming Language 2.7.12
- FTP Client 3.21.0
- Programmer’s Editor 6.9.2
- Java Development Kit 8u101-b13
- Java Development Kit 8u101-b13
- SCP Client 5.9.2
- SSH client 0.67
- Compare and Merge Files 2.14.0
- IDE for Java 4.6 (requires Java)
-
-
Eski Sevgiliye Set [DJ Tutan]
[soundcloud]https://soundcloud.com/dj-tutan/eski-sevgililere-sarkilar-seti[/soundcloud]
-
Pitfall! [Atari 2600]
Pitfall, 80’li yılların başında Activision firmasında bilgisayar programcısı olarak çalışan David Crane tarafından Atari 2600 için yazılmış oyundur. Atari 2600 altında 4 milyondan fazla kopya satmıştır.
David Crane Pitfall’un nasıl ortaya çıktığıyla alakalı zamanında şu kelamı etmiştir;
“bir gün masa başında, boş kağıtlara bakıyordum. birden kağıdın tam ortasına, bir doğru (çizgi) çizdim. ve dedim ki “evet, şimdi koşan küçük bir adamım oldu. ona bir yol yapayım (iki doğru daha çizerek). nerede bu yol? tabii ki ormanın içinde (bir kaç ağaç çizer). neden koşuyor bu adam? hazine toplamak ve düşmanlardan kaçmak için… ve böylece pitfall! doğmuş oldu. bu düşünce 10 dakika içinde şekillenmişti. yaklaşık 1000 saatlik yazılım sürecinden sonra ise artık oyun hazırdı.”
Joystick control
Player 1 Player 2 Joystick ↑↓←→ TGFH Fire Spacebar A Reset / Start F12 Select F11 Pause Alt+P Save State CTRL + 1…0 Load State Alt + 1…0 Full Screen Alt + Enter -
River Raid [Atari 2600]
River Raid, 1982 yılında Activision firması tarafından ilk olarak Atari 2600 konsol sistemi için üretilmiş bir shoot ’em up oyunudur. Oyun daha sonraları sırasıyla Atari 5200, Atari 8-bit, Commodore 64, ColecoVision, IBM PCjr, Intellivision, ZX Spectrum ve MSX makinelerine de uyarlanmıştır.
River Raid kayan tipte bir shooter oyunudur. Oyunda oyuncu tarafından kontrol edilen bir uçak yukarıya doğru oyuncunun istemi dışında ilerlerken oyuncu uçağı ana olarak 2 yöne hareket ettirerek karşısına çıkan düşmanları yok etmeye çalışır. Ayrıca uçağın hızı arttırılarak yukarı doğru manevra yapmak da mümkündür. Yol üzerinde beliren benzin istasyonlarında uçağın tankı doldurulabilir. Oyunun bölümleri arasında yol üzerinde karşılaşılan köprüler bulunmaktadır.
River Raid oyunun ana tasarımcısı Carol Shaw adlı bir hanımefendidir ve kendisi dünyanın ilk kadın oyun tasarımcısıdır.
Joystick control
Player 1 Player 2 Joystick ↑↓←→ TGFH Fire Spacebar A Reset / Start F12 Select F11 Pause Alt+P Save State CTRL + 1…0 Load State Alt + 1…0 Full Screen Alt + Enter








