Ahududu Pi Arduino'ya tercih edildiğinde

Sınıfta bazı projeler yapıyoruz. Arkadaşlarımdan biri ahududu Pi'yi birkaç sensörlü ve LCD'li kullanarak hava ve nem istasyonu yapıyor. Arduino'da biraz deneyimim var. Ben de sordum, neden bir Arduino kullanarak yapmıyor? Pi'nin daha 'güçlü' olduğunu söyledi. Hangi yönlerden, Arduino'dan daha güçlü mü? Ahududu Pi için Arduino'ya ne zaman gitmeliyim?

7
Gerçekten de daha güçlü. Ancak bir "meteoroloji istasyonu" için bir galibiyet. RPi tam özellikli bir bilgisayar . Arduino oldukça aptal ve zayıf bir mikrodenetleyicidir.
katma yazar Deestan, kaynak

5 cevap

Pi'nin daha "güçlü" olduğu iddiası biraz yanıltıcıdır. "Güçlü" gerçekten ne anlama geliyor? Ve bir meteoroloji istasyonu yapmakla alakalı mı?

Bir Atmega328P (burada) kullanarak burayı açıklandığı gibi bir sıcaklık ve nem sensörü yaptım. Arduino Uno içindeki işlemci). Tahmini ortalama güç tüketimi, değiştirilmeden önce birkaç yıl boyunca 3 x AA pilden çalışmasına izin veren 42 µA'dır. Pi'nin "güçlü" işlemcisi ve ekstra bileşenleri ile bunu yapamayacağını göreceksiniz.

Hızlı bir arama ile Pi'nin boştayken (modele bağlı olarak) 80 mA ila 240 mA kullandığını görüyorum. Bu, Pi ile çalışan bir meteoroloji istasyonunun pillerden 2000 kez daha hızlı bir şekilde yemek yemesini sağlar. Belki bu bir düşünce olurdu.

Pi, anakart üzerindeki bir Unix bilgisayarıdır, yani önyükleme sırasında ortaya çıkabilecek hatalarla normal önyükleme sırasından geçer. Bu hataların neler olduğunu görmek için bir klavye ve ekran bağlamanız veya bir ağ üzerinden başka bir bilgisayardan bağlamanız gerekir.

Pi'yi çalıştırmak istemiyorum - bu küçük bir tahtada ucuz ve ucuz bir Unix bilgisayarı. Ancak Arduinos (birçoğu) programlanması biraz daha basittir. Bir başlangıç ​​için işletim sistemi hakkında endişelenmenize gerek yok. Bir meteoroloji istasyonu için her 5 dakikada bir okuma alarak, Pi'nin "50 kat daha hızlı" okumasını yapması kimin umrunda?


Uykudan iyileşme hızı

Seri verinin uyanmasına izin vermeyle ilgili bir yanıtlarını aldım. Arduino - Bazı deneylerden sonra, Atmega328P'yi en derin uykudan (260 nA - evet 0.260 µA!) 6 saat içinde (750 ns) uyandırmayı başardım. Pi'de düşük güç tüketimi veya mikrosaniye altında uyanma konusunda bunu başarabileceğinden şüpheliyim.

Bu, seri verideki 9600 baud'daki başlangıç ​​bitini tespit etmek, başlangıç ​​bitini işlemek ve ardından gelen baytın geri kalanını veri kaybetmeden tespit etmek için yeterince hızlıydı.

9
katma
Hata noktası oldukça iyi. Pi, depoya yazma gibi tüm normal linux işlerini yaptığı için, bir arduino olarak kapatılıp açılmaması gereken işletim sistemi kırılmasıyla sonuçlanabileceği gücü kaybediyor.
katma yazar Qwertie, kaynak

