Arduino pro mini bağlantı. arduino pro mini kartının açıklaması. Arduino Pro Mini - pin çıkışı ve teknik özellikler. Şema ve orijinal proje. Arduino Pro Mini Nedir?

  • 04.11.2019

Arduino Pro Mini denetleyici, hattaki en küçük ve en ucuz cihazdır. Kart, bir flash sürücü ile orantılı boyuttadır. Kontrolörün temeli, 8 MHz veya 16 MHz frekanslı bir ATmega 168'dir. Arduino, küçük projelerde kurulum için kullanılır. Platform, çoğu Arduino sensörü ve modülü ile uyumludur.

Arduino pro mini'nin özellikleri, Arduino Uno ve Nano kartlarının özellikleriyle aynıdır. Aralarındaki fark, Pro Mini'yi USB-UART aracılığıyla flaşlamanın imkansızlığıdır. Bunun yerine, bilgisayara bağlantı oluşturmak için arabirim dönüştürücülü bir FTDI gezgini veya Sparkfun eklenti kartı kullanılır. Çipin çalıştığı hızda da farklılıklar vardır. Arduino pro mini, arduino uno'dan daha düşük bir hıza sahiptir, ancak bunun projeler üzerinde neredeyse hiçbir etkisi yoktur.

Arduino pro mini ile çalışırken dikkatli olmalısınız. Kullanıcı çipe aşırı voltaj uygulayarak yakarsa, onu çıkarmak ve değiştirmek imkansız olacaktır.

Konektörler platforma lehimlenmemiştir. Bağlantı hem klemensler vasıtasıyla hem de sıva üstü montaj ile yapılabilir. Bacaklar lehimlenebilir.

Arduino pro mini mikrodenetleyicinin 2 modeli vardır - 3.3 V ve 5 V. Birincisi 8 MHz saat frekansı kullanır, ikincisi 16 MHz'de çalışır. Hangi model olduğu kasa üzerinde belirtilmelidir.

Mikrodenetleyicideki taslak, geleneksel olarak Arduino IDE geliştirme ortamı aracılığıyla yazılır. Kodu indirmek için özel adaptörlere ihtiyacınız olacak. Başlangıçta zaten yüklü ürün yazılımı ile satılır.

arduino pro mini mikrodenetleyicinin özellikleri:

  • Çalışma gerilimi 3,3 V ve 5 V (modele bağlı olarak);
  • 6'sı PWM çıkışı olarak kullanılan 14 pin;
  • Giriş ve çıkış için DC akımı 40 mA;
  • Toplam çıkış akımı 200 mA'dan fazla değil;
  • 16 KB flash, 2 KB önyükleyici için kullanılır;
  • 1 KB RAM;
  • 512 bayt eeprom;
  • Saat frekansı - modele bağlı olarak 8 MHz veya 16 MHz;
  • I2c arayüzü;
  • Tahtanın boyutları 18x33 mm'dir.

Yemek üç şekilde servis edilebilir:

  • FTDI adaptörü ile;
  • Vcc pinine stabilize voltaj uygulandığında;
  • RAW kontağına voltaj uygulandığında.

Arduino Pro Mini bazında hangi projeler uygulanabilir:

  • Quadrocopter için kontrollü yapılar;
  • zamanlayıcı;
  • Toprak nemi analiz cihazı;
  • Bitkilerin otomatik sulanması;
  • Yağış ve rüzgar hızını ölçmek için cihaz;
  • Akvaryum otomasyonu.

Ve ev ve bahçe için daha birçok proje.

Arduino kartının şematik diyagramı aşağıda gösterilmiştir.

Mikrodenetleyici, her biri bir giriş veya çıkış olarak yapılandırılabilen 14 pime sahiptir. Çıkışlar dijital bir sayı ile işaretlenmiştir, analog olanlar A ile işaretlenmiştir. Çalışma voltajı 3,3 V veya 5 V'dir.

Pin ataması:

  • Seri veri yolu - 0 ve 1 (RX, TX). Veri almak ve iletmek için tasarlanmıştır.
  • Harici kesme - 2 ve 3. Bir kesmeyi çağırmak için kullanılabilir.
  • PWM pinleri - 3, 5, 6, 9, 10, 11.
  • SPI - 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK).
  • LED göstergesi - 13.

6 analog pinin çözünürlüğü 10 bit'tir. Bazı çıktıların ek işlevleri vardır:

  • I2C - A4 (SDA), A5 (SCL).

Kart ayrıca ek bir Sıfırlama pimi ile donatılmıştır. Düşük olduğunda, mikro denetleyiciyi sıfırlar.


Kartın minyatür boyutu, harici yardım olmadan yanıp sönmeye izin vermez. Bir mikrodenetleyiciye çizim yüklemenin birkaç yolu vardır:

  • USB'den TTL'ye adaptör ile;
  • Arduino Uno ile
  • Bir bilgisayara bağlanmak için konektörlü herhangi bir Arduino kartı kullanarak SPI arayüzü aracılığıyla.

En basit yöntem ilkidir.

USB üzerinden TTL adaptörüne bellenim

Satışta özel bir adaptör bulabilirsiniz - UART adaptörü. Bu tür adaptörlerin birçok türü vardır, her ürünün maliyeti düşüktür. RST veya DTR kontakları olan adaptörlerin satın alınması tavsiye edilir, bunlar ürün yazılımı sürecini basitleştirir.

Donanım yazılımı için, adaptörü Arduino'ya bağlamanız gerekir: toprakları bir ve diğer cihazdan bağlamanız gerekir, Vcc - + 5V veya + 3,3 V (modele bağlı olarak), RX - TX, TX - RX. Ardından tasarımın bilgisayara bağlanması, sürücüyü yüklemesi ve bellenimi başlatması gerekir. Bilgisayar, kartın hangi bağlantı noktasına bağlı olduğunu belirleyecektir. Sürücü resmi siteden indirilebilir. İndirilen arşiv paketinden çıkarılmalı ve kurulmalıdır.

