WRITING SOFTWARE OF PARKING SENSOR WITH ARDUINO [TUTORIAL LESSON 8]

in #utopian-io7 years ago (edited)

Hi there,
This is first complex lesson. But you don't worry about it we can handle it with together. Lesson is Writing software of parking sensor with Arduino.( Lesson 8). This is a complex project so our codes are long. I will teach you writing.

Herkese merhaba,
Bu bizim ilk kompleks dersimiz. Ama bu sizin gözünüzü korkutmasın birlikte halledebiliriz. Dersimiz Arduino ile park sensörü yazılımını yazmak. ( Ders 8 ). Bu kompleks bir projedir yani kodlarımız uzun. Size yazılışını öğreteceğim.

Yine kısa bir önbilgiyle başlayalım. Projemizde kullandığımız en önemli malzeme HC-SR04 mesafe sensörüdür.
HC-SR04 sensörü Arduino ile kullanılan en popüler malzemelerden birisidir. 2cm-400cm arası uzaklıkları ölçme özelliğine sahiptir. Sensörün trig pininden uygulanan sinyal 40kHz freakansında ultrasonik bir ses yayılmasını sağlar. Bu ses dalgası bir cisme çarpıp sensöre geri döndüğünde, Echo pini aktif hale gelir. Bu iki sinyal arasındaki süreyi ölçerek cismin sensörden uzaklığını tespit eder.
HC-SR04 sensörünün çalışma mantığını anladıktan sonra yazılımımızı yazmaya başlayabiliriz.

HC-qUltrasonic-Sensor.jpg
ALINTI GORSEL

  1. AŞAMA
    Herzamanki gibi pinlerimizi tanımlayacağız.

const int trigger_pin = 13;
const int echo_pin = 12;
const int buzzer = 2 ;
const int mled = 3;
const int yled = 4;
const int aled = 5;
const int kled = 6;

2.AŞAMA
Sensörümüzden gelen verileri okumamız için değişken tanımlıyoruz...

int sure ;
int mesafe ;

3.AŞAMA
Tanımlamaları yaptıktan sonra Void Setup kısmında ayarlamaları yapacağız yani hangi pin ne pini olduğunu ayarlayacağız. İlk pinleri OUTPUT olarak ayarlıyoruz. Echo pinini INPUT olarak ayarlıyoruz...

pinMode(kled , OUTPUT);
pinMode(sled , OUTPUT);
pinMode(yled , OUTPUT);
pinMode(mled , OUTPUT);
pinMode(buzzer , OUTPUT);
pinMode(trigger_pin , OUTPUT);
pinMode(echo , INPUT);
Serial.begin(9600);

3 . AŞAMA
Artık void loop döngüsüne kodlarımızı yazmaya başlayabiliriz....
Mesafe dizesinde 29,1 yazdık bunun sebebi tamamen ortam sıcaklığıyla alakalıdır. Bu hatırlatmadan sonra kodlarımıza geçiyoruz.

digitalWrite(trigger_pin , HIGH);
delayMicroseconds(1000);
digitalWrite(trigger_pin , LOW);
sure = pulseIn(echo_pin , HIGH);
mesafe = (sure/2 / 29.1;

4.AŞAMA
Şimdi if else komutuyla bir dallanma oluşturucaz. Ve bu dallanma ile Arduinoya bir iş yaptırıcağaız. Eğer sensörümüz 50cm den yakın mesafeden bir cisim yaklaşırsa yeşil led 25 cm yaklaşırsa sarı led, engel 10 cm kadar yaklaşırsa kırmızı led yanacaktır. Eğer 5cm de daha yaklaşırsa bütün ledler aynı anda yanacaktır.

if ( mesafe <= 10 )
{
digitalWrite(kled , HIGH);
digitalWrite(buzzer , HIGH);
delay(500);
digitalWrite(sled, LOW);
digitalWrite(buzzer , LOW);

}
if else ( mesafe <= 25)
{
digitalWrite(yled , HIGH);
digitalWrite(buzzer , HIGH);
delay(500);
digitalWrite(sled , LOW);
digitalWrite(buzzer , LOW);

}
if else ( mesafe <= 50 )
{
digitalWrite(yled , HIGH);
digitalWrite(buzzer , HIGH);
delay(750);

6.AŞAMA
Son olarak döngümüzün devam edebilmesi için else komutunuda kodumuzua ekleyerek yazılımımızı tamamlıyoruz.

else
{
digitalWrite(mled , HIGH);
delay(1000);
digitalWrite(yled , LOW);

}

Yazılımımız burada son buldu. Yazılımımızın Arduino görüntüsünü de ekliyorum. Bu projeyi daha önce anlattığım derslerde ki gibi daha büyük projelere hazır olarak da ekleyebilirsiniz. Kendisi başlıbaşına da doğru hizmet veren bir proje oldu. Sorularınız olursa sorabilirsiniz. Herekese iyi çalışmalar...
bandicam 2017-12-12 20-12-50-968.jpg
bandicam 2017-12-12 20-12-56-496.jpg
bandicam 2017-12-12 20-13-00-645.jpg

GITHUB



Posted on Utopian.io - Rewarding Open Source Contributors

Sort:  

Congratulations! This post has been upvoted from the communal account, @minnowsupport, by sametceylan from the Minnow Support Project. It's a witness project run by aggroed, ausbitbank, teamsteem, theprophet0, someguy123, neoxian, followbtcnews/crimsonclad, and netuoso. The goal is to help Steemit grow by supporting Minnows and creating a social network. Please find us in the Peace, Abundance, and Liberty Network (PALnet) Discord Channel. It's a completely public and open space to all members of the Steemit community who voluntarily choose to be there.

If you would like to delegate to the Minnow Support Project you can do so by clicking on the following links: 50SP, 100SP, 250SP, 500SP, 1000SP, 5000SP. Be sure to leave at least 50SP undelegated on your account.

Thank you for the contribution. It has been approved.

You can contact us on Discord.
[utopian-moderator]

This post has received a 0.78 % upvote from @drotto thanks to: @banjo.

Hey @sametceylan I am @utopian-io. I have just upvoted you!

Achievements

  • You have less than 500 followers. Just gave you a gift to help you succeed!
  • Seems like you contribute quite often. AMAZING!

Suggestions

  • Contribute more often to get higher and higher rewards. I wish to see you often!
  • Work on your followers to increase the votes/rewards. I follow what humans do and my vote is mainly based on that. Good luck!

Get Noticed!

  • Did you know project owners can manually vote with their own voting power or by voting power delegated to their projects? Ask the project owner to review your contributions!

Community-Driven Witness!

I am the first and only Steem Community-Driven Witness. Participate on Discord. Lets GROW TOGETHER!

mooncryption-utopian-witness-gif

Up-vote this comment to grow my power and help Open Source contributions like this one. Want to chat? Join me on Discord https://discord.gg/Pc8HG9x

Coin Marketplace

STEEM 0.18
TRX 0.15
JST 0.028
BTC 63283.09
ETH 2463.49
USDT 1.00
SBD 2.54