Elektrik Elektronik Teknolojisi Alanı Temrinleri

 
Hoşgeldiniz Ziyaretçi. Lütfen giriş yapın veya kayıt olun.

Kullanıcı adınızı, şifrenizi ve aktif kalma süresini giriniz

İletileri Göster

Bu özellik size üyenin attığı tüm iletileri gösterme olanağı sağlayacaktır . Not sadece size izin verilen bölümlerdeki iletilerini görebilirsiniz


Mesajlar - Hasan ERTÜRK

Sayfa: [1] 2 3 ... 35
1
Otomatik kumanda / 3 LED
« : Dün, 09:02:22 »
3 Led var. kırmızı, sarı,yeşil.
Sarı led yanarken yeşil yanmayacak.
Kırmızı led yanarken yeşil ve sarı yanmayacak.

<iframe width="640" height="385" src="//www.youtube.com/embed/LlqB_qjiHxg?fs=1&start=" frameborder="0" allowfullscreen></iframe>

2
Çocuklar için / 1. Kod yazmadan arduino programlayın
« : 22 Nisan 2018, 17:15:56 »
Herhangi bir programlama dili bilmeden tamamen görsel olarak Arduino programlayabilirsiniz. programlamaya başlamadan önce bir ön hazırlığımız olacak. Aşağıdaki açıklamaları takip ederek ön bilgilenmeyi tamamladıktan sonra kod yazmadan arduino programlamaya başlayabilirsiniz.

Scracth Nedir?

Scratch yazılım geliştirme platformu ve programlama dili çocukların bilgisayar programlamaya ilk adımları atmalarını sağlamak amacıyla geliştirilmiştir.


S4A Nedir?
S4A programı Scratch tabanlı bir programlama dilidir. İçerisinde Arduino’yu kontrol etmemizi sağlayan bazı programlama blokları bulunur. Bu program blokları sayesinde kod yazmadan tamamen görsel olarak Arduino’yu programlayabilirsiniz. Programınızı bloklar halinde yazıyor olmanız dışında S4A’nın Türkçe dil desteğinin olması programlamaya ayrı bir kolaylık getiriyor.

Programın avantajlarından birisi ise yalnızca bilgisayardan veri gönderme değil aynı zamanda Arduino’dan gelen verileri de okuyabiliyorsunuz. Bu sayede daha zengin programlar yazabilirsiniz.


Öncelikle buraya tıklayarak Arduino’nun yazılımını indirmelisiniz.

Ardından aşağıdaki kodları bir defaya mahsus arduinoya yüklemeniz gerekiyor.

Kod: [Seç]
typedef enum {
  input, servomotor, pwm, digital }
pinType;

typedef struct pin {
  pinType type;       //Type of pin
  int state;         //State of an output
  //byte value;       //Value of an input. Not used by now. TODO
};

pin arduinoPins[14];  //Array of struct holding 0-13 pins information

unsigned long lastDataReceivedTime = millis();

void setup()
{
  Serial.begin(38400);
  Serial.flush();
  configurePins();
  resetPins();
}

void loop()
{
  static unsigned long timerCheckUpdate = millis();

  if (millis()-timerCheckUpdate>=20)
  {
    sendUpdateServomotors();
    sendSensorValues();
    timerCheckUpdate=millis();
  }

  readSerialPort();
}

void configurePins()
{
  arduinoPins[0].type=input;
  arduinoPins[1].type=input;
  arduinoPins[2].type=input;
  arduinoPins[3].type=input;
  arduinoPins[4].type=servomotor;
  arduinoPins[5].type=pwm;
  arduinoPins[6].type=pwm;
  arduinoPins[7].type=servomotor;
  arduinoPins[8].type=servomotor;
  arduinoPins[9].type=pwm;
  arduinoPins[10].type=digital;
  arduinoPins[11].type=digital;
  arduinoPins[12].type=digital;
  arduinoPins[13].type=digital;
}

void resetPins() {
  for (byte index=0; index <=13; index++)
  {
    if (arduinoPins[index].type!=input)
    {
      pinMode(index, OUTPUT);
      if (arduinoPins[index].type==servomotor)
      {
        arduinoPins[index].state = 255;
        servo (index, 255);
      }
      else
      {
        arduinoPins[index].state=0;
        digitalWrite(index,LOW);
      }
    }
  }
}

void sendSensorValues()
{
  unsigned int sensorValues[6], readings[5];
  byte sensorIndex;

  for (sensorIndex = 0; sensorIndex < 6; sensorIndex++) //for analog sensors, calculate the median of 5 sensor readings in order to avoid variability and power surges
  {
    for (byte p = 0; p < 5; p++)
      readings[p] = analogRead(sensorIndex);
    insertionSort(readings, 5); //sort readings
    sensorValues[sensorIndex] = readings[2]; //select median reading
  }

  //send analog sensor values
  for (sensorIndex = 0; sensorIndex < 6; sensorIndex++)
    ScratchBoardSensorReport(sensorIndex, sensorValues[sensorIndex]);

  //send digital sensor values
  ScratchBoardSensorReport(6, digitalRead(2)?1023:0);
  ScratchBoardSensorReport(7, digitalRead(3)?1023:0);
}