Ardından Adruino IDE'yi başlatmanız, istediğiniz kart ve bağlantı noktası numarasını seçmeniz ve bellenimi yüklemeniz gerekir. Bu, aşağıdaki şekilde yapılır:

  • "İndir" e tıklayın;
  • Ardından derleme başlayacak - "Çizim derlemesi" yazısı görünecektir;
  • “Yükleniyor” yazısı göründükten sonra, kart üzerindeki Sıfırla düğmesine basmanız gerekir (RST veya DTR'li adaptörlerde düğmeye basmanız gerekmez).

Önemli! Sıfırla'ya basmak kısa olmalıdır.

Kroki mikrodenetleyiciye yüklenecektir. İşlemin başarıyla tamamlandığı yanıp sönen LED'den anlaşılabilir.

Arduino Uno üzerinden Firmware

Firmware için, bir DIP paketinde klasik bir Arduino Uno kartına ihtiyacınız olacak. Mikrodenetleyiciyi dikkatlice çıkarmanız gereken özel bir konektöre sahip olmalıdır. İşlemcinin bacaklarını bükmemek için tüm adımları dikkatli bir şekilde yapmak önemlidir.

Kabloların arduino pro mini'yi konektöre bağlaması gerekir. Pinler nasıl bağlanır - RX-RX, TX-TX, GND-GND, 5V-VCC, RST-RST.

Bağlandıktan sonra Arduino IDE üzerinden standart eskiz yüklemesini başlatabilirsiniz.

SPI arayüzü üzerinden bellenim

Bu yöntem en zahmetli ve zahmetlidir. Kartın yanıp sönmesi 2 aşamada gerçekleştirilir:

  • Bir ISP programcısı olarak Arduino Uno mikro denetleyicisi için bellenim;

İlk aşama için algoritma:

  • Arduino IDE geliştirme ortamının başlatılması;
  • "Dosya" - "Örnekler" - "11. ArduinoISP" - "ArduinoISP";
  • Ayrıca "Araçlar" - "Kurul" - "Arduino uno";
  • "Araçlar" - "Port" ve istenen COM bağlantı noktası numarası seçilir;
  • Ardından, kodu derlemeniz ve Arduino Uno'ya yüklemeniz gerekir.

Daha sonra her iki kart da yukarıdaki şemaya göre iletkenlerle bağlanmalıdır: 5V - VCC, GND - GND, MOSI (11) - MOSI (11), MISO (12) - MISO (12), SCK (13) - SCK (13 ).

Şimdi Arduino Pro Mini için Arduino IDE'yi kurmamız gerekiyor. Bu, aşağıdaki şekilde yapılır:

  • "Araçlar" - "Board" - istediğiniz Arduino Pro Mini kartını seçin;
  • Aynı menüde "İşlemci"yi seçin - istenen saat frekansına sahip uygun işlemciyi seçin;
  • Ardından, kartın bağlı olduğu bağlantı noktasını ayarlamanız gerekir;
  • "Araçlar" - "Programcı" - ISP olarak Arduino;
  • Ardından taslağı programlayıcı aracılığıyla yüklemeniz gerekir.

Kodun indirilmesinin, "programlayıcı aracılığıyla indir" özel bir menüsü aracılığıyla yapılması gerektiğine dikkat etmek önemlidir. Burada kafanız karışabilir, çünkü bu yöntem elverişsizdir. Normal şekilde yüklemek, kodun Arduino Uno'ya yüklenmesine neden olacaktır.

İndirme işleminden sonra, mikrodenetleyiciyi adaptör aracılığıyla yeniden başlatmak artık mümkün olmayacaktır. "Yazma önyükleyici" aracılığıyla yeni bir önyükleyici yüklemeniz gerekecek.

Herhangi bir ürün yazılımı indirme türünde sorun varsa, kartın bağlantısını kontrol etmeniz gerekir.

Arduino pro mini programlama


Standart Arduino IDE geliştirme ortamı kullanılmaktadır. Cihaz bilgisayara bağlandıktan sonra listeden kartı doğru şekilde seçmeniz gerekiyor. Ana şey Arduino'yu 3.3 V ve 5 V için karıştırmamak. Hangisinin kullanıldığı kasanın üzerine yazılmalıdır.

Seri Bağlantı Noktası öğesinde, kartın bağlı olduğu istenen bağlantı noktasını seçin. Ardından Upload butonuna tıklayarak programı panoya yükleyebilirsiniz.

Yükleme uzun sürebilir ve sonunda hata verebilir. Bunu önlemek için kroki yüklerken Binary sketch size: xxx bytes göründüğünde reset butonuna basmanız gerekir. İndirme sırasında kart üzerindeki LED göstergeler yanacaktır. Krokiyi yükledikten sonra mikrodenetleyicinin bağlantısını kesmeniz ve ona voltaj uygulamanız gerekir.

Farklı Arduino kartlarının özelliklerinin karşılaştırılması

Arduino pro mini'yi diğer kartlardan ayıran temel özellik boyutudur. Arduino Pro Mini'nin boyutları sadece 1.8 cm x 3.3 cm'dir.Arduino Nano kartı biraz daha uzundur - 1.9 cm x 4.3 cm.Arduino Uno kartı yaklaşık 2 kat daha büyüktür, boyutları 6.9 cm x 5.3 cm'dir. Arduino Mega en büyük boyutlara sahiptir - 10,2 cm x 5,4 cm.

Pim sayısı da farklıdır. Arduino Pro mini, Arduino Nano ve Arduino Uno gibi 14 adet dijital pime sahiptir. Arduino Mega, 15'i PWM'yi destekleyen 54 dijital giriş/çıkış ile donatılmıştır.

Arduino Pro Mini ve diğer kartlar arasındaki önemli bir fark, USB-UART ürün yazılımının olmamasıdır. Arduino Nano hariç diğer mikrodenetleyiciler bu şekilde flashlanabilir. Bir rt232 dönüştürücü kullanılarak yanıp söner.

Genel bilgi

Arduino Mini, devre tahtaları veya yüksek alan gereksinimleri gerektiren uygulamalarla kullanım için tasarlanmış küçük, mikroişlemci tabanlı bir cihazdır. Başlangıçta cihaz, şimdi ATmega328 mikrodenetleyicisi () ile değiştirilen ATmega168 mikrodenetleyicisine göre tasarlandı. Cihaz şunları içerir: 14 dijital giriş / çıkış (6 tanesi PWM çıkışı olarak kullanılabilir), 8 analog giriş ve 16 MHz kristal. Arduino Mini, özel bir USB-Seri adaptör veya TTL voltaj seviyelerine sahip herhangi bir USB-Seri veya RS232-Seri arayüz dönüştürücü kullanılarak flash edilebilir.

Arduino Mini'nin (R5) yeni versiyonu, ATmega328 mikro denetleyicisi için PCB'yi güncelledi, böylece tüm bileşenler artık kartın ön tarafında yer alıyor. Ayrıca, bir sıfırlama düğmesi eklendi. Aynı zamanda Arduino Mini'nin yeni versiyonunda pin çıkışı, önceki R4 versiyonuna tamamen benzer.

Dikkat: Arduino Mini'nin besleme voltajı 9V'u geçmemeli veya negatif olmamalıdır. Bu koşula uyulmaması durumunda kart arızalanabilir.

özellikleri

mikrodenetleyici ATmega328
çalışma voltajı 5V
Besleme gerilimi 7-9V
Dijital girişler/çıkışlar 14 (6 tanesi PWM çıkışı olarak kullanılabilir)
Analog girişler 8 (4 tanesi harici pinlerde)
Bir çıkışın maksimum akımı 40 mA
flaş bellek 32 KB (2 KB'si önyükleyici tarafından kullanılır)
SRAM 2 KB
EEPROM 1 KB
saat frekansı 16 MHz

Programlama

Arduino Mini'yi flaş etmek için, özel bir USB-Seri adaptör veya TTL voltaj seviyelerine sahip başka herhangi bir USB-Seri veya RS232-Seri arayüz dönüştürücü kullanabilirsiniz. Donanım yazılımı talimatları için Arduino Mini'ye Başlarken sayfasına bakın.

Arduino Mini'deki ATmega328, harici bir programlayıcıya ihtiyaç duymadan mikrodenetleyiciye yeni programlar yüklemenizi sağlayan bir bellenim önyükleyici ile birlikte gelir. Bununla etkileşim, orijinal STK500 ( , ) protokolüne göre gerçekleştirilir.

Bununla birlikte, ATmega328 mikro denetleyici, önyükleyiciden bağımsız olarak ICSP (Devre İçi Seri Programlama) başlığı aracılığıyla da flash'lanabilir; Mini'yi önyükleyici aracılığıyla yanıp sönmeye yönelik ICSP konektör pin çıkışı hakkında bilgi için ilgili sayfaya bakın. Denetleyiciyi flaş etmek için harici bir programlayıcı kullanma talimatları için, bkz.

Girdiler ve çıktılar

Arduino Mini'nin 14 dijital pininin her biri giriş veya çıkış olarak kullanılabilir. Çıkışlardaki voltaj seviyesi 5V ile sınırlıdır. Tek bir çıkışın sağlayabileceği veya tüketebileceği maksimum akım 40 mA'dır. Tüm pinler, 20-50 kΩ dahili çekme dirençleriyle (varsayılan olarak devre dışıdır) eşleştirilir. 3, 5, 6, 9, 10 ve 11 numaralı pinler analog değerleri PWM sinyali olarak verebilir; bununla ilgili daha fazla bilgi için analogWrite() işlevinin açıklamasına bakın. 0 ve 1 pinleri, cihazı bir Mini USB adaptörü (veya benzeri) aracılığıyla bir bilgisayara bağlarken kullanılır. Herhangi bir harici devrenin bu pinlere bağlanması, bilgisayara USB bağlantısını bozabilir veya mikrodenetleyiciye yeni program yükleme işlemini engelleyebilir.

Arduino Mini, her biri 10 bitlik bir sayı (1024 farklı değer) olarak bir analog voltajı temsil edebilen 8 analog girişe sahiptir. 0 - 3 girişleri, kartın harici konektörüne bağlanır; 4 - 7 girişlerine bağlantı için kart üzerinde delikler ve lehim pedleri bulunur. Varsayılan olarak, voltaj ölçümü 0 ila 5V aralığına göredir.Ancak, bu aralığın üst sınırı, AREF pini ve birkaç düşük seviyeli komut kullanılarak değiştirilebilir.

Pin ataması

Not: Arduino Mini sürüm 03 ve 04 için pin çıkışları farklıdır. Arduino sürümünüz için doğru devreyi kullandığınızdan emin olun.

Arduino + iki servo + şarj panosu + dönüştürücü panosu + eski pil + bir grup radyo parçası + bir parça kontrplak + bir geçiş anahtarı = bir aptalın rüyası gerçek oluyor!
Okumayı sevenler için bol bol yazı. Çapraz okumayı sevenler için bolca spoiler var. Video, videoyu sevenler için. Hemen kopyalayıp "diz üstünde" koşmayı sevenler için eskiz. Fotoğraf, fotoğraf, fotoğraf. Kedi, kedi severler için.

Tam bir sorumluluk reddi değil

Bu benim LED yanıp sönme, Merhaba dünya, vb. dışında ilk projem. Gelenek olarak, kodun mükemmel olmaktan uzak olduğu konusunda önce kafanıza kül serpmelisiniz ve bu konuda bir anlaşmazlığa girdiğinizden emin olun. Ayrıca, kodun başka bir projeden kısmen kopyalanması hakkında, sert vurmamalarını isteyin, vb. Ama olmayacak. Kod mükemmel! Çünkü işe yarıyor, beğendim ve kendim için yaptım.
İlgilenenlere tavsiyede bulunacağım: korkmayın, savaşa katılın, kod dağlarını kürekleyin, mega piramitlerinizi farklı operatörlerden inşa edin. Zamanla, stil, incelik ve ideal gelecek.
Kontrolörün hafızasında yer olduğu sürece hiçbir şeyden korkmazsınız. Bir duvara çarp - optimize edeceksin. Ve bu aynı zamanda gelişmedir. Bu önemli.
C programlama üzerine büyük kitap - evet, faydalı. Ancak, ilk başta, komutlar hakkında hızlı bir referansa sahip olmak ve basit örnekler, kütüphaneler vb. veya aynı Amperka ile çalışmak için birkaç bağlantıya yer işareti koymak çok daha faydalıdır.
Ayrıca, akış şemaları bana çok yardımcı oluyor. Dikdörtgen, eşkenar dörtgen, oval. Kim karşılaştı - anlar. Şu anda bir proje yapıyorum - hiçbir şekilde akış şeması olmadan. Benim için, birkaç gün boyunca çizmek daha iyidir - programın tüm seyrini bir grup kod çizmekten ve içine gizlemekten daha net bir şekilde hayal etmek için kağıda yeniden çizin, çünkü Küçük deneyimim ışığında, programcımın düşüncesinin gücüyle tüm kodu kapsayabilme yeteneğine sahip değilim.
Tekrarlamak veya kendi yönteminizle yapmak isterseniz, tüm soruları cevaplayacağım.
Yazılı okuryazarlığım, stilim, tasarımım, kodum ve ürüne olan ihtiyaç vb. konularda boş tartışmalara girmeyeceğim. İncelemede bir yerde ciddi bir söve yaptıysam düzelteceğim veya ekleyeceğim.

Google'da kendiniz aratabileceğiniz "En Yararsız Cihaz" nedir? tesadüfen denk geldim. Bu kod esas alınmıştır, çünkü. Kendi kendine başlamadı ve kendi senaryolarımı yapmak istedim.

lirik arasöz

Kırktan sonra, özellikle kırktan sonra zaten çok fazlaysa, beyninizi “yoğurmaya” çalışmanız gerektiğini söylüyorlar. Ve bu dil öğrenmek en iyi egzersizdir. Ve sadece bu yaşta değil. Dillerde pek iyi değilim, ama Health dergisi tavsiye ediyor gibi görünüyor ... Genel olarak, kendim için yeni bir şeyler öğrenmeye karar verdim. Elektronik benim için yeni değil, çoğunlukla unutmuş olsam da, programlama hiçbir zaman yerli olmadı. Ondan korkuyordum. Ancak burada yukarıdan birçok işaret çakıştı: Yeni bir şey öğrenmeyi öneren Health dergisi, (en azından biraz) programlamayı (en azından bir şeyi) anlamak için eski bir rüya ve sadece tembel olanın bahsetmediği youtube pennies ile akıllı dolar ücreti kullanarak bir LED nasıl yanıp söner.
Ondan önce, iki transistör, bir kapasitör ve bir çift direnç yardımıyla LED'in yanıp sönmesini oldukça iyi kontrol etmeyi başardım, ancak şimdi diyorlar ki, bu kolay değil. Bu yüzden trend olmak zorundasınız.


Bu işe yaramaz, kelimenin tam anlamıyla, cihazı gerçekten beğendim. gördüm - aşık oldum. istiyorum ve bu kadar! Bir çocuğun rüyası gibi! Ama yaş bedelini ödedi. Satın almak değil, kendim yapmak istiyorum. Ayrıca, basit cihazlar satışta. "Entelektüel" ile karşılaştım, ancak satılık böyle bir şey bulamadım. Dahası, yapmalısın!
Ve yine Arduino. Ve ben de bum-bum yok. Bu yüzden çözmeniz gerekiyor. Aliexpress'ten yardım. Arduino ile başladı. Çalışmanın yolunun dikenli olacağını ve fedakarlıkların kaçınılmaz olduğunu anladım. Bu yüzden beş farklı sipariş verdim. Varsa yansınlar. Devrenin hata ayıklaması, başka bir satıcıdan Uno'da gerçekleşti. Ancak, son cihazda olduğu ortaya çıkan bu pano olduğu için başlığa koydum.
Arduino'ya ek olarak, hem arduino uyumlu hem de arduino'ya yakın çok miktarda her türlü önemsiz sipariş verdim. Burada sadece bu üründe neyin yararlı olduğundan bahsedeceğim.

Arduino Profesyonel Mini


Teslimat hızlıdır, standart bir antistatik torba ve iç sivilce yüzeyli bir zarf şeklinde paketlenmiştir. Satıcı sosyal, Rusça konuşuyor.
328 çipte. 3,3 volt, 8 MHz. Neden tam olarak? Evet, yanlışlıkla. 5 volt, 16 MHz istedim ama bunu aldım. Suçlu kendisi. Ancak, bu proje için kritik değil - ekstra bir voltaj dönüştürücü kurdum. Aslında hepsi bu. Diğer Mini'lerden büyük farklılıklar bulamadım. Kurumsal fark - siyah textolite (?) Sövelerden: RAW pimi tahtada çalışmıyor. Ama bu da durmadı. Bununla birlikte, 3,3 V'luk bir dönüştürücü tasarruf edebilir, taraklar lehimli değildir. Ödeme iyi yapıldı.
Neden bu kadar kısa? Çünkü bu satıcı ve ücretleri hakkında zaten bir önyargı var (s. 18). İsteyen kolaylıkla bulur. Tekrar anlatmanın anlamı yok. Ayrıca yorumlara iki sentimi de koydum. Ve satıcı naperepisalis ile yeterli.


Servo SG90


İkili parti başına 3,2 dolar.
Açıklamak için özel bir şey yok. Hareket hızına büyük ölçüde bağlı olan, ortalama konumlandırma doğruluğuna sahip zayıf servo. Ama kuruş. Kapağı sürmek - intikamla, "el" için - olasılıkların eşiğinde. Çalıştırmak için 5 volta ihtiyacınız var ama kontrol için 3.3 yeterli. Dönüştürücü aracılığıyla ve doğrudan arduino'dan kontrol etmeye çalıştım - hiçbir fark yok. Bu nedenle, seviye dönüştürücü kaydedildi.


Şarj kontrolörü ve güç dönüştürücü


Beş parça için 2,28 dolar. Koruma ile. Şarj olurken - kırmızı LED yanar, şarjın sonu - mavi LED. İnceleme buradaydı.


Her biri 0,50 ABD doları. Ancak teslimat ödendi, ancak yine de bu mağazadan bir sürü şey aldım, bu yüzden teslimat beni rahatsız etmedi. Ağırlığı hafifletmek için USB soketi düştü))) Çıkış 5,12 volt üretir.