Biraz tartışılan bir soru ama biraz geri bildirim vereceğim. Çeşitli şeylere bağlıdır:

  • Müşterinize ne kadar UX ve kullanıcı arayüzü vermek istiyorsunuz
  • Bunu ne kadar kolay programlayabilirsiniz
  • Hangisi daha ucuz bir çözümdür
  • Programın ne kadar hızlı çalışmasını istiyorsunuz
  • Hangisi daha dayanıklı ve cihazı ne kadar süreyle kullanmak istiyorsunuz?

Bu cevabın uzun olmasını önlemek için, her ikisiyle de deneyimlerimden hızlıca bir karşılaştırma yapacağım.

Arduino: Cheap, easy to program, capable of flexibility with UX and UI but has very limited memory. The Arduino is typically good for something that can just complete tasks on their own. I've written state machines and have used it for PLCs with an Arduino. It's a good device for a cheaper budget. Arduino is pretty fragile, however.

Raspberry Pi: More expensive, a lot more powerful in terms of processing speed, has a lot more memory, extremely good for UX and UI devices that are being developed, good for artificial intelligence, state machines, PLCs, etc. Also really good for data logging, image processing, and radio frequency applications. You can also boot an operating system on it (e.g. Linux/Unix). In other words, a Raspberry Pi can used as a computer while the Arduino... well I guess it depends how you define, "computer" LOL.

Yani sensörler ve LED'ler kullanmak kadar basit bir şey yapmaya çalışıyorsanız, Arduino Uno'ya giderdim.

7
katma

Arduino kartlarının aksine, Raspberry Pi, dört çekirdekli bir işlemciye, GPU'ya, yerleşik RAM'e ve birçok çevre birime sahip tek kartlı bir bilgisayardır. Pi ve Arduino (veya herhangi bir temel mikrokontrolcü) arasındaki temel fark işletim sistemidir. Pi, kullanıcının Arduino'da harici devreler olmadan çalışması imkansız olacak karmaşık bilgi işlem görevlerini yerine getirmesini sağlayan birçok Linux dağıtımını (Debian resmi olan) yapıyor. Bu nedenle, Raspberry Pi, önemli CPU/GPU gücü veya bellek gerektiren herhangi bir yazılım için yeterli olacaktır. Arduino'nun çoğunun, Raspberry Pi'de bulunan aynı tip çevre birimleriyle etkileşime girebileceğini, ancak işlem gücünün eksik olabileceğini unutmayın. Ayrıca, analog sinyallerle düşük seviyeli arayüzleme, entegre ADC'lere (analog-dijital dönüştürücüler) sahip olduğundan Arduino ile çok daha uygundur.

6
katma

Raspberry Pi'ye Arduino üzerinden ne zaman gitmeliyim

Her zaman fiyat farkı var ama bunun dışında şunu söyleyeceğim: Raspberry Pi, Arduino'nun yapabileceği her şeyi yapabilir ve zamandan çok kritik olan KABUL görevlerini daha iyi ve daha hızlı yapabilir. Dolayısıyla, olaylara mikro saniye veya milisaniyede cevap vermeniz gerekiyorsa veya bu büyüklüklerde sinyaller üretmeniz gerekiyorsa, bir Arduino'ya ihtiyacınız olacaktır.

4
katma
RPi'deki çıplak metal programlar, gerçek zamanlı gereksinimler için Arduino'dan daha kötü performans göstermez. İnsanlar sadece işletim sistemi ile şımartılıyor.
katma yazar Deestan, kaynak
Çıplak metal programlar Arduino'dan çok daha hızlı olacak. Cz, Pi'nin saati neredeyse 50 kat daha hızlı: D
katma yazar Adarsh, kaynak

"Saf donanım" tabanlı sistemlerde, gerçek zamanlı sistemlerde OS ile Arduino'yu Pi ile her zaman tercih edebilirsiniz. Güç tüketimi, fiyat UNO için diğer artı puan. Pi, işletim sisteminin bu görevleri basitleştirdiği karmaşık bilgisayar işlemlerinde her zaman daha iyidir. Ancak sensörle ilgili projeler için kesinlikle bir "bilgisayar" kullanmak istemezsiniz!

2
katma