4 Ekim 2020 Pazar

Covid-19 Mutasyonları ve Son

    Covid-19 mutasyona uğrayınca bitecek diye bir şeyler duyuyorsunuz ama anlamıyorsanız. Bu işin nasıl olduğunu size anlatacam.Virusumuz çıkalı nerden bakarsanız bakın bir kaç ay sonra 1. yaş günü tamamlanacak. O da bir mutasyonun sonuncunda insana bulaşabilecek bir türe dönüştü. İnsana bulaştığı günden beri de yine aynı hızla mutasyona uğruyor. Kimi mutasyonlar bulaşıcığuını artırıyor.Kimi mutasyonlarda ölümcülüğünü artırabiliyor. Yada tam tersine azlmasına ve hata yok olmasına sebep bile olabiliyor. Biz şimdilik yok olmasını istemiyoruz.Komik ama bir sebebi var bunun. 

    Virus ne kadar az öldürücü ama bir o kadarda bulaşıcı kalması istediğimiz virüs tipi olmalı. Diyelim ki virüsün ilk gününden bugüne tam 29 farklı kardeşi oluştu ve bunların 2 farklı değeri ölümcüllüğü ve bulaşıcığı farklı değere sahip oldu. 

    Misal C-19-A tipi ölümcülüğü %5 bulaşıcığı %90 olsun. C-19-Z tipide %0.5 ölümcül %20 bulaşıcı olsun. Yani A tipi viris en tehlikeli olurken B tipide en az tehlikeli olanı olacaktır. Bizim aradığımız türlerse muhtemelen orta sıradaki türler olacaktır. Örneğin C-19-M ölümcülük %1 bulaşıcılık %70. İşte bu tür ne kadar çok bağışıklık sistemi ortalama üstü kişiye bulaşırsa o kadar çok kişi bu hastalığı yener. Bu mikrobu alan hasta daha ölümcül olanla karşılaşsa dahi yeniden enfekte olur ama virusu tanıdığı için onu da yenmeyi kolaylıkla becerir. Bu yüzden ikinci kere korona olanlar tam olarak bunu yaşar. Virüse aşı bulmak yada düşük düzeyli bi C-19la karşılaşmak arasında bu yüzdende bir fark yoktur. Her ikisinde de vucuda yenebileceği düzeyde virüs verilmiş olur.

    Dünyada en büyük can kaybına sebep olan ispanyol gribinin bile 2 yılda geçtiğini biliyoruz.Dünya üzerinde bir çok insan bu mikropla tanıştığı için bugün etkisi eskisi kadar olmuyor.Bu virus bittiğinde de aynı şey olacaktır. Onunda tahmini bitiş süresi malesef 2 yıl.

3 Ekim 2020 Cumartesi

Türk Futbolu Düzelir Mi?

1- Türk Futbolunda Sorun Nedir? 
C : Sorun yok sorunlar var. Ama en büyük sorun insan kalitesizliği. Haliyle de kolay öğrenebilen spor eğitmeni ve sporcu yetiştirememek. Bunun sebebi de ülkenin eğitim sistemi baştan sonuna kadar yanlış. Bu sistem düzelmeden de sporun kendi içindeki sorunları kolayca çözülemez.

2- Eskiden nasıl başarıyorduk ? Aynı kalitesizlik yok muydu? 
C : Eskiden de başaramıyorduk. Başarıların kısa vadeli olması bu yüzden. Günlük başarılarla ancak avunuruz. 20 senede kaç kere Sampiyonlar liginde gruptan çıkılabildik? UEFA da kaç takımımız çeyrek final gördü. Hedeflerini tuturabilen kaç takımız var her sene?

3-Peki hiç mi bir çözüm yok? 
C : Ülkenin eğitim sistemini çözebileceğimizi zanetmiyorum. Sporcuların daha kaliteli eğitim alabilmeleri için kulüpler ve federasyon elini taşın altına sokmalı. Bunun içinde bütçe ayırmalı.Bu bütçenin büyük bölümü altyapı hocalarının yetişmesine harcanmalı.Altyapı hocaların kalitesi ne kadar üst düzey olursa yetişecek futbolcularınızda o kadar kaliteli olur.Bu yüzden altyapıya hoca olmak A takıma hoca olmaktan daha cazip hale getirilmeli. Bu da kapitalist dünyada maddi doyumla olur.Yılda A takıma 3 futbolcu veren altyapı antrenorlerine futbolcu başına prim verilmeli. Bunun dışında her kulubun milli eğitime bağlı haftada 5 gün eğitim veren bir futbol okulu(ilk, orta, lise) olmalı. Bu okula ilkokuldan itibaren seçmeyle girilmeli.Ortaokulda yatılı okul halinde devam etmeli. Böylece şehir dışından gelen sporcular yeteneklerine göre sınıflara konabilir. Futbola devam edemeyecek olanlarsa elenmeli.Paralelindeki bir okula geçebilmeli. Bu okullar yıl içinde önce bölgesel ligde kendi aralarında yıl sonuda play off da müsabaklar oynamalılar.Burada amaç şampiyonluk asla olmamalı. Futbolcuların akranlarıyla aralarındaki farkları görmeleri sağlanmalı. Mümkünse yazları da yurtdışı turnuvalarına katılmalılar. 

4- Bu maliyeti yüksek bir proje değil mi? 
C: Hayır değil. Milyon Eurolara konuşulduğu bir lig için belki de hiç birşey. 

5- Avrupa'da Nasıl Yapıyor bu işi? 
C: Almanya yı örnek verebilirim. 2002 dünya kupasını hatırlıyorsunuz. O sene brezilya karşında ezilerek 2. oldu Almanya. Bu onlar için büyük bir hayal kırıklığıydı.Hatta "2. olduk ama asla 2.liği hak etmedik" dediler.İşte o sene alman federesyonu tam 750 milyon euro ayırdı bu işe. Önce hocaları eğitimden geçirdiler. Bütün altyapı hocalarını. Sonra eğitim sistemini. Orada futbolcu olacak olanlar aynı zamanda mesleki eğitim alır. Bu da olurda fikir değiştirir kalıcı bi sakatlık yaşarsa bir başka mesleğe devam etmesini sağlar.Yani işin sırrı eğitimde.Jurgen Klopp un bir altyapı hocası olduğunu biliyorsunuz değil mi? 