Çevrimdışına alın. Biraz sıkı. Servonun çalışmasını kolaylaştırmak için onu sökmek, yayı kısaltmak veya daha zayıf olanla değiştirmek mümkün oldu. Ama tembellik kazandı. Ben böyle koydum. Doğru, kod katkı maddelerinde servonun yüksek hızlarda dönme açısına reçete yazmam gerekiyordu.


TTL dönüştürücü


Her biri 1,5 dolar. Aslında ilk ben sipariş verdim. Fiyatın iki katı. Ancak, garip bir nedenle, kahramanca bir ölümle öldü. Onu nasıl öldürdüğümü hala anlamıyorum. Bu nedenle proje yeni, daha gelişmiş bir proje gelene kadar bir ay boyunca durdu - sıfırlamaya gerek yok. Bu ilerleme değil mi?


Stokun geri kalanı

TO220 paketindeki voltaj regülatörü 1117T-3.3V, 1500.0x6.3 ve 470.0x16 kapasitörler, iki 0.1 uF kapasitör, beyaz bir LED ve bir çocuk arabasından bir mikro anahtar, 220 Ohm direnç. Pil yıllardır boşta duruyor. Bir keresinde yanmış (tam anlamıyla) taşınabilir bir DVD oynatıcıyı parçalara ayırdım. Orada iyi olanlardan sadece piller hayatta kaldı. İşte bunlardan biri işe yaradı. Voltaj 3,7 V, kapasiteyi işaretlemede bulamadım.
Tutkal tabancası, para için lastik bant, iki kanca ... bir sutyen (eşinize teşekkür ederim. Tatlım, seni seviyorum!), iki mobilya dübeli, dört vida, dört yapışkan mobilya kapı kilidi, bir parça ekmek tahtası, teller, konektörler.


