3D Yazıcı Bildirim, Yazdırma Bitince Telefonunuza Bildirim Yollasın

10 Ocak 2019
3d yazıcı bildirim

Malum üç boyutlu yazıcıların yazdırma işlemleri oldukça uzun sürüyor başında durmak istemeyen ve yazma işi bitince başka işlem içi yanına gitmek isteyenler için bir yöntem geliştirdim 3D Yazıcı Bildirim ve paylaşmaya karar verdim.

3D Yazıcı Bildirim

Tam olarak ne yaptığımı anlatacak olursam, yazıcı yazma işlemine başlıyor ve bitirdikten sonra yaptığımız modül ile yazdırma işlemi bitip x motoru 0 konumuna geldiğinde esp8266 üzerinden nodemcu ile telefonumuza mobil bildirim yolluyor.

Yapacağımız modülde sadece nodemcu ve jumper kablolar ve 1 adet 10k direnç kullanacağız. Ufak bir lehimleme ile işlemimiz tamamlanacak bütün aşamaları fotoğraflandırmaya çalışacağım ve yazı sonunda video ile tam olarak ne yaptığımı görebilirsiniz. Bu bağlantıyı illa nodemcu değil elinizde var ise arduino pro mini nano ve esp8266 ile de yapabilirsiniz.

nodemcu ve yazıcı arasında şöyle bir bağlantı olacak.

3d yazıcı bildirim

 

3d yazıcı bildirim 3d yazıcı bildirim 3d yazıcı bildirim

Öncelikle switch üzerinden 3 adet çıkış var bunlar S,V,G biz burada S,V olanlara birer jumper kablo lehim yapacağız ve V olanı nodemcunun A0 girişine S olanı ise nodemcunun GND girişlerinden birine bağlayacağız.

3d yazıcı bildirim

3d yazıcı bildirim

Önemli!
Bağlantı için aşağıdaki fotoğraf gibi olmalı aksi takdirde analog değerden saçma sapan okumalar gerçekleşir. 10k direnç ile biz bu gereksiz algılamaları gnd göndermiş oluyoruz.

Belki karmaşık gelmiş olabilir ama yaptığımız iş oldukça basit video ile daha anlaşılır olacaktır.

 

3D Yazıcı Bildirim

Nodemcu vin kısmına yazıcıdan gelen 5v gnd kısmını ise yazıcıdaki gnd
kısmına bağlıyoruz.

 

3D Yazıcı Bildirim

Yazıcı kartındaki 5v ve gnd çıkışları.

3D Yazıcı Bildirim

x motorundan gelen artı ve eksi hatlar.

3D Yazıcı Bildirim

3D Yazıcı Bildirim

Yazıcının kart kutusuna nodemcu yerleştiriyoruz ve a0 gnd pinlerinin hattını x motorundaki switch bağlıyoruz.

 

 

Kodlama kısmında ise hazır bir bildirim gönderme işi yapan aracı siteyi kullanacağız. https://www.pushbullet.com

Siteye girerek üyelik açıyoruz ve uygulamasını playstore dan telefonumuza yüklüyoruz sonrasında ise siteden alacağımız bir api kodu var bu kadar. Onuda nodemcuyu kodlarken kullanacağız. Şimdi kodlamaya geçelim.

#include <ESP8266WiFi.h> // esp8266 kütüphanesini ekliyoruz
#include <WiFiClientSecure.h> 

const char* ssid = "Akyol";//wifinin adı
const char* password = "king1199"; //wifi şifresi

const char* host = "api.pushbullet.com"; 
const int httpsPort = 443; // bağlantı portu
const char* PushBulletAPIKEY = "o.2VdtbuWJFkZGIAPdU3DNmq4qQBPG2xcd"; //pushbulletden aldığımız api kodunu değiştirin

int kontrol=0; //burada kontrol durumu oluşturuyoruz sürekli mesaj göndermesin sadece bitince

void setup() {
  Serial.begin(115200);
  Serial.println();
  Serial.print("connecting to ");
  Serial.println(ssid);

}
void loop() {
delay(5000); 
int sensorValue = analogRead(A0);  // a0 dan aldığı değeri okuduk
float voltage = sensorValue * (5.0 / 1023.0);  // gerilim olarak görmek için çevirdim
Serial.print(sensorValue); // okuduğunuz değeri yazdık
Serial.print(" | ");
Serial.println(voltage);
if(sensorValue>250){   // eğer gerilim var ise motor 0 konumuna gelmiş if içine gir
  if(kontrol==0){ // kontrol ile daha öncemesaj gitmemiş ise göndermek için başla, gönderdi ise 1 olur atlar.
  calis(); // fonksiyonu çağırdık bildirim yollandı.
  kontrol=1; // bildirim tekrar gitmesin diye kontrol değişkenini değiştirdik.
  }
} //if bitti
else if(sensorValue<30){  // şayet yazıcı çalıştı yazdırmayı bitirdi bildirim geldi. elektriği kesmeden tekrar yeni görev verdiyseniz o zaman burası devreye girecek.
  kontrol=0;  // kontrol tekrar sıfır yaparak motor 0 konumuna geldiğinde yine mesaj gelecek.
} //else if bitti
delay(100);
}




void calis(){  // bildirim gönderme değişkeni

  WiFi.mode(WIFI_STA);
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }

 
  WiFiClientSecure client;
  Serial.print("connecting to ");
  Serial.println(host);
  if (!client.connect(host, httpsPort)) {
    Serial.println("connection failed");
    return;
  }
 // aşağıdaki alandan gelmesini istediğiniz mesajı değiştirebilirsiniz.
  String url = "/v2/pushes";
  String messagebody_note = "{\"type\": \"note\", \"title\": \"Merhaba !\", \"body\": \"Ender-3 Durdu. \"}\r\n";
  String messagebody_link = "{\"type\": \"link\", \"title\": \"Youtube Kanalım\", \"body\": \"^^!\", \"url\": \"https://www.youtube.com/channel/UCsysYREXXqhEjNF7l8_6MIg?view_as=subscriber\"}\r\n";
  Serial.print("requesting URL: ");
  Serial.println(url);
  //send a simple note
  client.print(String("POST ") + url + " HTTP/1.1\r\n" +
               "Host: " + host + "\r\n" +
               "Authorization: Bearer " + PushBulletAPIKEY + "\r\n" +
               "Content-Type: application/json\r\n" +
               "Content-Length: " +
               String(messagebody_note.length()) + "\r\n\r\n");
  client.print(messagebody_note);
  delay(10000); // wait 10 s
 

  Serial.println("request sent");
  //print the response

  while (client.available() == 0);

  while (client.available()) {
    String line = client.readStringUntil('\n');
    Serial.println(line);
  }
}


Kodlama kısmında tüm detaylara yer vermeye çalıştım.  Yorum kısmından takıldığınız noktaları sorabilirsiniz. Teşekkürler

 

About Orçun AKYOL

Moslow'un İhtiyaçlar piramidinin kendini gerçekleştirme basamağı için girişimlerde olan, Sağlıkçı olup, Bilgisayar Öğretmenliği okuyan bir eğitim neferi 😉
Hemen Paylaş..Share on Facebook
Facebook
Tweet about this on Twitter
Twitter

Yorum Yapılmamış

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir


Maksimum boyutu: 5 MB.
Eklenebilecek dosya türü: image.