6-Bizim için ne kadar doğru bir örnek Almanya?
C: Almanyayı örnek alamıyorsan Altınordu'yu örnek alın. 10 tane altınordu olsa şu coğrafya da ne kadar şey değişir. 

7-Kulüpler peki neden örnek almıyor? 
C: Hepsi günlük başarılarla yaşıyor.Baştaki başkan da aynı trubundeki seyircide.Futbolu seven malesef yok herkes rekabeti seviyor. Başarı yoksa trubune gelmiyor. Ama bu böyle gitmez. Her kulup iflasın eşiğinde. Boğazına kadar borca batmış durumda. Bu devirden sonra uçakla ancak 35 indeki değil 40 ina gelen yıldızlara imza attırlar.İstiyorlarla Pele ve Maradona da hazır onlar için. Bir imzaya bakar hersey. 

8-Son sözünüz var mı? 
C: İyi futbol kaliteli oyuncularla oynanır.Kaliteli ayaklara sahip olmanında 2 yolu vardır. 
1. yol satın almak 
2. yol yetiştirmek. 

Real Madrid olmanın hayalini bırakın bu butçelere gelmemiz imkansız ama 80 milyondan çok kaliteli 22 ayak çıkarmak zor değil. Bunun içinde irade ve ciddiyet yeterli.

21 Temmuz 2019 Pazar

Proje 1 : El açma kapama eldiveni

bluetooth kontrollu el açma kapama eldiveni
4 tensli 2 uste 2 alta olmak uzere el açma ve kapama için eldiven sonraki aşama parmak kontrolu link

25 Mayıs 2019 Cumartesi

Airties 5760 Auto Restart Code

       

from selenium import webdriver
from selenium.common.exceptions import NoSuchElementException
from selenium.webdriver.firefox.options import Options
import time, traceback

def get_html(link):
    service_log_path = './ghostdriver.log'
    options = Options()
    options.add_argument('-headless')
    driver = webdriver.Firefox(executable_path="./geckodriver/geckodriver", firefox_options=options)
    driver.get(link)
    try:
        time.sleep(1)
        driver.find_element_by_id("uiPostPassword").send_keys("XXXXXXXXX")
        driver.find_element_by_id("__ML_ok").click()
        time.sleep(1)
        driver.get("http://192.168.2.1/tools/tools.html")
        time.sleep(1)
        driver.find_element_by_id("__ML_restart_button").click()
        time.sleep(1)
        driver.switch_to_alert().accept()
        print "airties success restarting"
    except NoSuchElementException:
        var = traceback.format_exc()
        print var
    
get_html("http://192.168.2.1/loginmain.html")

9 Mayıs 2019 Perşembe

Kadıköy Engelli Merkezi Düzayak Olmalı

Merhaba

    Dün sabah ilk defa Kadıköy engelli merkezine gitmeye karar verdik. Liftli aracımla koşuyolunun yokuşlu sokaklarına çıktıktan sonra dar ve ince bir sokağa girdik. Araba park edecek yer bulamayınca engelli merkezin önündeki trafik park yapılmazları kaldırıp oraya yanaşmayı denedik bu sefer görevliler itiraz edince bakıp çıkacaz demek zorunda kaldık. Neyse engelli merkezinin 2 farklı girişi var.Bunu fark ettim.Alt katta olması sebebi ile uzunca bi rampa yapılmış ve bir de az ilerde  özel asansör mevcut. Tabii arabaların arasından kaldırıma çıkılabilirse içeri girilebiliyor. Bunlar sonradan düşünülüp yapıldığı için fiziksel engeli olanlar için güzel şeyler.Ama kadıköy belediyesi engelli merkezi için iyi şeyler değil çünkü tamamen yanlış bir yere konumlandırılmış bir merkez burası.Fiziksel engelli insanlar yokuşlu yerleri sevmez.Ne kendi arabalarıyla geldiğinde ne de tek başına geldiklerinde yakuşlu bir yerde yardım almadan asla oraya ulaşamaz.Bu yüzden bu engelli merkezinin konumunun daha düz ayak, rahatça park edilebilen otobusle, trenle, minibusle tek başına kimseden yardım almadan ulaşılan bir yerde olması gerekir. Kadıköy'de bu kriterlere uygun bir çok mekan olduğuna eminim başta büyük parklarımızın içi bu tip merkezler için fazlasıyla uygun.Lütfen bu konuya önem verip engelli merkezini kadıköy içinde uygun bir yere taşıyın.Çünkü Kadıköy her yönünüyle örnek bir belediyedir diğer belediyeler için.Kadıköy'ü örnek alacaklar için önlerine herşeyi doğru yapan bir belediye örneği koyalım.

İyi Günler

Fiziksel Engelli Yurttaş
Selahaddin Yıldırım

10 Nisan 2019 Çarşamba

Alber E-motion M12 Battery Installation

There is a grey label which is fixed to battery pack, on it. If you push it up, there are screws.They need soldering for serial connection.



5 Nisan 2019 Cuma

Android Bluetooth Connection To HC-05

