Robotik Kodlama

Robotik Kodlama
Ana Sayfa

İLGİNİZİ ÇEKEBİLECEK LİNKLER :

30 Haziran 2021 Çarşamba

Arduino Akıllı telefon bluetooth ile sıcaklık ve nem

 


İşte evinizin sıcaklığını ölçmekten ve akıllı telefonunuzdaki verileri toplamaktan oluşan küçük bir ev projesi. Bluetooth modülü, çoklu veri ile başa çıkma yolu ile seri iletişim ve App Inventor 2 ile yapılmış bir akıllı telefon Android uygulaması kullandığımız basit bir projedir.

Not: Fritzing'de görüntülenen modül bir HC-05'tir ancak HC-06 ile aynı pin çıkışına sahiptir.

Malzeme

  • akıllı telefon
  • Arduino UNO'su
  • 5V Pil
  • Sıcaklık sensörü LM35
  • Bluetooth modülü HC-06

kod

Sıcaklık aralığını ve voltaj ile sıcaklık arasındaki dönüştürme kuralını bulmak için LM35 sensörünün veri sayfasını araştırıyoruz Ölçülen voltajı fiziksel bir değere çevirebilme. Sıcaklık ölçüldüğünde, Bluetooth modülü aracılığıyla akıllı telefona gönderilir. Çoklu verilerle başa çıkmak için veriler, deşifre etmeyi kolaylaştıran bir ayırıcı ile bir String'de birleştirilir.

.

#include <SoftwareSerial.h>                          
SoftwareSerial HC06(2,3); 

// Constants
#define DELAY 1000 // Delay between two measurements in ms

// Parameters
const int sensorPin = A0; // Pin connected to sensor

// Variables
float voltage, temperature;

void setup(void) {
  Serial.begin(9600);
  HC06.begin(9600);
}

void loop(void) {
  voltage= analogRead(sensorPin) * (5.0 / 1023.0); // Convert digital value to voltage
  temperature=100*voltage; // conversion from V to °C
  
  Serial.print("Sensor reading = ");
  Serial.println(temperature); // the temperature reading

  // Send voltage and temperature value to app
  HC06.print(voltage);
  HC06.print("x");
  HC06.print(temperature);
  
  delay(DELAY);  
}


Ev Ölçüm Uygulaması

App mucit 2 kullanarak basit bir uygulama oluşturduk.Arduino'dan gelen veriler Android uygulamasına metin olarak gönderiliyor. Sensörden değerleri elde etmek için metnin “x” ayırıcısına göre bölünmesi gerekir. Ortaya çıkan liste öğeleri daha sonra ilgili etiketlerde görüntülenir.

ev ölçümü için android uygulama mucidi 2uygulama mucidi 2 ev ölçüm çizik

Bluetooth modülü, telefonunuzdaki Bluetooth cihazları listesinde saklanmalıdır. Bluetooth modülü HC-05 veya HC-06, uygulamayı kullanmadan önce bir kez eşleştirilmelidir. 

ANA SAYFAYA DÖN

Bahadır ÖZGEN
Electronic Robotic Coding Research and Development 1975 - ∞
Learn Forever
If you want, let's learn together...
https://roboticcode2020.blogspot.com/
bahadirozgen1975@gmail.com
facebook    robotic.code
instagram    @roboticcode


Sayfalarımı ziyaret ettiğiniz için teşekkür ederim.Bu sitede mevcut olan içerikler kendi oluşturduğum projeler yazı,resim ve videolardan oluşmaktadır.İçerik oluşturmak çok uzun sürdüğü için bazı projelerde yurtdışı kaynaklardan faydalandım.Buradaki amacım ticari değildir.Kaynağı belli olan ve bizim kaynağına ulaşabildiğimiz materyal (yazı, fotoğraf, resim, video v.b.) için ilgili konularda fotoğraflarda logo varsa v.b. not olarak gösterilecektir.Sitemizde yayınlanan tüm içerik, bizim tarafımızdan ve internet üzerinden youtube, facebook ve blog gibi paylaşıma sunulmuş kaynak sitelerden alındığı için, sitemiz yasal yükümlülüğe tabi tutulamaz. Sitemizde telif haklarının size ait olduğu bir içerik varsa ve bunu kaldırmamızı isterseniz, iletişim sayfamızdan bizimle iletişime geçtiğiniz takdirde içerik yayından kaldırılacaktır.Bu konu ve modüller ile uğraşarak, ileride çok güzel makine ve elektronik aletler yapabilirsiniz.