void insertionSort(unsigned int* array, unsigned int n)
{
  for (int i = 1; i < n; i++)
    for (int j = i; (j > 0) && ( array[j] < array[j-1] ); j--)
      swap( array, j, j-1 );
}

void swap(unsigned int* array, unsigned int a, unsigned int b)
{
  unsigned int temp = array[a];
  array[a] = array[b];
  array[b] = temp;
}

void ScratchBoardSensorReport(byte sensor, int value) //PicoBoard protocol, 2 bytes per sensor
{
  Serial.write( B10000000
    | ((sensor & B1111)<<3)
    | ((value>>7) & B111));
  Serial.write( value & B1111111);
}

void readSerialPort()
{
  byte pin;
  int newVal;
  static byte actuatorHighByte, actuatorLowByte;
  static byte readingSM = 0;

  if (Serial.available())
  {
    if (readingSM == 0)
    {
      actuatorHighByte = Serial.read();
      if (actuatorHighByte >= 128) readingSM = 1;
    }
    else if (readingSM == 1)
    {
      actuatorLowByte = Serial.read();
      if (actuatorLowByte < 128) readingSM = 2;
      else readingSM = 0;
    }

    if (readingSM == 2)
    {
      lastDataReceivedTime = millis();   
      pin = ((actuatorHighByte >> 3) & 0x0F);
      newVal = ((actuatorHighByte & 0x07) << 7) | (actuatorLowByte & 0x7F);

      if(arduinoPins[pin].state != newVal)
      {
        arduinoPins[pin].state = newVal;
        updateActuator(pin);
      }
      readingSM = 0;
    }
  }
  else checkScratchDisconnection();
}

void reset() //with xbee module, we need to simulate the setup execution that occurs when a usb connection is opened or closed without this module
{
  resetPins();        // reset pins
  sendSensorValues(); // protocol handshaking
  lastDataReceivedTime = millis();
}

void updateActuator(byte pinNumber)
{
  if (arduinoPins[pinNumber].type==digital) digitalWrite(pinNumber, arduinoPins[pinNumber].state);
  else if (arduinoPins[pinNumber].type==pwm) analogWrite(pinNumber, arduinoPins[pinNumber].state);
}

void sendUpdateServomotors()
{
  for (byte p = 0; p < 10; p++)
    if (arduinoPins[p].type == servomotor) servo(p, arduinoPins[p].state);
}

void servo (byte pinNumber, byte angle)
{
  if (angle != 255)
    pulse(pinNumber, (angle * 10) + 600);
}

void pulse (byte pinNumber, unsigned int pulseWidth)
{
  digitalWrite(pinNumber, HIGH);
  delayMicroseconds(pulseWidth);
  digitalWrite(pinNumber, LOW);
}

void checkScratchDisconnection() //the reset is necessary when using an wireless arduino board (because we need to ensure that arduino isn't waiting the actuators state from Scratch) or when scratch isn't sending information (because is how serial port close is detected)
{
  if (millis() - lastDataReceivedTime > 1000) reset(); //reset state if actuators reception timeout = one second
}



Bu sayede S4A programı ile Arduino arasında ilk haberleşmeyi sağlayacaksınız. S4A programının Arduino’nuzu tanıması için S4AFirmware16 isimli programı Arduino’ya atmanız gerekiyor. Sonrasında bu işlemi tekrarlamanıza gerek yok.

S4A’yı buraya tıklayarak indirebilirsiniz. S4A programının kurduktan sonra aşağıda ki görüntü ile karşılaşacaksınız.


Sol tarafta ki program bloklarını kullanarak programınızı oluşturabilir ve Arduino’da çalışmasını sağlayabilirsiniz. S4A ile programlamaya hemen başlayın !

3


Kablosuz haberleşme kiti.
Fiyatı: 285 TL
Satın almak için buraya tıklayınız.

4
Ürün tanıtımları / 30 Watt Güneş Paneli / Trabzon
« : 16 Nisan 2018, 11:48:46 »


Fiyatı: 200 TL
Satın almak için tıklayınız.

5


Fiyatı: 70 TL
Satın almak için tıklayınız.

6


Fiyatı: 70 TL
Satın almak için tıklayınız.

7


Fiyatı: 70 TL
Satın almak için tıklayınız.

8
Arduino Öğreniyorum / Ynt: Elcik Kumanda Kodlarını
« : 06 Nisan 2018, 12:26:09 »
Ürünü satın aldığınız yerden ya da varsa internette yayınlanmış örnek uygulamalardan faydalanmanızı öneriyorum.

9
Projeler / Ynt: 10. Sera otomasyonu
« : 02 Nisan 2018, 12:43:55 »
BC serisiNPN olan her hangi bir tarnsistöer kullanabilirsiniz. BC238 ve yazdığınız diğerleri olur.