Sending Data to HC-05


 package com.example.a6dofbt;  
 import android.app.Activity;  
 import android.app.ProgressDialog;  
 import android.bluetooth.BluetoothAdapter;  
 import android.bluetooth.BluetoothDevice;  
 import android.bluetooth.BluetoothSocket;  
 import android.content.Intent;  
 import android.os.AsyncTask;  
 import android.os.Bundle;  
 import android.util.Log;  
 import android.view.View;  
 import android.widget.Button;  
 import android.widget.EditText;  
 import android.widget.SeekBar;  
 import android.widget.SeekBar.OnSeekBarChangeListener;  
 import android.widget.TextView;  
 import android.widget.Toast;  
 import java.io.IOException;  
 import java.io.OutputStream;  
 import java.util.UUID;  
 public class dof extends Activity {  
   private OutputStream outStream = null;  
   private BluetoothDevice device;  
   private TextView title;  
   private SeekBar clamp ;  
   private SeekBar base;  
   private SeekBar leg;  
   private SeekBar waist;  
   private SeekBar head;  
   private SeekBar chest;  
   private EditText motorno;  
   private Button add;  
   private Button subtract;  
   private static final UUID MY_UUID = UUID.fromString("00001101-0000-1000-8000-00805F9B34FB");  
   private static String address = "00:00:00:00:00:00";  
   private BluetoothAdapter btAdapter = null;  
   private BluetoothSocket btSocket = null;  
   private static final int REQUEST_ENABLE_BT = 1;  
   private boolean isBtConnected = false;  
   private ProgressDialog dialog;  
   @Override  
   protected void onCreate(Bundle savedInstanceState) {  
     super.onCreate(savedInstanceState);  
     setContentView(R.layout.dof);  
     MotorBar clamp = new MotorBar(0,200, "Clamp");  
     MotorBar head = new MotorBar(1,200, "Head");  
     MotorBar chest = new MotorBar(2,200, "Chest");  
     MotorBar waist = new MotorBar(3,200, "Waist");  
     MotorBar leg = new MotorBar(4,200, "Leg");  
     MotorBar base = new MotorBar(5,200, "Base");  
     clamp.bar = (SeekBar) findViewById(R.id.seekBarOne);  
     head.bar = (SeekBar) findViewById(R.id.seekBarTwo);  
     chest.bar = (SeekBar) findViewById(R.id.seekBarThree);  
     waist.bar = (SeekBar) findViewById(R.id.seekBarFour);  
     leg.bar = (SeekBar) findViewById(R.id.seekBarFive);  
     base.bar = (SeekBar) findViewById(R.id.seekBarSix);  
     clamp.text = (TextView) findViewById(R.id.textOne);  
     head.text = (TextView) findViewById(R.id.textTwo);  
     chest.text = (TextView) findViewById(R.id.textThree);  
     waist.text = (TextView) findViewById(R.id.textFour);  
     leg.text = (TextView) findViewById(R.id.textFive);  
     base.text = (TextView) findViewById(R.id.textSix);  
     title = (TextView) findViewById(R.id.title);  
     try {  
       Bundle b = this.getIntent().getExtras();  
       address = (String) b.get("address");  
       title.setText(address);  
       /*  
       btAdapter = BluetoothAdapter.getDefaultAdapter();  
       device = btAdapter.getRemoteDevice(address);  
       btSocket = device.createInsecureRfcommSocketToServiceRecord(MY_UUID);  
       BluetoothAdapter.getDefaultAdapter().cancelDiscovery();  
       btSocket.connect();  
       outStream = btSocket.getOutputStream();  
       outStream.write("w".getBytes());  
       */  
       new BTbaglan().execute();  
     } catch(Exception e) {  
       errorExit("Error", e.getLocalizedMessage());  
     }  
     //checkBTState();  
     add = (Button) findViewById(R.id.add);  
     subtract = (Button) findViewById(R.id.subtract);  
     motorno = (EditText) findViewById(R.id.motorno);  
     motorno.setText("0");  
     add.setOnClickListener(new View.OnClickListener() {  
       @Override  
       public void onClick(View v) {  
         try {  
           String mno = String.valueOf(motorno.getText());  
           outStream.write(mno.getBytes());  
           outStream.flush();  
           Thread.sleep(30);  
           outStream.write("w".getBytes());  
           outStream.flush();  
         } catch(Exception e) {  
           errorExit("Final Error", "no write on stream "+e.getLocalizedMessage());  
         }  
       }  
     });  
     subtract.setOnClickListener(new View.OnClickListener() {  
       @Override  
       public void onClick(View v) {  
         try {  
           String mno = String.valueOf(motorno.getText());  
           outStream.write(mno.getBytes());  
           outStream.flush();  
           Thread.sleep(30);  
           outStream.write("e".getBytes());  
           outStream.flush();  
         } catch(Exception e) {  
           errorExit("Final Error", "no write on stream for button"+e.getLocalizedMessage());  
         }  
       }  
     });  
     int maxV = 500;  
     MotorBar[] motors = {clamp, head, chest, waist, leg, base};  
     for(int i=0; i < motors.length; i++) {  
       final MotorBar m = motors[i];  
       m.bar.setMax(maxV);  
       m.bar.setProgress(motors[i].value);  
       m.bar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {  
         int progressValue = 0;  
         public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {  
           progressValue = progress;  
         }  
         @Override  
         public void onStartTrackingTouch(SeekBar seekBar) { }  
         @Override  
         public void onStopTrackingTouch(SeekBar seekBar) {  
           seekBar.setProgress(progressValue);  
           m.value = progressValue + 50;  
           m.text.setText(m.name +": "+String.valueOf(m.value));  
           try {  
             String mno = String.valueOf(m.no);  
             outStream.write(mno.getBytes());  
             outStream.flush();  
             Thread.sleep(500);  
             String mv = String.valueOf(m.value);  
             outStream.write(mv.getBytes());  
             outStream.flush();  
           } catch(Exception e) {  
             errorExit("Fatal Error", "no write on stream for bar "+e.getLocalizedMessage());  
           }  
         }  
       });  
     }  
   }  
   private void errorExit(String title, String message){  
     Toast msg = Toast.makeText(getBaseContext(),  
         title + " - " + message, Toast.LENGTH_SHORT);  
     msg.show();  
     finish();  
   }  
 /*  
   @Override  
   public void onPause() {  
     super.onPause();  
     if (outStream != null) {  
       try {  
         outStream.flush();  
       } catch (IOException e) {  
         errorExit("Fatal Error", "In onPause() and failed to flush output stream: " + e.getMessage() + ".");  
       }  
     }  
     try   {  
       btSocket.close();  
     } catch (IOException e2) {  
       errorExit("Fatal Error", "In onPause() and failed to close socket." + e2.getMessage() + ".");  
     }  
   }  
   private void checkBTState() {  
     if(btAdapter==null) {  
       errorExit("Fatal Error", "Bluetooth Not supported. Aborting.");  
     } else {  
       if (!btAdapter.isEnabled()) {  
         //Prompt user to turn on Bluetooth  
         Intent enableBtIntent = new Intent(btAdapter.ACTION_REQUEST_ENABLE);  
         startActivityForResult(enableBtIntent, REQUEST_ENABLE_BT);  
       }  
     }  
   }  
   @Override  
   public void onBackPressed() {  
     super.onBackPressed();  
     Disconnect();  
   }  
   private void Disconnect() {  
     if(btSocket != null) {  
       try{  
         btSocket.close();  
       } catch (Exception e) {  
       }  
     }  
     finish();  
   }  
   @Override  
   public void onResume() {  
     super.onResume();  
     try {  
       btSocket = device.createRfcommSocketToServiceRecord(MY_UUID);  
     } catch (IOException e) {  
       errorExit("Fatal Error", "In onResume() and socket create failed: " + e.getMessage() + ".");  
     }  
     btAdapter.cancelDiscovery();  
     try {  
       btSocket.connect();  
     } catch (IOException e) {  
       try {  
         btSocket.close();  
       } catch (IOException e2) {  
         errorExit("Fatal Error", "In onResume() and unable to close socket during connection failure" + e2.getMessage() + ".");  
       }  
     }  
     try {  
       outStream = btSocket.getOutputStream();  
     } catch (IOException e) {  
       errorExit("Fatal Error", "In onResume() and output stream creation failed:" + e.getMessage() + ".");  
     }  
   }  
   private void setMotor(MotorBar motor) {  
     String no = String.valueOf(motor.no);  
     String v = String.valueOf(motor.value);  
     sendData(no);  
     try {  
       Thread.sleep(20);  
     } catch (InterruptedException e) {  
       e.printStackTrace();  
     }  
     sendData(v);  
   }  
   private void sendData(String message) {  
     byte[] msgBuffer = message.getBytes();  
     try {  
       if(!btSocket.isConnected()) {  
         btSocket = device.createInsecureRfcommSocketToServiceRecord(MY_UUID);  
         BluetoothAdapter.getDefaultAdapter().cancelDiscovery();  
         btSocket.connect();  
       }  
       outStream.write(msgBuffer);  
     } catch (IOException e) {  
       String msg = "Sending data failed" + e.getMessage();  
       errorExit("Fatal error", msg);  
     }  
   }  
   @Override  
   protected void onDestroy() {  
     super.onDestroy();  
   }  
 */  
   public class BTbaglan extends AsyncTask<Void, Void, Void> {  
     private boolean ConnectSuccess = true;  
     @Override  
     protected void onPreExecute() {  
       super.onPreExecute();  
       try {  
         dialog = ProgressDialog.show(dof.this, "Baglanıyor...", "Lütfen Bekleyin");  
       } catch(Exception e) {  
         errorExit2("Fatal error", e.getLocalizedMessage());  
       }  
     }  
     @Override  
     protected Void doInBackground(Void... devices) {  
       try {  
         if (btSocket == null || !isBtConnected) {  
           btAdapter = BluetoothAdapter.getDefaultAdapter();  
           BluetoothDevice device = btAdapter.getRemoteDevice(address);  
           btSocket = device.createInsecureRfcommSocketToServiceRecord(MY_UUID);  
           BluetoothAdapter.getDefaultAdapter().cancelDiscovery();  
           btSocket.connect();  
           outStream = btSocket.getOutputStream();  
         }  
       } catch (IOException e) {  
         ConnectSuccess = false;  
       } catch(Exception e) {  
         errorExit2("Fatal error", e.getLocalizedMessage());  
       }  
       return null;  
     }  
     @Override  
     protected void onPostExecute(Void result) {  
       super.onPostExecute(result);  
       if (!ConnectSuccess) {  
         // msg("Baglantı Hatası, Lütfen Tekrar Deneyin");  
         Toast.makeText(getApplicationContext(), "Bağlantı Hatası Tekrar Deneyin", Toast.LENGTH_SHORT).show();  
         finish();  
       } else {  
         //  msg("Baglantı Basarılı");  
         Toast.makeText(getApplicationContext(), "Bağlantı Başarılı", Toast.LENGTH_SHORT).show();  
         isBtConnected = true;  
       }  
       dialog.dismiss();  
     }  
     private void errorExit2(String title, String message){  
       Toast msg = Toast.makeText(getBaseContext(),  
           title + " - " + message, Toast.LENGTH_SHORT);  
       msg.show();  
     }  
   }  
 }  