MAX7219 8X8 DOT LCD ile Ses Şiddetine göre Emojiler ve Rastgele Sayı Üretme

MAX7219 Dot Matrix LCD ile Ses Şiddetine Göre Emojiler

Arduino kurulumu gerçekleştirildikten sonra araçlar menüsünden doğru kartın seçilmesi gerekmektedir. 

Kart seçilmediğinde “Karta yüklenirken bir sorun oluştu.” benzeri bir hata alabilirsiniz.

Arduino kurulumu gerçekleştirildikten sonra araçlar menüsünden doğru portun seçilmesi gerekmektedir. Bu port Arduino Uno’nun bilgisayara bağlandığı usb porttur. Farklı şekilde bilgisayarınızda usb driver yüklenmemiş olabilir. Bu gibi hatalarda “Port bulunamadı.” gibi hatalar almanız muhtemeldir.

  1. Arduino üzerindeki 5V pini breadboard üzerinde “+” hatta, GND pini ise breadboard üzerinde “-” hatta bağlanır.
  2. Dot Matrix’in VCC pini “+” hatta, GND pini “-” hatta, DIN 5 nolu dijital pine, CS 4 nolu dijital pine, CLK 3 nolu dijital pine bağlanır.
  3. Ses Sensörü’nün VCC pini “+” hatta, GND pini “-” hatta, OUT pini 9 nolu dijital pine bağlanır.

Kod:

#include "LedControl.h"
int DIN = 5;
int CS = 4;
int CLK = 3;
int Sound_Out=9;
byte gulumseyen[8]= {0x3C,0x42,0xA5,0x81,0xA5,0x99,0x42,0x3C};
byte uzgun[8]= {0x3C,0x42,0xA5,0x81,0x99,0xA5,0x42,0x3C};
LedControl lc=LedControl(DIN,CLK,CS,0);
void setup(){
pinMode(Sound_Out,INPUT);
lc.shutdown(0,false); //Max72xx açılır
lc.setIntensity(0,1); // parklaklıhı ayarlar
lc.clearDisplay(0); // ekranı temizler
Serial.begin(9600);
}
void loop(){
if(digitalRead(Sound_Out)==1)
{
printByte(gulumseyen);
Serial.print("Ses yok");
delay(100);
}
else
{
printByte(uzgun);
Serial.print("Ses var");
delay(5000);
}
}
void printByte(byte character [])
{
int i = 0;
for(i=0;i<8;i++)
{
lc.setRow(0,i,character[i]);
}
}

  • Yukarıdaki bağlantı yapıldığında ve kodlar Arduino Uno’ya yüklendiğinde çalışma tamamlanmış olacaktır.
  • Bu uygulamada ses sensöründen ses algılandığında Dot Matrix’te üzgün surat ifadesi, ses algılanmadığında ise gülen surat ifadesi görülecektir.
  • Aynı zamanda serial ekranda ses algılandığında “ses var”, algılanmadığında ise “ses yok” uyarısı alacaksınız.

Dot Matrix Display’de Random Sayı Üretme

Bağlantılar şekildeki gibi yapılır.

  1. Arduino üzerindeki GND pini breadboard üzerinde “-” hatta bağlanır.
  2. Butonlar şekildeki gibi breadboarda yerleştirildikten sonra bir bacakları “-” hatta bağlanır.
  3. Boşta kalan bacağı Arduino Uno üzerinde A0’a diğer butonun boşta kalan bacağını ise A1 pinine bağlayın.
  4. 7 segment breadboarda yerleştirildikten sonra alt kısımdaki pinleri ilk pin boşta kalacak şekilde sağdan sola doğru sırasıyla, 7 – breadboard üzerinde herhangi bir yere – 6 – 5 nolu pinlere bağlanır.
  5. Üstteki pinler ise sağda sola doğru 8 ve 9 nolu pinlere bağlanır. Ortadaki pin şekildeki gibi bir önceki breadboard üzerinde herhangi bir yere takılan pinin hizzasına bağlanır. Boşta kalan diğer pinler ise sağdan sola doğru sırasıyla 4 ve 3 nolu pinlere bağlanır.
  6. Herhangi bir yere bağlanan pinlerin hizzasında Arduino’nun 5V pinine bir hat çekilir.
  7. Kodları yüklediğiniz takdirde 7 Segment çalışmaz ise 5V’a çekilen hat , “-” hat ile değiştirilmelidir.