Gövde ile ilgili durum daha zordu. Birçok kutu denendi. Tissot saatlerinin plastik kutusunun kırılgan olduğu ve kısmen kartondan yapıldığı ortaya çıktı. Ama ondan gelen metal perdeler yaklaştı. Hatta bir tanesi stokta kaldı. Parfümden hazır kutular, şaraptan bir kutu, tatlılardan denedim. Sonunda kendim yapmaya karar verdim.
Büyük olasılıkla huş ağacı olan yüksek kaliteli kontrplak, yakmak için bir çocuk setinde bulundu. Çocuk büyüdü - set kaldı. Bir taraf boyandı, ancak diğer taraf baktı açıkçası, harika

Gerçeği söylemek gerekirse, harika

Okulda bir Trudovik'imiz vardı. yaşlı. Genel olarak, harika bir insan. Ona saygı duyuldu. Elektrikten geçtiğimizde pil, ampul ve anahtar örneğini kullanarak bize bir ders verdi.
“Aküde akım var. İşte artıdan çıkıyor ve teller boyunca gitti. Gidiyor, gidiyor, birden bam yolun anahtarı oluyor. Ve anahtar açık. Tok gidecek başka bir yer olmadığını anlar. Arkasını döndü ve aküye girdi. Ve ışık yanmıyor. Anahtarı kapatıyoruz. Akım tekrar gitti, anahtara ulaştı, içinden geçti, ampulden geçti ve aküye geri döndü. Ve ampul açık, açıkçası, mükemmel. O zamandan beri, sözlükte beklenmedik bir şekilde başarılı olan bir şeyin eş anlamlısı olarak böyle bir ifade var.




Bir demir testeresi, bir dekupaj testeresi ile kontrplak kesmeye çalıştım - öyle değil. Daha sonra çıkarılması zor olan talaşlar pürüzsüz bir kenar değildir. Bir çıkış yolu buldum - keskin bir büro bıçağı. Kontrplakları bir tarafta yarı yarıya diğer tarafta keser. Sonra biraz zımpara kağıdı ve her şey ajurda. Ancak iyi bir metal cetvel ve sürekli keskin bir bıçakla mükemmel bir kesim ve düz bir çizgi elde edersiniz.
Tabii ki, pervaz olmadan değil - El yapımı çıkartmanın altında banal bir delik gizlenmiştir. Geçiş anahtarı için merkezde delinmiş. Ve sunucu uymadı. Geçiş düğmesini yana hareket ettirip deliği kapatmak zorunda kaldım. Bu tür zorluklar beni korkutmuyor.
Cihazın üretimi için her bir hapşırmamı açıklamanın bir noktasını görmüyorum. Bazı noktaları tarif edeceğim. Ve kimin eli varsa, yapsın.
Kutuyu sıcak tutkalla birleştirdim. Yapıştırıcı için üzülmedim. Harika tutar. Gıcırdamaz, oynamaz. Hızlı, ucuz ve neşeli. Ve genel olarak, fark ettiğiniz gibi, hemen hemen her şey bu yapıştırıcıya dayanıyor. Ben tavsiye ediyorum. Oluşturma sürecini büyük ölçüde hızlandırır. Kapatma düğmesini içeriden sol duvara yapıştırdım - fotoğrafta biraz görebilirsiniz.
Kapağı perdeye bağladı.

Peçe ile acı çektim. Çok deney yaptı. Kapağın tam olarak kutunun üstüne yerleştirilmesini istedim, içeride değil. Ataçların zımba telleri için birkaç seçeneği bile büktüm. Poe daha sonra deneyler sırasında bir Tissot gözetleme kutusundan perdelerin gözüme çarptığını hatırladı. Böyle sağlam, İsviçre (Çince?).
Peçe önemli bir şey. Cihazın genel dış güzelliği için kalitesi çok önemlidir.
Ana geçiş anahtarının daha yumuşak olması gerekir, o zaman daha kolay çalışacaktır.
Kapak bir lastik bant ile kapalı konuma döndürülür. Çok sert seçilmesine gerek yoktur - servo başa çıkacaktır, ancak perdenin merkezi konumu ile kapak bükülecektir.
Kontrplak durumunda vernikleme zorunludur - çok kirlenir. Renksiz zapon vernik uyguladım. Sırf başka müsait olmadığı için.
"El" i kontrol eden servo daha iyi farklı şekilde yerleştirilir. Yan tarafta değil, geçiş anahtarının önünde. O zaman "el" üretimi daha kolay olabilir - p şeklinde yerine L şeklinde. Kutunun genişliği azaltılabilir ve geçiş anahtarı ortalanabilir.
Kapak servosunu 180 derece döndürmek daha iyidir, o zaman kodda bu servonun derecelerini kapağın çalışmasıyla ilişkilendirmek daha kolay olacaktır. Bende tam tersi var yani açılma derecelerde azalma oluyor. El için ise tam tersi geçerlidir. Ve kapağı, elastik bandın geri çektiği taraftan itmek daha doğrudur.
Kutu çok küçük yapılmamalıdır. Kullanımı uygun olmayacaktır. Ama daha düz olanı kabul edilebilir. Kutu hafiftir ve daha düzse daha kararlı olacaktır. Kutuyu tutmadan geçiş anahtarına parmağınızla basmak daha uygun olacaktır.
Breadboard'un iki parçasından kalkan gibi bir şey yaptım. Arduino'yu konektörler olmadan lehimledim. Sıkıca. Umurumda değil.


