2 puan yazan GN⁺ 2025-08-09 | 1 yorum | WhatsApp'ta paylaş
  • flip-card projesi, ultra küçük kartvizitte FLIP (Fluid-Implicit-Particle) akışkan simülasyonunu çalıştıran bir açık kaynak donanım projesidir
  • PCB tasarım dosyaları ve simülasyon mantığı doğrudan içinde bulunduğundan inceleme ve uyarlama kolaydır
  • WASM simülatörü ile gerçek donanım olmadan da simülasyon hata ayıklaması yapılabilir
  • Yeniden şarj edilebilir pil ve USB-C portu gibi yaratıcı tasarımlar uygulanmıştır
  • Matthias Müller gibi tanınmış araştırmacıların güncel algoritmaları ve referans projelerine dayanılarak geliştirilmiştir

flip-card proje özeti

  • flip-card, ultra küçük kartvizit boyutundaki bir devre kartına gömülü akışkan simülasyonu algoritmasını gerçek olarak çalıştıran fiziksel bir açık kaynak donanım projesidir
  • Bu proje, mitxela'nın fluid simulation pendant projesinden esinlenmiştir ve kartvizitte doğrudan sezgisel ve görsel akış hareketini gözlemleyebilmesiyle farklılaşır

ana dosyalar ve yapı

  • PCB tasarım dosyaları "kicad-pcb" klasöründe bulunur
  • FLIP tabanlı akışkan simülasyon mantığı, "fluid_sim_crate" klasöründe bağımsız bir Rust crate olarak yer alır; Matthias Müller'in çalışmaları ve "Ten Minute Physics"te tanıtılan yeni yöntemlere dayanarak uygulanır
  • "flip-card_firmware" dosyasında, RP2350 çipi tabanlı bir firmware uygulaması bulunur
Reklam

özellikler ve işlevler

  • Yeniden şarj edilebilir pil entegrasyonu: cnlohr'ın tiny touch lcd projesinden esinlenilerek, kartın kenarında yer alan USB-C portu eklenmiş ve pratik kullanım artırılmıştır
  • WASM simülatörü: "sim_display" klasöründeki WebAssembly aracıyla, donanımsız olarak da PC ve web ortamlarında simülasyon hata ayıklaması yapılabilir
  • Her klasöre ait ayrıntılı açıklamalar ilgili README dosyalarında verilmiştir

diğer bilgiler

  • flip-card, akışkan simülasyon çip implementasyonu, donanım devre tasarımı deneyimi, WebAssembly tabanlı simülasyon hata ayıklama ve yeniden şarj edilebilir kart tasarımı gibi çeşitli güncel gömülü teknoloji konularında öğrenim ve referans için uygundur
  • Açık kaynak topluluğunda referans örneği ve tasarım deneyimi açısından öne çıkan bir projedir