15 Mart 2019 Cuma

HC-05 python connection

       

import bluetooth

print "Searching for devices..."
print ""
nearby_devices = bluetooth.discover_devices()
num = 0
print "Select your device by entering its coresponding number..."
for i in nearby_devices:
 num+=1
 print num , ": " , bluetooth.lookup_name( i )

selection = input("> ") - 1
print "You have selected", bluetooth.lookup_name(nearby_devices[selection])
bd_addr = nearby_devices[selection]
port = 1
sock = bluetooth.BluetoothSocket( bluetooth.RFCOMM )
sock.connect((bd_addr, port))
print "Everything is OK, Start to write"
while 1:
 data = raw_input()
 if len(data) == 0: break
 sock.send(data)
sock.close()

4 Mart 2019 Pazartesi

Bluetooth 4.0 Arduino At-09

       


include 
SoftwareSerial mySerial(2, 3); // RX, TX
int PIN_EN_OUT = 4;
int PIN_STATE_IN = 5;


void setup() {
  // put your setup code here, to run once:
  mySerial.begin(9600);
  Serial.begin(9600);
  Serial.println("start at 09 bt");

  sendCommand("AT");
  sendCommand("AT+ROLE0");
  sendCommand("AT+UUID0xFFE0");
  sendCommand("AT+CHAR0xFFE1");
  sendCommand("AT+NAMESeloBT");
  sendCommand("AT+PIN123456");
}

void sendCommand(const char * command){
  Serial.print("Command send :");
  Serial.println(command);
  mySerial.println(command);
  //wait some time
  delay(100);
  
  char reply[100];
  int i = 0;
  while (mySerial.available()) {
    reply[i] = mySerial.read();
    i += 1;
  }
  //end the string
  reply[i] = '\0';
  Serial.print(reply);
  Serial.println("Reply end");
}