Ancak tüm çevre birimlerini konektörler üzerinde yaptım. Daha rahat.
Arduino'ya güç sağlamak için yüksek kapasiteli bir kapasitör (3,3 volt) gereklidir. Onsuz, arduino "takılır".
Cihaz için montaj çizimim yok. O kadar basittir ki, tüm mekaniğin üzerine inşa edildiği diğer birçok basit çözüm uygulanabilir. Videoda hem benim hem de diğer benzer cihazlarda kullanılan sürücü seçeneklerini görebilirsiniz.

#Dahil etmek #Dahil etmek Servo kapı Servo; //kapak servosu Servo el Servosu; //el servo Sıçrama fedaisi = Sıçrama(12, 40); // geçiş anahtarının 12. çıkışı için Bounce sınıfının bir örneğini oluşturun int pos = 0; //başlangıç ​​pozisyonu değişkeni int pos1door = 70; //kapı servosunun ilk konumu int pos2door = 30; //kapağın son konumu servo int pos1hand = 10; //el servosunun ilk konumu int pos2hand = 160; //kolun son konumu servo int r; // geçiş anahtarının nasıl kapatılacağını belirleyen rastgele sayı #define LED_PIN 11 // LED'e bağlı çıkışın numarası int ledState = LOW; // LED'in durumunu bu değişkene ayarlayın uzun öncekiMillis = 0; // LED'in son geçiş zamanını kaydet #define INTERVAL 30UL // LED void kurulumunun açılması/kapatılması arasındaki aralık() ( pinMode(LED_PIN, OUTPUT); pinMode(12, INPUT); //pin 12'yi değiştir giriş moduna digitalWrite(12, 1); // üzerinde bir pull-up direnci etkinleştirin Serial.begin(9600); //portu 9600 bps'ye ayarlayın.Hata ayıklama için.Ardından kaldırabilirsiniz.doorServo.attach(9 ); //kapak servosunu pin 9'a atayın handServo.attach(10); //el servosunu pin 10'a atayın doorServo.write(poz1kapı); //kapak servosunu handServo.write(poz1hand) ilk konumuna ayarlayın; //el servosunu başlangıç ​​konumuna ayarlayın) void loop() ( if (bouncer.update()) ( if (bouncer.read()==0) ( //düğmeye basılırsa ( r = rastgele(0) ,11); //jn 0 ila 10 arası rasgele bir sayı oluştur Serial.println® ; if (r == 0) ( move_0(); ) //eğer (r == 1) if (r == 1) ( move_1(); ) else if (r == 2) ( move_2(); ) else if (r == 3) ( move_3(); ) else if (r == 4) ( move_4(); ) else if (r == 5) ( move_5(); ) else if (r == 6) ( move_0(); ) else if (r == 7) ( move_1(); ) else if (r == 8 ) ( move_4(); ) else if (r == 9) ( move_3(); ) else if (r == 10) ( move_0(); ) ) ) ) // Fonksiyon Kitaplığı. Genel prensip: kapağı aç - elinizi uzatın ve geçiş anahtarını kapatın - elinizi çekin - kapağı kapatın seçeneği: açık-kapalı-kapalı-kapalı //kapak için (pos = pos1kapı; pos >= pos2kapı; pos -=3) ( doorServo.write(pos); delay(15); ) //(pos = pos1hand ;pos) için eli uzat<= pos2hand; pos +=3) { handServo.write(pos); delay(15); } //убираем руку for(pos = pos2hand; pos >= konum1el; pos -=3) ( handServo.write(pos); delay(15); ) // için kapağı kapatın(pos = pos2door; pos<= pos1door; pos +=3) { doorServo.write(pos); delay(15); } } void move_1(){ //простой вариант 2: открыли-выключили-закрыли //открываем крышку for(pos = pos1door; pos >= pos2kapı; konum -=1) ( doorServo.write(poz); gecikme(15); ) gecikme(1000); // eli uzat(pos = pos1hand; pos)<= pos2hand; pos +=1) { handServo.write(pos); delay(15); } //убираем руку for(pos = pos2hand; pos > <= pos1door; pos +=5) { doorServo.write(pos); delay(15); } } void move_2(){ //задумчивый вариант 2: приоткрыли-закрыли-открыли-выключили-закрыли //открываем крышку for(pos = pos1door; pos >= poz2kapı+15; konum -=5) ( doorServo.write(poz); gecikme(15); ) gecikme(1000); //(konum = pos2kapı+15; pos) için kapağı kapatın<= pos1door; pos +=5) { doorServo.write(pos); delay(15); } delay(1000); //открываем крышку for(pos = pos1door; pos > <= pos2hand+2; pos +=5) { handServo.write(pos); delay(15); } //убираем руку for(pos = pos2hand+2; pos >= konum1el; pos -=5) ( handServo.write(pos); delay(15); ) //için kapağı kapatın(pos = pos2door; pos<= pos1door; pos +=5) { doorServo.write(pos); delay(15); } } void move_3(){ //дерганый вариант: приоткрыли-подергали - закрыли-открыли-выключили-закрыли //открываем крышку for(pos = pos1door; pos >= poz2kapı+15; konum -=1) ( doorServo.write(poz); gecikme(50); ) gecikme(500); //(int i=1; i) için kapağı çekin<=8; i ++) { doorServo.write(pos2door+18); delay(80); doorServo.write(pos2door+15); delay(80); static unsigned long previousMillis = 0; if(millis() - previousMillis >ARALIK) ( öncekiMillis = millis(); digitalWrite(LED_PIN,!digitalRead(LED_PIN)); ) ) gecikme(500); //(konum = pos2kapı+15; pos) için kapağı kapatın<= pos1door; pos +=1) { doorServo.write(pos); delay(50); } delay(1000); //открываем крышку for(pos = pos1door; pos >= pos2kapı; pos -=5) ( doorServo.write(poz); delay(15); ) // için eli uzat(poz = pos1hand; pos<= pos2hand+2; pos +=5) { handServo.write(pos); delay(15); } //убираем руку for(pos = pos2hand+2; pos >= konum1el; pos -=5) ( handServo.write(pos); delay(15); ) //için kapağı kapatın(pos = pos2door; pos<= pos1door; pos +=5) { doorServo.write(pos); delay(15); } } void move_4(){ //открываем крышку delay(2000); for(pos = pos1door; pos >= poz2kapı+15; konum -=5) ( doorServo.write(poz); gecikme(50); ) gecikme(500); digitalWrite(LED_PIN,!digitalRead(LED_PIN)); gecikme(2000); digitalWrite(LED_PIN,!digitalRead(LED_PIN)); gecikme(500); //(konum = pos2kapı+15; pos) için kapağı kapatın<= pos1door; pos +=5) { doorServo.write(pos); delay(50); } delay(1000); //открываем крышку не полностью for(pos = pos1door; pos >= poz2kapı+15; konum -=1) ( doorServo.write(poz); gecikme(50); ) gecikme(2000); // kapıyı tamamen aç(pos = pos2kapı+15; pos >= pos2kapı; pos -=1) ( doorServo.write(pos); delay(15); ) // için eli uzat(poz = pos1el; konum<= pos2hand-35; pos +=1) { handServo.write(pos); delay(35); } delay(1000); //высовываем руку for(pos = pos2hand-35; pos <= pos2hand+3; pos +=4) { handServo.write(pos); delay(15); } //убираем руку for(pos = pos2hand+3; pos >= konum1el; pos -=7) ( handServo.write(pos); delay(15); ) //için kapağı kapatın(pos = pos2door; pos<= pos1door; pos +=7) { doorServo.write(pos); delay(15); } delay(500); //открываем крышку for(pos = pos1door; pos >= pos2kapı+20; konum -=5) ( doorServo.write(poz); gecikme(50); ) gecikme(300); digitalWrite(LED_PIN,!digitalRead(LED_PIN)); gecikme(500); digitalWrite(LED_PIN,!digitalRead(LED_PIN)); gecikme(100); //(pos = pos2kapı+20; pos) için kapağı kapatın<= pos1door; pos +=1) { doorServo.write(pos); delay(50); } } void move_5(){ //возня for(int i=1; i <=2; i ++) { for(pos = pos1door; pos <= pos1door+45; pos +=5) { doorServo.write(pos); delay(50); } for(pos = pos1door+45; pos >= pos1kapı; konum -=5) ( doorServo.write(poz); gecikme(50); ) gecikme(100); ) //(int i=1; i) için kapağı çekin<=3; i ++) { doorServo.write(pos1door-6); delay(80); doorServo.write(pos1door-3); delay(80); } delay(300); //открываем крышку digitalWrite(LED_PIN,!digitalRead(LED_PIN)); for(pos = pos1door; pos >= pos2kapı+25; konum -=5) ( doorServo.write(poz); gecikme(50); ) gecikme(500); // kapağı aç digitalWrite(LED_PIN,!digitalRead(LED_PIN)); for(pos = pos2kapı+25; konum >= pos2kapı+10; konum -=5) ( doorServo.write(poz); delay(50); ) //kapıyı aç digitalWrite(LED_PIN,!digitalRead(LED_PIN)); for(pos = pos2kapı+10; pos >= pos2kapı-5; pos -=2) ( doorServo.write(pos); gecikme(50); ) // için elini uzat(poz = pos1el; pos<= pos2hand-35; pos +=9) { handServo.write(pos); delay(35); } delay(1000); //убираем руку for(pos = pos2hand-35; pos >= poz2el-70; konum -=1) ( handServo.write(kon); gecikme(15); ) gecikme(1000); // için elini uzat (pos = pos2hand-70; pos<= pos2hand+3; pos +=9) { handServo.write(pos); delay(15); } delay(50); //убираем руку for(pos = pos2hand+3; pos >= konum1el; pos -=7) ( handServo.write(pos); delay(15); ) //kapak digitalWrite(LED_PIN,!digitalRead(LED_PIN)); for(konum = konum2kapı-5; konum<= pos1door+3; pos +=5) { doorServo.write(pos); delay(50); } }