Kod:

#define resett 15
#define dice 14
char digit[6]={0x02, 0x79, 0x24, 0x30, 0x19, 0x12};
int pin[7]={9,8,7,6,5,4,3}; //displayin bağlantı pinleri
void setup()
{
for(int i=0;i<7;i++)
pinMode(pin[i], OUTPUT);
pinMode(dice, INPUT);
pinMode(resett, INPUT);
digitalWrite(dice, HIGH);
digitalWrite(resett, HIGH);
int temp=0x40;
for(int i=0;i<7;i++)
{
int temp1=temp&0x01;
digitalWrite(pin[i], temp1);
temp=temp>>1;
}
delay(1000);
}
void loop()
{
int temp=rand(); //rastgele seçilen bir sayının temp değiş. atanması
if(digitalRead(dice)==0)
{
int k=temp%6;
temp=digit[k];
wait();
for(int i=0;i<7;i++)
{
int temp1=temp&0x01;
digitalWrite(pin[i], temp1);
temp=temp>>1;
}
delay(200);
}
if(digitalRead(resett)==0)
{
temp=0x40;
for(int i=0;i<7;i++)
{
int temp1=temp&0x01;
digitalWrite(pin[i], temp1);
temp=temp>>1;
}
}
}
void wait()
{
for(int m=0;m<10;m++)
{
for(int k=0;k<6;k++)
{
int ch=digit[k];
for(int l=0;l<7;l++)
{
char tem2=ch&0x01;
digitalWrite(pin[l], tem2);
ch=ch>>1;
}
delay(50);
}
}
}

  • Yukarıdaki bağlantı yapıldığında ve kodlar Arduino Uno’ya yüklendiğinde çalışma tamamlanmış olacaktır.
  • Bu uygulama çalıştığında 7 Segment 0 rakamını gösterecektir.
  • Butonlardan biri resetleme biri sayı üretme butonudur. Bunların hangileri olduğu bağlantıyı nasıl yaptığınıza bağlıdır.
  • Bir butona basınca 7 Segment saymaya başlayacak ve random bir sayıda duracaktır.
  • Diğer butona basınca segment resetlenecektir.

ANA SAYFAYA DÖN

Bahadır ÖZGEN
Electronic Robotic Coding Research and Development 1975 - ∞
Learn Forever
If you want, let's learn together...
https://roboticcode2020.blogspot.com/
bahadirozgen1975@gmail.com
facebook    robotic.code
instagram    @roboticcode


Sayfalarımı ziyaret ettiğiniz için teşekkür ederim.Bu sitede mevcut olan içerikler kendi oluşturduğum projeler yazı,resim ve videolardan oluşmaktadır.İçerik oluşturmak çok uzun sürdüğü için bazı projelerde yurtdışı kaynaklardan faydalandım.Buradaki amacım ticari değildir.Kaynağı belli olan ve bizim kaynağına ulaşabildiğimiz materyal (yazı, fotoğraf, resim, video v.b.) için ilgili konularda fotoğraflarda logo varsa v.b. not olarak gösterilecektir.Sitemizde yayınlanan tüm içerik, bizim tarafımızdan ve internet üzerinden youtube, facebook ve blog gibi paylaşıma sunulmuş kaynak sitelerden alındığı için, sitemiz yasal yükümlülüğe tabi tutulamaz. Sitemizde telif haklarının size ait olduğu bir içerik varsa ve bunu kaldırmamızı isterseniz, iletişim sayfamızdan bizimle iletişime geçtiğiniz takdirde içerik yayından kaldırılacaktır.Bu konu ve modüller ile uğraşarak, ileride çok güzel makine ve elektronik aletler yapabilirsiniz.