void readSerial(){
  char reply[50];
  int i = 0;
  while (mySerial.available()) {
    reply[i] = mySerial.read();
    i += 1;
  }
  //end the string
  reply[i] = '\0';
  if(strlen(reply) > 0){
    Serial.println(reply);
    Serial.println("We have just read some data");
  }
}

void loop() {
  readSerial();
  delay(500);
}

Solenoid valve for Urine bag

16 Kasım 2018 Cuma

Bash Ping Test

       


#!/bin/bash
A=""
for i in {1..30}
do 
 ping -q -c1 192.168.1.$i
 if [ $? -eq 0 ]
 then
  A+="Ok 192.168.1.$i\n"
 else
  A+="No 192.168.1.$i\n"
 fi
done
echo -e "$A"

28 Ekim 2018 Pazar

Book Page Turner Arduino Code

       


#include 
#define lArm 8
#define rArm 5
#define wheel 4
#define wArm 6
#define turner 7

Servo solkol;
Servo sagkol;
Servo teker;
Servo tekerkol;
Servo donduren;
const int solDugme = 12;
const int sagDugme = 13;
int dtime = 10;
int leftbutton =0;
int rightbutton = 0;
int counter = 0;

void setup() {
     pinMode(solDugme, OUTPUT);
     pinMode(sagDugme, OUTPUT);
     Serial.begin(9600);
}

void loop() {
     leftbutton = digitalRead(solDugme);
     rightbutton = digitalRead(sagDugme);
     if(counter == 0) {
          defaultPosition();
     }
     if(counter == 1000) {
           counter = 1;    
     }
     if(rightbutton == HIGH) {
          attachedAll();
          servoTurn(donduren, dtime, 0);
          servoTurn(sagkol, dtime, 165);
          servoTurn(solkol, dtime, 165);
          servoTurn(teker, dtime, 180);
          servoTurn(tekerkol, dtime, 5);
          servoTurn(teker, dtime, 0);
          servoTurn(sagkol, dtime, 90);
          servoTurn(donduren, dtime, 20);
          servoTurn(tekerkol, dtime, 50);
          servoTurn(solkol, dtime, 90);
          servoTurn(sagkol, dtime, 165);
          servoTurn(donduren, dtime, 180);
          servoTurn(solkol, dtime, 165);
          servoTurn(tekerkol, dtime, 90);
          servoTurn(donduren, dtime, 0);
          Serial.println("Left button pressed");
          detachAll();
     }
     
     if(leftbutton == HIGH) {
          attachedAll();
          servoTurn(donduren, dtime, 180);
          servoTurn(solkol, dtime, 165);
          servoTurn(sagkol, dtime, 165);
          servoTurn(teker, dtime, 0);
          servoTurn(tekerkol, dtime, 150);
          servoTurn(solkol, dtime, 90);
          servoTurn(teker, dtime, 180);
          servoTurn(donduren, dtime, 160);
          servoTurn(sagkol, dtime, 90);
          servoTurn(tekerkol, dtime, 90);
          servoTurn(donduren, dtime, 0);
          servoTurn(sagkol, dtime, 165);
          servoTurn(solkol, dtime, 165);
          servoTurn(donduren, dtime, 180);
          Serial.println("Right button pressed");
          detachAll();
     }
     
     counter++;
}

void defaultPosition() {
          attachedAll();
          servoTurn(sagkol, dtime, 15);
          servoTurn(solkol, dtime, 15);
          servoTurn(tekerkol, dtime, 90);
          servoTurn(teker, dtime, 0);
          servoTurn(donduren, dtime, 0);
          Serial.println("Start");
          detachAll();
}

void detachAll() {
     if(solkol.attached()) solkol.detach();
     if(sagkol.attached()) sagkol.detach();
     if(teker.attached()) teker.detach();
     if(tekerkol.attached()) tekerkol.detach();
     if(donduren.attached()) donduren.detach();
}

void attachedAll() {
     if (!solkol.attached()) {
          solkol.attach(lArm);
     }
     if (!sagkol.attached()) {
          sagkol.attach(rArm);
     }
     if(!teker.attached()) {
          teker.attach(wheel);
     }
     if(!tekerkol.attached()) {
          tekerkol.attach(wArm);
     }
     if(!donduren.attached()) {
          donduren.attach(turner);
     }
}


void servoTurn(Servo v,int d, int angle) {
     int sp = v.read();
     int diff = angle -sp;
     if(diff < 0) {
          for(int i=0; i < abs(diff); i++) {
               v.write(sp -i);
               delay(d);
          }
     } else {
          for(int i=0; i < diff; i++) {
               v.write(sp +i);
               delay(d);
          }
     }
}

21 Mayıs 2018 Pazartesi

Vnh2sp Monster motorshield & Joystick Control

       


int xPin = A4; // A0-A5 analog pinlerinden herhangi birine bağlanabilir.
int yPin = A5; // A0-A5 analog pinlerinden herhangi birine bağlanabilir.
int butonPin = 10; // Joystick buton pini arduino bağlantısı (Joystick SW çıkışı)

int xPozisyonu = 0;
int yPozisyonu = 0;
int butonDurum = 0;
int motorLimit = 255;
int halfMotor = int(motorLimit/2.0);
int joystickLimit = 1024;
int halfJoystick = int(joystickLimit / 2.0);
int xDiff =0;
int yDiff =0;
int speed1 = 0;
int speed2 = 0;
int tolerans = 5;

#define BRAKEVCC 0
#define CW   1
#define CCW  2
#define BRAKEGND 3
#define CS_THRESHOLD 100
#define MOTOR_1 0
#define MOTOR_2 1

int usSpeed = 1023;  //default motor speed
unsigned short usMotor_Status = BRAKEVCC;

/*  VNH2SP30 pin definitions
 xxx[0] controls '1' outputs
 xxx[1] controls '2' outputs */
int inApin[2] = {7, 4};  // INA: Clockwise input
int inBpin[2] = {8, 9}; // INB: Counter-clockwise input
int pwmpin[2] = {5, 6}; // PWM input
int cspin[2] = {2, 3}; // CS: Current sense ANALOG input
int enpin[2] = {0, 1}; // EN: Status of switches output (Analog pin)