Yazarın incelemenin başındaki bağlantıdan sunduğu eskiz benim için başlamadı. Ve hala şu an olduğum kadar profesyonel değildim)))))))
Genel olarak, anlamaya başladım. Sonuç olarak, bir başkasınınkinden yola çıkarak kendi eskizimi yaptım. Sohbet koruması eklendi. Kondansatörlü bir direnç koymak elbette daha kolaydı, ama gerçekten programlamak istedim.


Prensip olarak, şema taslaktan açıktır. Ama yine de getireceğim. Kalite için beni bağışlayın - elimden geldiğince. Biraz farklı bir dönüştürücü kartı aldım - “tam yüz” de doğru olanı bulamadım.


Kroki için özel bir açıklama yoktur. Bir kaç derece dönme açısı eklemediği sürece, servo hızı yüksek olduğunda. "El" aniden ortaya çıkarsa, geçiş anahtarını kapatmadığını fark ettim. Açıkçası bu, servoların düşük kalitesinden kaynaklanmaktadır. Bu nedenle, "kolun" hareket açısına biraz eklemeniz gerekir. Tekrarlama ile bu ek derecelerin sizin için farklı olabileceğinden şüpheleniyorum. "El"in omzuna bağlıdır.
Ve programlar hakkında. Şu ana kadar altı program var. Rastgele sayı üretimi yoluyla çağrılır. Ayrıca basit programlar (0, 1 ve 2) normalden daha sık çağrılır. Tüm testçilerime, daha karmaşık programların nadir görülen hoş bir bonus olması gerektiği gibi görünüyordu, sonra bazı entrikalar ortaya çıktı. Ve öyle yaptı.
Sayıları sevenler için - kutu boyutu: uzunluk - 150 mm, yükseklik - 70 mm, genişlik - 65 mm.

Youtube kaliteyi çok düşürdü. Orijinaline bakmak istiyorsanız - indirin. 21 MB.
Altı programı da sırayla görmenize izin vermek için taslakta bir değişiklik, böylece hepsi hakkında bir fikriniz olur. Hayatta, yazdığım gibi, sözde rastgele bir düzenleri var.



Şarj işlemi, normal bir mobil şarj cihazıyla mikro USB üzerinden yapılır. Özerklik büyük ölçüde kullanım sıklığına bağlıdır. Bazen birkaç günlüğüne, bazen bir günde “öldürüyorum”.


En sonunda.
Bununla birlikte, projenin rafine edilmesi ve iyileştirilmesi oldukça mümkündür. Yeni senaryolar üretebilirsiniz. Bir squeaker ekleyebilir ve cihazı seslendirebilirsiniz. Örneğin, açma/kapama düğmesinin kapanması ile açılması arasındaki süre çok kısaysa, sinirlenmek gibi “kükmesine” izin verin. Orijinal projede olduğu gibi kutunun hareketini farklı yönlerde eklemek mümkündür.
"El", herhangi bir nedenle, geçiş anahtarını kapatmadığında (örneğin, soğukta, servo istenen açıya pek ulaşmadığında) bir kontrol oluşturabilir ve açıyı ayarlayabilirsiniz. bir defaya mahsus böyle bir duruma özel bir çeşit “gerginlik” yazmak. » kapatma programı. Nano'yu kurabilir ve her seferinde cihazı sökmeden USB üzerinden programlayabilirsiniz.

Ve genel olarak - daha dikkatli yapabilirsiniz. Birçok şey mümkün. Aslında ilgilenenlere yapmayı önerdiğim şey tam olarak bu.
Belki bir şeyi kaçırdım. İnceleme, böyle basit bir cihaz için büyük çıktı. Bu yüzden özür dileyebilirim.
Şimdi kedi ve sonuna kadar okuduğunuz için teşekkürler.
Genel bilgi

Arduino Pro Mini, ATmega168 mikro denetleyicisine (veri sayfası) dayanmaktadır. Platform, 14 dijital giriş ve çıkış (6 tanesi PWM çıkışı olarak kullanılabilir), 6 analog giriş, bir rezonatör, bir sıfırlama düğmesi ve montaj pimleri için delikler içerir. Altı pinli blok, güç ve USB iletişimi için bir FTDI kablosuna veya bir Sparkfun dönüştürücü kartına bağlanabilir.