10
Projeler / Ynt: 10. Sera otomasyonu
« : 07 Mart 2018, 21:33:19 »
Bağlantılarınızın doğruluğunu kontrol edip potu ayarlayın başkaca bir fikrim yok.

11
Projeler / Ynt: 10. Sera otomasyonu
« : 07 Mart 2018, 19:53:23 »
LCD bağlantısını aşağıdaki gibi yaparak kullanabilirsiniz.

12
Projeler / Ynt: 10. Sera otomasyonu
« : 21 Şubat 2018, 20:03:14 »
Rölenin COM ucu 12 Voltun +'sına NO ucu pompanızın + ucuna bağlanır. Pompanın - ucu ise 12 Voltun - kutbuna bağlanır.

13
Projeler / Ynt: 10. Sera otomasyonu
« : 21 Şubat 2018, 12:29:59 »
Vaktim yok. Liste hazırlayamam. Ancak veilmiş olan devre şemasından malzeme listesini çıkarabilirsiniz. Devrede 220 Voltluk selonoid valf kullanılmış. 12 Voltluk su pompası kullanılacaksa RL3 rölesinin kontak uçları bağlantısını değiştirmek gerekir. Kodda değişiklik yapmaya gerek yok.

14
Uzaktan kontrol / 20. HC-05 AT komutları
« : 11 Şubat 2018, 18:34:51 »
Bu dersimizde HC-05 modülünün ismi, şifresi gibi varsayılan ayarlarını değiştirmeyi öğreneceğiz.

Öncelikle aşağıdaki devreyi kuruyoruz.



Aşağıdaki kodları arduinomuza yüklüyoruz. Yükleme yaparken arduinonun tx ve rx pinlerini boşa çıkarmanız gerekecektir.

Kod: [Seç]
#include <SoftwareSerial.h>
SoftwareSerial mySerial(10, 11); // RX, TX
 
void setup() {
Serial.begin(9600);
pinMode(9,OUTPUT); // key pin
digitalWrite(9,HIGH);
Serial.println("Enter AT commands:");
mySerial.begin(38400);
}
 
void loop()
{
if (mySerial.available())
Serial.write(mySerial.read());
if (Serial.available())
mySerial.write(Serial.read());
}


Aşağıdaki komutlarla seri monitörden hc05'in varsayılan ayarlarını görüntüleyebilirsiniz:
AT+NAME: Default ismi gösterir
AT+ADDR: Default adresi gösterir
AT+VERSION: Versiyonu Gösterir
AT+UART: Ayarlanmış olan Baud Rate’ yi gösterir
AT+ROLE: Master yada Slave olma durumunu gösterir(1=master/0=slave)
AT+RESET: Ayarları resetler ve AT moddan çıkar
AT+ORGL: Fabrika ayarlarına geri döner
AT+PSWD: Default parolayı gösterir.

Modülün ismini değiştirmek için AT+NAMEkartismi

Şifresini değiştirmek için AT+PIN1234

Modülün ismini değiştirmek için AT+NAMEkartismi

Şifresini değiştirmek için AT+PIN1234

Baud rate’ini değiştirmek için AT+BAUD4 (1:1200, 2:2400, 3:4800, 4:9600, 5:19200, 6:38400, 7:57600, 8:115200, A:460800, B:921600, C:1382400 baud’a karşılık gelmektedir)

15
Firma Bilgileri

Firma Adı:  Robotik Center

Firma Tel: 0462 666 4 777

Firma Web Adresi: http://www.robotik.center

Şehir / Ülke: Trabzon

Firma Yetkilisi: Hasan ERTÜRK

Alınacak Personel Sayısı:  1

Genel Nitelikler

* Endüstri meslek liselerinin ya da meslek yüksekokullarının elektronik, endüstriyel bakım onarım, mekatronik bölümlerinin birinden mezun,

* MS Office programlarını ve proteus programını iyi derecede kullanabilen,

* Mikrodenetleyiciler ve arduino konularında orta seviye bilgi sahibi olan,

* İnsan ilişkileri kuvvetli, iletişim ve ikna becerileri gelişmiş, temsil ve koordinasyon yeteneği güçlü, sistemli ve analitik çalışma yeteneğine sahip olan,

* Askerliğini yapmış, askerlikten muaf ya da 1 yıl askerlikle 1 yıl ilişkisi bulunmayan,

* Çok iyi derecede temel elektronik bilgisine sahip olan,

* Baskı devre hazırlama, lehimleme becerisine sahip olan,

* Tercihen oto elekrik bilgisine sahip

* Trabzon’da ikamet ediyor olan,

* 25 yaşını aşmamış.

İş Tanımı

* Baskı devre hazırlama,

* Montaj,

* PLC, mikrodenetleyici, arduino programları yazma

* Elektronik kartlarda arıza tespiti ve onarımı

* Gerekli durumlarda il içi il dışı seyehat edip, montaj yapabilecek

* Maaş+ prim çalışacak

İlgilenenlerin info@robotik.center mail adresine cvlerini göndermeleri duyurulur.

Sayfa: [1] 2 3 ... 35