int statpin = 13;

void setup()
{
  Serial.begin(9600);
  
  pinMode(statpin, OUTPUT);

  // Initialize digital pins as outputs
  for (int i=0; i<2; i++)
  {
    pinMode(inApin[i], OUTPUT);
    pinMode(inBpin[i], OUTPUT);
    pinMode(pwmpin[i], OUTPUT);
  }
  // Initialize braked
  for (int i=0; i<2; i++)
  {
    digitalWrite(inApin[i], LOW);
    digitalWrite(inBpin[i], LOW);
  }
 
}

void loop()
{
  xPozisyonu = analogRead(xPin);
  yPozisyonu = analogRead(yPin);
  butonDurum = digitalRead(butonPin);
  /*
  if(butonDurum == 1) {
    xPozisyonu = halfJoystick;
    yPozisyonu = halfJoystick;
  }
  */
  xDiff = xPozisyonu - halfJoystick;
  yDiff = yPozisyonu - halfJoystick;
  xDiff = map(xDiff, 0, halfJoystick, 0, halfMotor);
  yDiff = -map(yDiff, 0, halfJoystick, 0, halfMotor);
  speed1 = abs(yDiff);
  speed2 = abs(abs(yDiff)- abs(xDiff));
  Serial.print("---X: ");
  Serial.print(xPozisyonu);
  Serial.print("|Y: ");
  Serial.print(yPozisyonu);
  Serial.print("|B: ");
  Serial.print(butonDurum);
  Serial.print("|xDiff: ");
  Serial.print(xDiff);
  Serial.print("|yDiff: ");
  Serial.print(yDiff);
  
  Serial.print("|S1: ");
  Serial.print(speed1);
  Serial.print("|S2: ");
  Serial.print(speed2);
  Serial.print("----\r\n\r");
  

  if(abs(xDiff) < tolerans && abs(yDiff) < tolerans){
    Serial.print("sag dur ");
    Serial.print("sol dur\r\n\r");
    usMotor_Status = BRAKEVCC;
    motorGo(MOTOR_1, usMotor_Status, 0);
    motorGo(MOTOR_2, usMotor_Status, 0);
  }
  else if(xDiff == 0 && yDiff > 0) {
    Serial.print("sol one ");
    Serial.print("sag one\n\r");
    usMotor_Status = CW;
    motorGo(MOTOR_1, usMotor_Status, speed1);
    motorGo(MOTOR_2, usMotor_Status, speed1);
  }
  else if(xDiff == 0 && yDiff <= 0) {
    Serial.print("sol arka ");
    Serial.print("sag arka\n\r");
    usMotor_Status = CCW;
    motorGo(MOTOR_1, usMotor_Status, speed1);
    motorGo(MOTOR_2, usMotor_Status, speed1);
  }
  else if(xDiff > 0 && yDiff == 0) {
    Serial.print("sol one ");
    Serial.print("sag arka\n\r");
    usMotor_Status = CW;
    motorGo(MOTOR_1, usMotor_Status, speed1);
    usMotor_Status = CCW;
    motorGo(MOTOR_2, usMotor_Status, speed2);
  }
  else if(xDiff <= 0 && yDiff == 0) {
    Serial.print("sol arka ");
    Serial.print("sag one\n\r");
    usMotor_Status = CCW;
    motorGo(MOTOR_1, usMotor_Status, speed1);
    usMotor_Status = CW;
    motorGo(MOTOR_2, usMotor_Status, speed2);
  }
  else if(xDiff > 0 && yDiff > 0) {
    Serial.print("yon : Front right");
    Serial.print("sol one hizli ");
    Serial.print("sag one yavas\n\r");
    usMotor_Status = CW;
    motorGo(MOTOR_1, usMotor_Status, speed1);
    motorGo(MOTOR_2, usMotor_Status, speed2);
  }
  else if(xDiff < 0 && yDiff < 0) {
    Serial.print("yon : back left ");
    Serial.print("sol arka yavas ");
    Serial.print("sag arka hizli\n\r");
    usMotor_Status = CCW;
    motorGo(MOTOR_1, usMotor_Status, speed2);
    motorGo(MOTOR_2, usMotor_Status, speed1);
  }
  else if(xDiff > 0 && yDiff < 0) {
    Serial.print("yon : back right ");
    Serial.print("sol arka hizli ");
    Serial.print("sag arka yavas\n\r");
    usMotor_Status = CCW;
    motorGo(MOTOR_1, usMotor_Status, speed1);
    motorGo(MOTOR_2, usMotor_Status, speed2);
  }
  else if(xDiff < 0 && yDiff > 0) {
    Serial.print("yon : Front left ");
    Serial.print("sol one yavas");
    Serial.print("sag one hizli\n\r");
    usMotor_Status = CW;
    motorGo(MOTOR_1, usMotor_Status, speed2);
    motorGo(MOTOR_2, usMotor_Status, speed1);
  }
  else {
    Serial.println("Anlamsiz");
  }
  
  
  if ((analogRead(cspin[0]) < CS_THRESHOLD) && (analogRead(cspin[1]) < CS_THRESHOLD)) {
    Serial.println("Stat pin activ");
    digitalWrite(statpin, HIGH);
  }
}

void motorOff(int motor)
{
  // Initialize braked
  for (int i=0; i<2; i++)
  {
    digitalWrite(inApin[i], LOW);
    digitalWrite(inBpin[i], LOW);
  }
  analogWrite(pwmpin[motor], 0);
}


void motorGo(uint8_t motor, uint8_t direct, uint8_t pwm)
{
  if (motor <= 1)
  {
    if (direct <=4)
    {
      // Set inA[motor]
      if (direct <=1)
        digitalWrite(inApin[motor], HIGH);
      else
        digitalWrite(inApin[motor], LOW);

      // Set inB[motor]
      if ((direct==0)||(direct==2))
        digitalWrite(inBpin[motor], HIGH);
      else
        digitalWrite(inBpin[motor], LOW);

      analogWrite(pwmpin[motor], pwm);
    }
  }
}


2 Nisan 2018 Pazartesi

Yokuş çıkmak için Elektrikli Scooter yapmak