Arduino Pro Mini, nesnelere veya sergilere kalıcı olmayan kurulum için tasarlanmıştır. Platform, pin takılı olmadan gelir ve kullanıcıların kendi pinlerini ve konektörlerini kullanmalarına izin verir. Pin çıkışı Arduino Mini platformu ile uyumludur.

Pro Mini platformunun iki versiyonu vardır. Bir versiyon 3,3 V ve 8 MHz'de, diğeri 5 V ve 16 MHz'de çalışır.

Arduino Pro Mini, SparkFun Electronics tarafından tasarlanmış ve üretilmiştir.

Şema ve ilk veriler

özellikleri
Beslenme

Arduino Pro Mini, bir FTDI kablosuyla veya bir dönüştürücü kartından veya Vcc pini aracılığıyla düzenlenmiş bir 3.3V veya 5V kaynağından (platforma bağlı) veya RAW pini aracılığıyla düzensiz bir kaynaktan çalıştırılabilir.

Güç pimleri:

  • ÇİĞ. Düzenlenmemiş voltajı bağlamak için.
  • VCC. Düzenlenmiş 3.3V veya 5V bağlamak için.
  • GND. Topraklama terminalleri.
Hafıza

ATmega168 mikrodenetleyici şunları içerir: program kodunu depolamak için 16 kB flash bellek (2 kB önyükleyiciyi depolamak için kullanılır), 1 kB RAM ve 512 bayt EEPROM (EEPROM kitaplığı kullanılarak okunur ve yazılır).

Girdiler ve çıktılar

Pro'nun 14 dijital pininin her biri pinMode() , digitalWrite() ve digitalRead() işlevleri kullanılarak bir giriş veya çıkış olarak yapılandırılabilir. Pinler 3.3V ile çalışır.Her pinin 20-50kΩ pull-up direnci vardır (varsayılan devre dışıdır) ve 40mA'ya kadar taşıyabilir. Bazı pinlerin özel işlevleri vardır:

  • Seri veri yolu: 0 (RX) ve 1 (TX). Pinler, TTL verilerini almak (RX) ve iletmek (TX) için kullanılır. Bu pinler altı pinli bloğun TX-0 ve RX-1 pinlerine bağlanır.
  • Harici kesme: 2 ve 3. Bu pinler, düşük bir değerde, yükselen veya düşen kenarda veya değerde bir değişiklikte bir kesmeyi tetikleyecek şekilde yapılandırılabilir. Ayrıntılar için AttachInterrupt() işlevinin açıklamasına bakın.
  • PWM: 3, 5, 6, 9, 10 ve 11. Her iki pin de analogWrite() işlevini kullanarak 8-bit PWM sağlar.
  • SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Bu pinler, donanım tarafından desteklenmesine rağmen Arduino dilinde yer almayan SPI iletişimini sağlar.
  • LED: 13. Dahili LED dijital pin 13'e bağlanır. Pin üzerindeki değer yüksek ise led yanar.

Pro Mini platformu, her biri 10 bit çözünürlüğe sahip (yani 1024 farklı değer alabilir) 6 analog girişe sahiptir. Bunlardan dördü platformun kenarında yer alırken, diğer ikisi (4. ve 5. girişler) merkeze daha yakındır. Ölçüm, VCC değerine kadar toprağa göredir. Bazı pinlerin ek işlevleri vardır:

  • I2C: A4 (SDA) ve A5 (SCL). Çıkışlar aracılığıyla, oluşturulması için Wire kitaplığının kullanıldığı I2C (TWI) iletişimi gerçekleştirilir.

Platformda ek bir çıktı var:

  • Sıfırla. Çıkıştaki düşük bir sinyal seviyesi, mikrodenetleyiciyi sıfırlar. Genellikle, Arduino kartının kendisindeki düğmeye erişimi engelleyen bir genişletme kartına bir sıfırlama düğmesi bağlamak için kullanılır.
Bağ

Bir bilgisayar, diğer Arduino cihazları veya mikro denetleyiciler ile iletişim kurmak için Arduino Pro Mini platformunda kurulu birkaç cihaz vardır.ATmega168, 0 (RX) ve 1 (TX) pinleri tarafından uygulanan bir UART TTL seri arayüzünü destekler. Arduino Seri Monitör, bir USB bağlantısı üzerinden metin verisi göndermenize ve almanıza izin verir.

SoftwareSerial kitaplığı ile Pro Mini'nin dijital pinlerinden herhangi biri aracılığıyla seri veri aktarımı oluşturmak mümkündür.

ATmega168, I2C (TWI) ve SPI arayüzlerini destekler. Arduino, I2C veri yolunun kolay kullanımı için Wire kitaplığını içerir. Daha fazla bilgi belgelerdedir. SPI arayüzünü kullanmak için lütfen ATmega168 mikrodenetleyici veri sayfasına bakın.

Programlama

ATmega168 mikro denetleyici, harici programcılara ihtiyaç duymadan yeni programlar yazmayı kolaylaştıran önceden yüklenmiş bir önyükleyici ile birlikte gelir. Haberleşme orijinal STK500 protokolü ile gerçekleştirilir.

Önyükleyiciyi kullanmamak ve ATmega168'i harici bir programlayıcı kullanarak programlamak mümkündür. Ayrıntılı bilgi bu kılavuzdadır.

Otomatik (yazılım) yeniden başlatma

Arduino Pro Mini, yeni kod yazmadan önce, platformdaki bir düğmeye basılarak değil, programın kendisini yeniden başlatacak şekilde tasarlanmıştır. Altı pin bloğundaki pinlerden biri 100nF kapasitör aracılığıyla ATmega168 mikrodenetleyicilerinin sıfırlama hattına bağlanır. Bu pin, birime bağlı USB-seri dönüştürücünün akış kontrol hatlarından birine bağlanır: FTDI kablosu kullanılırken RTS hatlarına veya bir Sparkfun dönüştürücü kartı kullanılırken DTR hattına. Bu hattın aktivasyonu, yani. düşük seviyeli bir sinyal, mikrodenetleyiciyi sıfırlar. Arduino programı bu işlevi kullanarak, kendi programlama ortamındaki Upload butonuna tek bir tıklama ile kodu yükler. Sıfırlama hattındaki düşük sinyal, kod yazmanın başlamasıyla koordine edilir, bu da önyükleyici zaman aşımını azaltır.

Fonksiyonun başka bir uygulaması var. Pro Mini, bir Mac X veya Linux bilgisayarda (USB aracılığıyla) Arduino programına her bağlandığında yeniden başlatılır. Yeniden başlatmadan sonraki yarım saniye, önyükleyici çalışır. Programlama sırasında, platformun yanlış veri almasını önlemek için kodun ilk birkaç baytı ertelenir (yeni programın kodu hariç her şey). Eğer platforma yazılan bir krokinin tek seferlik hata ayıklamasını yapıyorsanız veya ilk çalıştırmada herhangi bir başka veri giriyorsanız, bilgisayardaki programın veri aktarmadan önce bir saniye kadar beklediğinden emin olmanız gerekir.

fiziksel özellikler

Pro Mini PCB'nin genel boyutları 1,8 x 3,3 cm'dir.

Arduino, kişisel bilgisayarların aksine dış dünya ile yakın etkileşime odaklanan programlanabilir elektronik cihazlar geliştirmek için etkili bir araçtır. Arduino, çeşitli fiziksel nesnelerle çalışmak için açık programlanabilir bir donanım platformudur ve mikrodenetleyicili basit bir tahtanın yanı sıra mikrodenetleyici yazılımı yazmak için özel bir geliştirme ortamıdır.