1 yorum

 
GN⁺ 2025-08-09
Hacker News yorumu
  • Kartvizit büyüklüğünde boş bir kaba biraz su koymanın avantajı, daha gerçekçi bir sıvı hareketi sağlayabilmesi, ucuz olması, yapımının kolay olması ve hata ayıklamanın pratik olmasıdır.
    Dezavantajı ise otururken kalçanın ıslanma riski ve zorlayıcı bir işin üstesinden gelirken hissettiğiniz “başarı” duygusunun daha az olması.

    • Kart boyutunda sıvının hareketi çok hızlanabiliyor.
  • Kartın ucundaki USB-C portu gerçekten çok güzel; insanların ileride ayrı bir bileşen eklemeden ve lehimleme yapmadan kartlara USB-C takmanın yolunu öğrendikçe böyle girişimler çok artacak gibi görünüyor.

  • Gerçekten çok şık bir kartvizit ama bu şekilde dağıtmak için fiyatı biraz yüksek görünüyor. Daha önce birinin donanım kartviziti yaptığını görmüştüm; tam hatırlamıyorum ama bu kadar iyi değildi. O kart çok eskimişti ve verdikten sonra geri istemesi tuhaf bir anı bırakmıştı.

    • Herkese vermezdim ama alan kişi bunu hayatı boyunca unutmaz. Masa çekmecesine koyup sürekli oynayarak bakınır gibi olur, böylece o kişinin e-posta adresini veya LinkedIn profilini ezberleyip kalır gibi.
    • Bu tip donanım kartvizitleri genellikle portföy projesi olarak kullanılıyor. İnsanları siteye çokça çekebiliyor; bir freelancer veya iş arayan biriyseniz az sayıda üreterek potansiyel müşterilere veya iş fırsatı doğabilecek kişilere özel verir.
    • Kartviziti geri istiyorsanız o bir kartvizit değil, sadece bir oyuncaktır.
    • Bazı kişilere kartvizit vermeye de gerek olmayabilir. İş ararken, yalnızca böyle bir projeye blog gönderisinde, özgeçmişte/website’de link vermek bile yeterince etkili olabilir.
    • QR kodu gösterim moduna ya da butona sahip olur diye bekliyordum.
  • PCB tasarımının/şemasının nasıl göründüğünü merak ediyorsanız, KiCad dosyalarını görebileceğiniz çevrimiçi bir görüntüleyici ile doğrudan inceleyebilirsiniz. Kartı yapan kişiye (phirks?) bir soru: daha fazla etkileşim veya LED matrix ile metin gibi farklı bilgileri göstermeyi düşündüler mi? Dokunma butonunu kullanırsanız, BOM (parça listesi) üzerinde neredeyse ek maliyet olmadan kontrol imkânı var. Tabii şu anki haliyle bile gerçekten iyi görünüyor.

    • Aklıma ivmeölçer kullanarak Tetris benzeri bir oyun eklemek geldi. Bunu şu anki iş arayışımı bitirdikten sonra denerim. Aslında sayıları gösteren kodu çoktan yazdım ama henüz kullanmıyorum. Metin düşünenden de iyi olmuyor; yazının okunaklı olması için beklentinin üzerinde alan gerekiyor ve LED aralıkları şu anki gibi genişse küçük piksel fontlar güzel görünmüyor. Kaydırmalı metin kötü durmuyor ama henüz oraya kadar dikkat edemedim. QR kod göstermek istedim ama tarama iyi olmadı. Buton kullanmama ilkem olduğu için, ivmeölçerin tıklama/çift tıklama işlevini kullanma şansı olursa bunu daha çok düşüneceğim. Kim olursa olsun fork, katkı, issue açarsa iyi olur; bakımı da iyi şekilde yapmak isterim.
  • Çin’de zaten “digital hourglass” gibi ürünler bu teknikle epey eski zamandan beri satılıyor. Acorn Archimedes için Cataclysm adlı bütün bir oyun böyle bir konsepte göre yapılmıştı; YouTube videosunda görülebilir. Xbox 360 için de remaster edilmiş ama o dönem için cihaza göre çok etkileyiciydi.

    • Gerçekten güzel ve retro bir sıvı simülasyon oyunu. Oxygen Not Included’da çok farklı sıvılar ve gazlar simüle ediliyor, hatta sandbox modu ve debug araçları bile var. Farklı malzemelerin birbirleriyle etkileşimini bir çizim gibi görmeyi özellikle seviyorum. Oyun oynanışı videosu var.
    • Acaba Digital Disco Ball benzeri bir şey de var mı?
  • Böyle bir projeniz hoşunuza gittiyse, mitxela’nın fluid simulation pendant projesini kesinlikle öneririm. Onun yaptığı tüm şeyler daima şaşırtıcı, öğretici ve eğlenceli. Her şeyi cömertçe paylaşıyor; video ve yazı kalitesi çok iyi, sesi de güzel. Hayran kaldım. Keşke böyle insanlar daha çok olsa. Videolarını ve yazılarını mutlaka izleyin.

    • Yuvarlak tasarım sıvı simülasyonu için daha uygun.
    • Tasarımı gerçekten çok beğendim. Ama fiyatının £1200 olması biraz pahalıya geliyor.
  • Tasarım sanatsal olarak çok güzel. Bana göre silk layer’ın üst üste binen bazı kısımları var; o kısımları düzeltebilirler ya da designator (parça etiketi) adını tamamen kaldırabilirler. Arka taraf metin fontunu daha oyunbaz bir stile göre denemek isterdim, beğeniye göre değişir. Genel olarak çok iyi bitirilmiş bir projeye benziyor. Şu sıralar çok fazla RP2350 LED işi yapıyorum; bunun kodunu benim de tasarladığım pendeana çalıştırıp çalıştıramayacağımı merak ediyorum.

  • Konudan biraz sapıyorum ama fizik simülasyonu kodlamaya nereden başlanır merak ediyorum. Birkaç yıl önce taichi_mpm projesini görmüştüm; C++ ile sadece 88 satır ama yine de çok zor hissettirmişti. Derleyici veya veritabanı tarafında basit implementasyon deneyimim olsa da fizik simülasyonu konusunda sıfır hissettim.

    • Başlamak için önce “numerical methods” (sayısal yöntemler) ve “computational physics” (hesaplamalı fizik) ile tanışmak iyi olur. Fizik simülasyonu çok geniş bir alan; sıvı simülasyonu ile gezegen yörüngesi hesaplamanın yöntemi oldukça farklıdır. Esas ortak noktaları, değişkenleri diferansiyel denklemler ve lineer cebir temeliyle sayısal entegrasyon yapmaları. En temelinde, hesaplanan ivme/hız/konumun her adımda güncellenmesine dayanan Euler yöntemi var ama hatası yüksek olduğu için pratikte Runge Kutta gibi ileri yöntemler daha yaygın. Fizik sistemde korunması gereken bir özellik varsa (örneğin enerji korunumu), bunu garanti eden sayısal yöntemler de bulunur. Ayrıca parçacık simülasyonu mu, grid simülasyonu mu olduğuna göre yaklaşım çok farklı oluyor; bu da sorunun fizik felsefesinin derinliğiyle bağlantılı. Tüm şeylerin fiziksel olduğu şeklindeki klasik cümleyle bitiriyor.
    • Rigid body simülasyonu çok daha basit. SIGGRAPH 2001 Rigid Body Simulation Slaytları biraz zorlayıcı ama matematiksel anlayışı ve süreci baştan sona görebilirsiniz.
    • Pico-8 gibi özellikle performansı düşürülmüş bir oyun platformunun sunduğu eğitimler büyük yardımcı olur. Örneğin bir Mario tarzı basit fizik simülasyonunu, karakterin x/y konumunu ve dx/dy (hız) değerlerini her karede güncelleyecek şekilde yazarsanız temel hissi öğrenirsiniz. Oyuncu jump butonuna bastığında durum jump, dy=1 olur; her karede dy'nin 0.9 ile çarpıldığı şekilde. Dy 0'ın altına düşünce durum falling olur, sonra da dy'nin 1.1 ile çarpılmasıyla terminal hıza kadar gider. Bu temeli öğrendikten sonra ‘falling sand’ tipindeki basit fizik efektleri kolayca yapılabilir.
    • Fizik simülasyonu genelde parçacık tabanlı ya da diferansiyel denklem integrasyonuna dayanır. Pratikte her ikisi de discretization (ayrıklaştırma) ve sayısal hesaplarda buluşur. “Numerical Recipes” fizikçilerin mutlaka okuduğu bir başvuru kitabıdır; “Computer Simulation of Liquids” (Allen) başlangıç için de iyi bir seçenek. Burada anlatılan alan gerçek fiziksel doğruluğa odaklıdır; oyun tasarımındaysa gerçek fizik gibi görünmek için yeterli farklı sezgisel yöntemler kullanılabilir.
    • İstatistiksel fizik tarafı için Coursera İstatistiksel Mekanik dersi öneriliyor. Çok sayıda Python örneği var. tenMinutePhysics videosu da başlamak için iyi bir kaynak.
  • 2009’un o dönemki en yeni örneklerinden biri burada görülebilir.

  • Üretim yöntemini daha detaylı bilmek istiyorum, SMT (surface mount) montajın dış kaynaklı bir montaj firmasıyla yapılmış olabileceği düşünülüyor.

    • Elektronik üretim bugün beklediğimizden daha ucuz ve kolay. Devre ve yerleşim KiCAD adlı açık kaynak bir araçla çizilir, muhtemelen yurtdışı bir PCB üreticisine sipariş verilmiştir, bu karmaşıklık kolayca halledilebilir. Yüzlerce dolara yaptırıp kargoyla birlikte bir ay içinde bitirilebilir. SMD (surface-mount device) montajını elle yapmak için önce kalıp/ macun sürüp, parçaları yerleştirip tümünü ısıtarak lehimlemek gerekir; LED sayısı fazla olunca elle yapmak çok zahmetli olur.
    • Aslında bir montaj firmasıyla birlikte çalışılmış (parça konumlarını veren centroid dosyası var), ama bu tür parça montajının elle yapılması da düşündüğümüzden mümkün. Hatta bu yöntem through-hole’dan daha kolay geliyor, çünkü kartı sürekli çevirmek gerekmiyor. Yine de %99.9 ihtimalle JLC veya PCBWay seviyesinde yapılmış olmalı.
    • Bu tip devre kartları JLCPCB gibi yerlerde birkaç dolara küçük partiler halinde üretilebiliyor. Ancak bu ürünün LED’i kaliteli görünüyor; bazı parçaların birim fiyatı yüksek olabilir.
    • LED’lerin bu kadar hassas yerleştirilmesi merak konusu. Silikon benzeri bir malzemenin grid kılavuzuyla mı hizalandı, yoksa robotik pick-and-place ekipmanı mı buna göre yüksek hassasiyetle yerleştirdi?