İçeriğe Geç

#21 PicoBricks ile Otomatik Çöp Kutusu Projesi

04 Nov 2023
#21 Automatic Trash Bin Project With PicoBricks
Bir çöp kutusunun otomatik açılıp kapanması imha etme sürecini büyük ölçüde basitleştirir çöp ve israf. Bu projemizde yapacağımız çöp kutusu, bir şeyi atmak üzere olduğunuzu anlıyor gibi görünüyor; elinizi yaklaştırdığınızda kapağını açar, uzaklaştırdığınızda ise kapanır. Bunun için bir kullanıyoruz Ahududu Pi ve bir Ultrasonik sensör. Proje üzerinde çalışmaya başlayalım.
Kovid 19 salgını insanların günlük rutinlerini değiştirdi. Temizlik, çalışma, alışveriş ve sosyal yaşam gibi pek çok alanda insanlara uymak zorunda oldukları bir dizi yeni kural tanıtıldı. Kovid-19, öne çıkan bazı ürünlerin yanı sıra yeni iş alanlarının da gelişmesine yol açtı. El hijyeninin çok önemli olduğu bir dönemde kimse çöplerini atmak için çöp kutularının kapağına dokunmak istemiyordu.

 

Otomatik olarak açılan çöp kutuları yaklaşıldığında, dolduğunda ise çöpe hazır hale getirilen poşetler, maliyetinin çok üzerinde fiyatlarla alıcı buldu. Ayrıca otomatik dezenfektan makineleri ellerimizi altına tuttuğumuzda avuçlarımıza belli miktarda sıvı dökerek temassız hijyen sağlıyordu. Otomatik dezenfektan makineleri maliyetinin çok üzerinde fiyatlarla raflardaki yerini aldı. Bu iki ürün çalışma prensipleri açısından benzerlikler taşımaktadır. Otomatik dezenfektan makinelerinde sıvıyı elektrik motorlu veya servo motorlu bir pompa dağıtır. Otomatik çöp kutularında kapağı açan servo motor kullanılmış olup, el hareketini algılamak için kızılötesi veya ultrasonik sensörler kullanılmıştır. 

Bu projemizde PicoBricks ile ultrasonik sensör ve servo motor kullanarak odanıza otomatik şık bir çöp kutusu yapacaksınız.

Ayrıntılar ve Algoritma

Bu projede HC-SR04 ultrasonik mesafe sensörü ve SG90 servo motor kullanılacaktır. Kullanıcı elini çöp kutusunun kapağının önüne koyduğunda mesafe sensörü yakınlığı algılayacak ve programa bildirimde bulunacaktır. Programınız daha sonra servo motoru çalıştırarak çöp kutusunun kapağını açacak ve kısa bir süre sonra tekrar kapatacaktır.

Bileşenler

1X PicoBrick
1X HC-SR04 Ultrasonik Sensör
1X Servo Motorlu
Atlama Kabloları
Kolay Bağlantı Kabloları

Bağlantı şeması

Picobricks modüllerini kablolama olmadan kodlayabilir ve çalıştırabilirsiniz. Modülleri panodan ayırarak kullanacaksanız modül bağlantılarını grove kablolarla yapmalısınız.

Projenin İnşaat Aşamaları

Projenin 3 boyutlu çizim dosyalarını adresinden indirebilirsiniz. bu bağlantı ve 3D baskıya sahip olun.

1: Servo motor aparatının çöp kutusu kapağına vidalayarak sabitleyiniz.

2: Ultrasonik mesafe sensörünü sıcak tutkalla çöp kutusunun kapağına sabitleyin.

 

Automatic Trash Bin Project


3: Ultrasonik mesafe sensörünün kablolarını kutudaki delikten geçirip PicoBricks devre şemasında gösterilen pinlere bağlayın, servo motoru yapın ve motor sürücüsü bağlantılar. 4: Servo motoru, PicoBricks'i ve motor sürücü parçalarını sıcak tutkalla kutuya sabitleyin.

Her şey yolunda gittiyse elinizi çöp kutusuna yaklaştırdığınızda kovanın kapağı açılacak ve çöpü attıktan sonra tekrar kapanacaktır.

 

 

PicoBricks'in MicroBlock Kodları

Projenin Microblocks kodlarına görseli Microblocks Run sekmesine sürükleyerek veya butonuna tıklayarak ulaşabilirsiniz. düğme.

 


Mikroblok Çalıştırma Sekmesi

PicoBricks'in MicroPython Kodları

 

makine içe aktarma Pininden, PWM
utime içe aktarma uykusundan

servo = PWM(Pin(21, Pin.OUT))
tetikleyici = Pin(15, Pin.OUT)
echo = Pin(14, Pin.IN)
servo.freq(50)
servo.duty_u16(1920) # 15 derece

def getDistance():
    tetikleyici.düşük()
    utime.sleep_us(2)
    tetikleyici.yüksek()
    utime.sleep_us(5)
    tetikleyici.düşük()
    while echo.value() == 0:
        signaloff = utime.ticks_us()
    while echo.value() == 1:
        signalon = utime.ticks_us()
    geçen süre = sinyal açık - sinyal kapalı
    mesafe = (geçen süre * 0,0343) / 2
    print("Nesneye olan uzaklık ", uzaklık, "cm")
    dönüş mesafesi

Doğru iken:
    uyku(0,01)
    if int(getDistance()) <= 10:
        servo.duty_u16(4010) # 70 derece
        utime.sleep(0.3)
        servo.duty_u16(1920)

PicoBricks'in Arduino C Kodları

 

#include 
#define trigPin 14
#define echoPin 15
Servo servo;

geçersiz kurulum() {
  Seri.begin (9600);
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
  servo.attach(21);
}

geçersiz döngü () {
  uzun süre, mesafe;
  digitalWrite(trigPin, DÜŞÜK);
  gecikmeMicroseconds(2);
  digitalWrite(trigPin, YÜKSEK);
  gecikmeMicroseconds(10);
  digitalWrite(trigPin, DÜŞÜK);
  süre = darbeIn(echoPin, YÜKSEK);
  mesafe = (süre/2) / 29,1;
  
  if (mesafe < 80) {
    Seri.print(mesafe);
    Seri.println("cm");
    servo.write(179);
  } else if (mesafe < 180) {
    Seri.print(mesafe);
    Seri.println("cm");
    servo.write(100);
  }
}

GitHub Proje Sayfası
Önceki Gönderi
Sıradaki Gönderi

Abone olduğun için teşekkürler!

Bu e-posta kaydedildi!

Görünümü satın alın
Seçenekleri Seçin

Seçeneği Düzenle

Stok Bildirimi

Karşılaştır

Ürün Stok KoduDeğerlendirmeAçıklama Kategori Uygunluk Ürün Tipi Diğer Detaylar
this is just a warning
Giriş Yap
Alışveriş Sepeti
0 Ürünler
Same Day Shipping No Extra Costs
Easy Returns Guarantee Return with Ease
Secure Checkout Secure Payment