Arduino, çeşitli sensörler ve anahtarlar tarafından kontrol edilen etkileşimli sistemler geliştirmek için kullanılabilir. Bu tür sistemler sırayla çeşitli göstergelerin, motorların ve diğer cihazların çalışmasını kontrol edebilir. Arduino projeleri bağımsız olabilir veya kişisel bir bilgisayarda çalışan yazılımlarla (örneğin, Flash, İşleme, MaxMSP uygulamaları) etkileşimli olabilir. Herhangi bir Arduino kartı manuel olarak monte edilebilir veya hazır bir cihaz satın alabilirsiniz; Böyle bir panoyu programlamak için geliştirme ortamı açık kaynak kodludur ve tamamen ücretsizdir.

Arduino programlama dili, "İşleme" multimedya programlama ortamına dayalı benzer bir "Kablolama" donanım platformunun bir uygulamasıdır.

Neden Arduino?

Çeşitli donanımları programlamak için tasarlanmış başka birçok mikrodenetleyici ve mikroişlemci aygıtı vardır: Parallax Basic Stamp, Netmedia's BX-24, Phidgets, MIT's Handyboard ve diğerleri. Tüm bu cihazlar benzer işlevsellik sunar ve kullanıcıyı mikrodenetleyicilerin iç yapısının küçük ayrıntılarını araştırma ihtiyacından kurtararak, onları programlamak için basit ve kullanışlı bir arayüz sağlar. Arduino, mikrodenetleyicilerle çalışma sürecini de basitleştirir, ancak diğer sistemlerden farklı olarak öğretmenler, öğrenciler ve radyo amatörleri için bir takım avantajlar sağlar:

Kompakt arduino kartları:

Arduino Nano

ATmega328 (Arduino Nano 3.0) veya ATmega168 (Arduino Nano 2.x) mikro denetleyici üzerine inşa edilen Nano platform, küçük boyutludur ve laboratuvar çalışmalarında kullanılabilir. Arduino Duemilanove ile benzer işlevselliğe sahiptir, ancak montajda farklılık gösterir. Fark, bir DC güç konektörünün olmaması ve bir Mini-B USB kablosuyla çalışmasıdır. Nano, Gravitech tarafından geliştirilmiş ve pazarlanmıştır.
Muhtemelen çeşitli projeler ve ev yapımı ürünler için en iyi ve kompakt panolardan biri, genellikle onu seçiyorum:

Arduino profesyonel mini

Arduino Profesyonel MiniATmega168 mikrodenetleyici üzerine inşa edilmiştir (tekniktanım). Platform, 14 dijital giriş ve çıkış (6 tanesi PWM çıkışı olarak kullanılabilir), 6 analog giriş, bir rezonatör, bir sıfırlama düğmesi ve montaj pimleri için delikler içerir.

Kartın daha da kompakt boyutları var, ancak CH340 dönüştürücüsü yok. Fiyat nanodan daha düşük.




arduino pro mikro

Ödemek Arduino Pro Mikro mikrodenetleyici üzerine kurulu ATmega32U4 Bu, kartı bir USB-UART dönüştürücü kullanmadan bilgisayarın USB bağlantı noktasına bağlamayı mümkün kıldı. Bu, bir programcının taslağı tahtaya yazması ihtiyacını ortadan kaldırır.

Fırsatlar:

  • frekans: 16MHz
  • 4 ADC kanalı (10 bit)
  • 10 genel amaçlı G/Ç bağlantı noktası (5 tanesi PWM'dir)
  • Rx/Tx pinleri
  • LED'ler: Güç, Rx, Tx

Kartın 12V'a kadar güç kullanmanıza izin veren bir voltaj regülatörü vardır (RAW çıkış, VCC değil!)



tam boy arduino panoları

Arduino Uno

Arduino Unodenetleyici ATmega328 üzerine inşa edilmiştir (tekniktanım.pdf). Platformda 14 dijital G/Ç (6'sı PWM çıkışı olarak kullanılabilir), 6 analog giriş, 16 MHz kristal osilatör, USB konektörü, güç konektörü, ICSP konektörü ve sıfırlama düğmesi bulunur.

aliexpress'ten satın al http://ali.pub/1tgxw9


Arduino ÖDÜLÜ

Genel bilgi

Arduino Ödenmesi- işlemciye dayalı mikrodenetleyici kartı Atmel SAM3X8E KOL Cortex-M3(tanım). Bu, 32-bit ARM mikrodenetleyiciye dayalı ilk Arduino kartıdır. 54 dijital I/O'ya (12 tanesi PWM çıkışı olarak kullanılabilir), 12 analog girişe, 4 UART'a (donanım seri bağlantı noktası), 84 MHz saat üretecine, OTG destekli USB iletişimine, 2 DAC'ye (dijital analog dönüştürücüler) sahiptir. , 2 TWI, güç konektörü, SPI konektörü, JTAG konektörü, sıfırlama düğmesi ve silme düğmesi.

Dikkat! Diğer Arduino kartlarından farklı olarak Arduino Due 3,3V ile çalışır.Giriş/çıkışların dayanabileceği maksimum voltaj 3,3V'dir.Arduino Due pinlerine 5V gibi daha yüksek bir voltaj uygulamak karta zarar verebilir.

Kart, mikrodenetleyiciyi desteklemek için gereken her şeyi içerir. Başlamak için, bir mikro USB kablosuyla bilgisayarınıza bağlamanız veya bir AC / DC dönüştürücü veya pillerden güç sağlamanız yeterlidir. Due, Arduino 1.0 pin çıkışını kullanan tüm 3.3V Arduino genişletme kartlarıyla uyumludur.


Arduino ESPLORA

Genel bilgi

Arduino Esplora, mikroişlemci tabanlı bir cihazdır. arduino leonardo . Esplora, etkileşim için birçok yerleşik, kullanıma hazır sensöre sahip olmasıyla önceki tüm Arduino kartlarından farklıdır. İlk önce elektronik öğrenmesine gerek kalmadan Arduino'ya hemen başlamayı tercih edenler için tasarlanmıştır. Esplora için adım adım talimatları kılavuzda bulabilirsiniz. Esplora'yı kullanmaya başlama .

Esplora'da dahili ses ve ışık göstergeleri (bilgi çıkışı için) ve joystick, kaydırıcı, sıcaklık sensörü, ivmeölçer, mikrofon ve ışık sensörü gibi çeşitli sensörler (bilgi girişi için) bulunur. Ek olarak, kartta iki Tinkerkit giriş ve çıkış konektörünün yanı sıra TFT LCD ekranı bağlamak için bir soket bulunur ve bu da cihazın yeteneklerini önemli ölçüde genişletmenize olanak tanır.

Leonardo kartı gibi, Esplora da 16 MHz kristalli bir ATmega32U4 AVR mikro denetleyicisi ve cihazın bir fare veya klavye gibi bir USB aygıtı gibi davranmasını sağlayan bir mikro USB konektörü kullanır.


Arduino YUN

Arduino Yun, ATmega32u4 mikrodenetleyici ve Atheros AR9331 tabanlı bir hata ayıklama kartıdır. Atheros işlemci, OpenWrt-Yun adlı OpenWrt tabanlı bir Linux dağıtımını destekler. Kartta yerleşik Ethernet ve WiFi desteği, bir USB-A bağlantı noktası, bir mikro-SD kart yuvası, 20 dijital giriş/çıkış pini (7'si PWM çıkışı ve 12'si analog giriş olarak kullanılabilir), 16 MHz kristal osilatör, microUSB bağlantısı, ICSP başlığı ve 3 sıfırlama düğmesi.

Aliexpress'ten satın alın http://ali.pub/1tgz6c





Ali'den para iadesi satın alarak nasıl tasarruf edeceğinizi öğrenin

https://cashback.epn.bz/?i=ff2b6

https://cashback.epn.bz/joinusnow?i=ff2b6