Parçalar

  1. Gövde (yapılacak)
  2. Direksiyon
  3. Teker 2 adet (rulmanlı yük tekeri) +
  4. Disk fren seti
  5. Dc motor (350watt 3500rpm motor) +
  6. Motor hız ayarı
  7. Vites kutusu
  8. Zincir büyük dişli freewheel rulman
  9. Lamba ön arka +
  10. Jel Akü ve koruma kutusu
  11. Amortisör
  12. Zil
  13. Stop
  14. motor kilit
  15. ayna
  16. hız ayarlı elbarı
  17. gösterge paneli
  18. sinyal
  19. telefon tutacak

23 Ağustos 2017 Çarşamba

Anayasa Mahkemesi

Bundan önce Türkiye'de Demokrasinin 1. basamağı olan çok partili hayatın nasıl dandik bir sebeple ortaya çıktığını anlatmıştım.Şimdi de neden anayasa mahkemesi diye birşey var onu anlatacam :D 1950 de Demokrat Parti iktidar aynı bugün ki gibi basına baskı, yargıya baskı 1959 a kadar geliniyor. Artık otokrasiye geçilmek üzere burası çok önemli Hükümet Abd'de istediklerini bulamayınca yeni aşk için Rusya'ya kapı açayım diyor.Bunun üzerine dünden razı olan Tsk Abd ninde yardımıyla(bknz bize 3 darbe borçlusunuz) darbe yapıyor. Buraya kadar tanıdık bilindik.Ama darbeden sonra darbeyi yapanlar "yaw bi daa ole birşey yapalım ki bu ulkede kimse iktidar olsa bile bütün erklere hükmedemesin" diyor sonra modernleşmenin tanımına uygun olarak Almanya'dan kopya çekerek Anayasa mahkemesini 1961 'de Türkiye'ye getiriyor. 1961-2010 kaç sene 50 sene.Bu 50 senede bir kaç hükümet sistemi hacklemek için uğraş verdiyse de başarız olmuş engelenmişti.Ama 2010 da halka <> yolayarak referandum yaptırma fikri.Bu ülkeye daha fazla demokrasi gelecek diye zanedip sonra zokayı yemekle sonuç vermiştir.Burada zoka Hsyk nın yapısındaki değişiklik ve anayasa mahkemesinin uyelerini seçen yapıdaki farklılık. Sonuç Hırsıza kilit dayanmaz.

31 Mayıs 2017 Çarşamba

Arduino Kuluçka Makinası Kodu

1 adet Dht11 nem ve ısı ölçer
1 adet 4 lü röle (ışık, nem ve fan)
2 adet sg90 servo motor
1 adet button
1 adet 5510 lcd ekran
1 adet buzzer


       

#include 
#include 
#include   
#include "DHT.h"

#define DHTPIN 2
#define DHTTYPE DHT11
#define RELAY1  0                       
#define RELAY2  3                        
#define RELAY3  7                        
#define RELAY4  12

DHT dht(DHTPIN, DHTTYPE);
static PCD8544 lcd = PCD8544(8, 9, 10, 11, 4);
Servo myservo; 
Servo myservo2;
int pos1 = 0;
int pos2 = 1;
int temp = 0;

int Button=13;
int speakerPin = 12;

float temp1 = 38.4;
float hum1 = 60.0;
float temp2 = 38.7;
float hum2 = 70.0;

float deftemp = temp1;
float defhum = hum1;

int r1,rx1 =0;
int r2,rx2 =0;
int r3,rx3 =0;
int tAlert= 0;
int hAlert = 0;
void setup()
{
	pinMode(RELAY1, OUTPUT);       
	pinMode(RELAY2, OUTPUT);
	pinMode(RELAY3, OUTPUT);
	//pinMode(RELAY4, OUTPUT);
	myservo.attach(5);
	myservo2.attach(6);
	lcd.begin(84, 48);
	dht.begin();
	Serial.begin(9600);
	lcd.setCursor(10,0);
	lcd.print("Sicaklik: "); 
	lcd.setCursor(10,4);
	lcd.print("Nem:");
  	pinMode(Button, INPUT);
  	pinMode (speakerPin, OUTPUT);
}

void loop()
{
	Serial.println("Start loop");
  	Serial.print("D Temp: ");Serial.println(deftemp);
  	Serial.print("D Hum: ");Serial.println(defhum);
	float h = dht.readHumidity();
	float t = dht.readTemperature();
	float f = dht.readTemperature(true);
	if (isnan(h) || isnan(t) || isnan(f)) {
                alert(255, 1500, "Sensor", "Error");
		return;
	}
	screen(h, t);
	
	// button set  
	if(digitalRead(Button)==LOW)
	{
		if(deftemp == temp1) {
			deftemp = temp2;
			defhum = hum2;
		} else if(deftemp == temp2) {
			deftemp = temp1;
			defhum = hum1;
		}
		Serial.print("New Temp: ");Serial.println(deftemp);
		Serial.print("New Hum: ");Serial.println(defhum);
 
	}
	
	// relay control
	if(h < defhum && t < deftemp) {
		r1= 0;//fan
		r2= 1;//lamba
		r3= 1;//nem
		tAlert++;
		hAlert++;
   Serial.println("Sicaklik Yetersiz Lamba Acik, Nem Yetersiz Nem Acik, Fan kapali");
	} 
	else if(h < defhum && t > deftemp) {
		r1= 1;
		r2= 0;
    r3= 1;
		tAlert++;
   Serial.println("Sicaklik Fazla Lamba Kapali, Nem Yetersiz Nem Acik, fan acik");
	}
	else if(h > defhum && t < deftemp) {
		r1= 0;
		r2= 1;
    r3= 0;
		hAlert++;
   Serial.println("Sicaklik Az Lamba Acik, Nem Fazla Nem Kapali , Fan Kapali");
	}
	else{
		r1= 1;
		r2= 0;
		r3= 0;
		hAlert = 0;
		tAlert = 0;
   Serial.println("Sicaklik Yeterli Lamba Kapali, Nem Yeterli Nem Kapali,fan acik");
	}
	if(r1 != rx1 && r1 == 1 ) {
		digitalWrite(RELAY1,HIGH);
		Serial.println("Humidty Relay 1 open");
	}else if(r1 != rx1 && r1 == 0 ) {
		digitalWrite(RELAY1,LOW);
		Serial.println("Humidty Relay 1 close");
	}
	rx1 =r1;
	if(r2 != rx2 && r2 == 1 ) {
		digitalWrite(RELAY2,HIGH);
		Serial.println("Temperature Relay 2 open");
	}else if(r2 != rx2 && r2 == 0 ) {
		digitalWrite(RELAY2,LOW);
		Serial.println("Temperature Relay 2 close");
	}
	rx2 =r2;
	if(r3 != rx3 && r3 == 1 ) {
		digitalWrite(RELAY3,HIGH);
		Serial.println("Fan Relay 3 open");
	}else if(r3 != rx3 && r3 == 0 ) {
		digitalWrite(RELAY3,LOW);
		Serial.println("Fan Relay 3 close");
	}
	rx3 =r3;
	
	if(tAlert == 500) {
		alert(255, 5000, "Temperature", "Error");
		tAlert= 0;
	}
	if(hAlert == 500) {
		alert(255, 10000, "Humidty", "Error");
		hAlert= 0;
	}
	
	//servo 
	if(pos2 ==0 || pos2==180) {
		temp= pos1;
		pos1 = pos2;
		pos2 = temp;
	}
	else if(pos2 > pos1) {
		pos1 = pos2;
		pos2++;
	}
	else {
		pos1 = pos2;
		pos2--;
	}
	myservo.write(pos1);
	myservo2.write(pos1);
	Serial.print("Servo position :");
	Serial.println(pos1);
}

void alert(int v, int d, char mystr[], char mystr2[]) {
	writeScreen(mystr, mystr2);
    for(int i=0;i
 

24 Haziran 2016 Cuma

Ütopik Rc Solar Boat

21/11/2015 tarihli mailden

https://www.youtube.com/watch?v=dWoh5l2vDLk

bu boatı biraz refactor edelim buna bi de gpsli bi telefon takalım
beyin gorevi gorsun. programlayalım otomatik kaptanın rotasını. gunesi
gorunce sarj etsin. telefonuda sarj etsin bu paneller.
sadun bora gibi gunesli bir bahar gununde dunya turuna bile cıkar bu
:)) enerjisi gunesten, gunduz tam yol ileri, gece de pil bitene kadar
calışır :))
sabah oluncada yavastan yavastan kıpırdar sonra ver elini okyanus :))
tanker işi biraz sıkıntı sadece onuda dunyada gemi trafiğini veren bi
app vardı rotalara bakar kesişmemesini saglarız :)) panama kanalını
nasıl gecez? gecmeyiz bizde neapalım gunesimiz bol vuruz cape horn a
:)) allahın gunesimi yok :))
yaw bide buzdagları var de mi tühh bee titanik gibi olduk :)) bak buna
care nasıl bilemiyorum :)) biraz arge yapmalı buzdaglarını gosteren bi
app var mı acep :))
fırtınaya yakalanırsak mı :))  "batarmı yaa bu fırtınada hacıyatmaz
gibi masalahı var. yasasın arşimet!!! ayrıca" bide muska yazmalı
kuvvetli bi hocadan sonra yolculuk oncesinde motorun içine sıgdırız
:))

arada bi cafeye gider kahveyi yudumlarken cep telefonu acar "ulan
bizim toraman neapıo nerede suan" diyip özlem giderilebilir hani
programlarsak her hafta gurbetteki bi limandan email bile atar bu :))
sonra gelen emailde dataların analizini yaparsın oturdugun yerden :))
telefon cekse heryerden yeni rota bile koyarsın da teknoloji biraz
pahalı .biz minumum maliyet maximum verimlik esasından
ayrılmayalım.topu topu 30 $ a dunya turu yaptırıoz botumuza.lan her
limanda bi sevgili bile yapar bu simdi. tipe baksana pek bi cevval
namussuz :)) yerinde durmuyor :) sonra selfi cekip facebookta bile
paylasır aha yazıom suraya :))

ilk insansız dunya turu yapan botun hayalini izlediniz  :)) bu da bi
ilk heral :))

bundan sonraki hedef yunan sahil botlarına yakalanmadan giden
programlanabilir multeci botu :)) bu sorunada eğilmek lazım :))

Sonuç


Dolandırılırsanız Ne Yaparsınız?

Benim gibi birine internet üzerinden 3500 tl kaptırırsanız.Dikkat etmeniz gereken adamın niye 3500 tl istiyor olmasıdır.

Çünkü 3480 tl üstü her türlü dolandırıcılığa tüketici mahkemesini bakar bu da avukat dava vs demektir.Yani uğraştırır sizi.Eğer daha aşağı bir tutar olursa tüketici heyeti ile e devlet üzerinden haledebilirsiniz.

Elinizde fatura yada tahütname yoksa iyice şansınız az demektir.Bu yüzden muhakak bir belgeniz olmalı.Sonra bu belgeyle ilk olarak ticaret il müdürlüğü denetim servisine bir dilekçe verilebilir.Şirket hakkında denetim başlatılabilir.

Elinizdeki şirketle ilgili belgeler yetersizse ticaret odasının web sitesinden şirket sicil bilgilerine ulaşabilirsiniz.
Böylece dolandıran kişinin tc kimlik nosunu icra yoluyla talep edebilirsiniz.Bu çok önemli bir ayrıntı şahsın tc kimlik nosu her türlü hacizin kapısını açar.Burada yoksa mobile telefon şirketlerinden yada varsa banka hesap nolardan istemeniz gerekir.

Bu arada şirkete tebliğ ticaret odasındaki kayıtlı adresten yapılmış olur.Sahıs yada şirket bir cevap vermezse haciz başlatabilirsiniz.Ben araç için talepte bulundum.Sonucu bitince buradan devam edeceğim...

Freelancer Android Programmer

If someone pays for coding an android apk, I ll write what he wants

contact: csselo@yandex.com

İsteyen olursa fiyatta anlaşırsak hertürlü android programını yazarım.

iletişim : csselo@yandex.com