Minimum DIY arduino atmega8. Arduino'yu sıfırdan yapmak. Programları Shrimp'e yükleme

Birçok radyo amatörünün mikrodenetleyicilerle tanışması Arduino aracılığıyla başladı. Çoğu mysku kullanıcısı bu elektronik tasarımcıyı ve elektronik cihazların hızlı gelişimi için uygun bir platformu biliyor, bu yüzden platformun avantajları ve dezavantajları üzerinde durmayacağım.

İnceleme, Arduino'yu bir programcı olarak kullanma olasılığını açıklayacaktır (Arduino ISP için aşağıya bakın). İlgilenenler için lütfen kediye bakın.

Arduino için çeşitli modüllerle yeterince oynadıktan sonra, günlük yaşamda faydalı olacak tam teşekküllü bir cihaz yaratma arzum vardı.
İnternette tesadüfen projeye rastladığımda onu tekrarlamaya karar verdim.

Projenin açıklamasını okuduktan sonra benim için ana sorunlar veya dedikleri gibi tuzaklar formüle edildi:
- Baskılı devre kartının oluşturulması;
- TQFP-32 paketindeki Atmega8A mikrodenetleyici için ürün yazılımı.

Bundan önce, tek bir kartı kazımamıştım ve yalnızca Arduino'ya yerleşik mikro denetleyiciyi bir DIP paketinde flaşlamıştım.

Atmega8, daha fazlası gibi avantajlara ek olarak TQFP-32 paketindedir. Düşük fiyat ve DIP ile karşılaştırıldığında daha küçük boyuttadır, aynı zamanda bir dezavantajı da vardır - mikrodenetleyici ürün yazılımını flaşlamak ve kart üzerinde daha karmaşık kurulum yapmak sakıncalıdır.

İlk dezavantaj ortadan kaldırılabilir Farklı yollar:
- Sıkıştırma mekanizmasına sahip bir TQFP32 TO DIP32 adaptörü satın alın. Maliyeti yaklaşık 1 bin ruble;
- Sıkıştırma mekanizması olmayan ve bir mikro denetleyiciyi lehimlemek için tasarlanmış bir TQFP32 TO DIP32 adaptörü satın alın. 5 parça için yaklaşık 100 ruble maliyeti;
- Kendi ellerinizle baskılı devre kartı adaptörünü TQFP32 TO DIP32 yapın;
- İstenilen bacaklara ince telleri lehimleyin ve yanıp söndükten sonra lehimlerini çözün.

Teslimat için bir ay daha beklememek için sondan bir önceki seçeneği seçtikten sonra LUT yöntemini kullanarak baskılı devre kartı oluşturmaya başladım. İnternetteki bilgi ve videolar Bu methodçok var ve herkes bunu evde kolayca tekrarlayabilir. Tahtayı demir klorürle aşındırdıktan ve pimleri lehimledikten sonra şu adaptörü elde ettik:

Sprint Layout'un kaynak dosyaları indirilebilir.

Atmega8'i saç kurutma makinesi veya havya ile lehimleyin. Ürün yazılımına dahil olan yalnızca 8 bacağı "yakalayabilirsiniz". Çeşitli kelepçeler veya mandallarla “toplu çiftçilik” kullanılmasını önermiyorum.

Arduino Uno'yu USB üzerinden bilgisayara bağlayıp Arduino ISP taslağını indiriyoruz. Arduino Uno'nun derlenmesi ve yanıp sönmesi. Yorumlarda, ürün yazılımını Arduino ISP aracılığıyla bağlamaya dair bir ipucu var, MOSI, MISO, RESET, GND, GND, VCC, VCC, SCK pinlerine ihtiyacımız olacak.

// pin adı: mega değil: mega(1280 ve 2560) // köle sıfırlama: 10: 53 // MOSI: 11: 51 // MISO: 12: 50 // SCK: 13: 52

Genel şema bağlantılar şöyle görünecek:

Ürün yazılımı için konsol yardımcı programını kullanacağız:

Avrdude -p m8 -P USB15 -c arduino -b 19200 -U lfuse:w:0xE4:m -U hfuse:w:0xDA:m -U flash:w:main.hex

Nerede -p m8 - Bizim durumumuzda flaşlanacak mikrodenetleyici Atmega8'dir;
-P USB15 - Arduino ISP programcısının tanımlandığı bağlantı noktasının adı;
-arduino ile - Programcı türü;
-b 19200 - USB bağlantı noktası hızı;
-U flash:w:main.hex - Firmware;
-U sigorta:w:0xE4:m -U sigorta:w:0xDA:m - Sigortalar.

Başarılı bir şekilde yanıp söndükten sonra, flaş kodunu orijinal hex dosyasıyla ek olarak karşılaştırabilirsiniz:

Avrdude -p m8 -P USB15 -c arduino -b 19200 -U flash:v:main.hex

Arduino'nuz yoksa ucuz bir programcı olarak kullanabilirsiniz. Maliyeti yaklaşık 100 ruble.

Sonuç olarak ClusterM projesine göre montajını yaptığım cihazın fotoğraflarını göstereceğim.

Fotoğraflar




Özellikler:
- Emülasyon iButton/Cyfral/Metacom;
- iButton/Cyfral'ı okuma;
- Anahtar veritabanının USB aracılığıyla bir bilgisayarla senkronizasyonu;
- Kompakt tahta boyutu;
- Düşük güç tüketimi Projenin yazarı, cihazın bir set pille yaklaşık bir yıl çalıştığını bildirdi;

ATmega8 mikrokontrolcüsü ile çalışmak için veya Arduino cihazı Arduino geliştirme ortamındaki ATmega8 üzerinde Arduino programının yapılandırılması gerekmektedir. ATmega8 mikrodenetleyici üzerinde desteklenen cihazların parametrelerini hardware/arduino/boards.txt dosyasına eklemeniz gerekmektedir.

Bootloader dosyalarını hardware/arduino/bootloaders/optiboot klasörüne eklemek gerekebilir.

ATmega8 mikrokontrolcüsü ~5V voltajda 0-16 MHz frekansında, ATmega8L 0-8 MHz frekansında ve ATmega8A geniş bir besleme voltajı aralığında 0-16 MHz frekansında çalışabilir. Bu pasaporta göre, ancak pratik olarak 5V voltajda ATmega8 serisinin tüm mikrodenetleyicileri harici bir cihazla 16 MHz frekansta çalışabilir. kuvars rezonatör ve dahili bir osilatör ile 8, 4, 2, 1 MHz frekanslarında.

ATmega8 mikrodenetleyicisini temel alan bir Arduino kartı seçeneği var, bu Arduino NG. Arduino geliştirme ortamı (Arduino IDE), ATmega8 mikro denetleyicisiyle çalışmaya hazırdır, ancak yalnızca tek bir cihazla - harici kristalli 16 MHz'de ATmega8 mikro denetleyicili Arduino NG kartı. Arduino v.2'de işler böyle. 1.0.6. Ayrıca Arduino NG, en uygun olmayan ve en önemlisi kullanışlı olmayan bir önyükleyici sunuyor.

Farklı frekanslarda çalışan Quartz rezonatörlü ve rezonatörsüz ATmega8 mikrokontrolcülerini programlayabilmek için hardware/arduino/boards.txt dosyasında değişiklik yapmanız gerekmektedir. Örneğin, aşağıdaki bölümleri dosyaya ekleyebilirsiniz:

# http://optiboot.googlecode.com # http://homes-smart.ru/index.php/oborudovanie/arduino/avr-zagruzchik ################## ############################################ atmega8o.name =ATmega8 ( optiboot 16MHz dahili) atmega8o.upload.protocol=arduino atmega8o.upload.maximum_size=7680 atmega8o.upload.speed=115200 atmega8o.bootloader.low_fuses=0xbf atmega8o.bootloader.high_fuses=0xdc atmega8o.bootloader.path=op tibo ot50 atmega8o.bootloader.file=optiboot_atmega8.hex atmega8o.bootloader.unlock_bits=0x3F atmega8o.bootloader.lock_bits=0x0F atmega8o.build.mcu=atmega8 atmega8o.build.f_cpu=16000000L atmega8o.build.core=arduino:arduino atmega 8o.yapı. varyant=arduino: standart ########################################## #### ############# a8_8MHz.name=ATmega8 (optiboot 8 MHz int) a8_8MHz.upload.protocol=arduino a8_8MHz.upload.maximum_size=7680 a8_8MHz.upload.speed=115200 a8_8MHz .bootloader.low_fuses =0xa4 a8_8MHz.bootloader.high_fuses=0xdc a8_8MHz.bootloader.path=optiboot a8_8MHz.bootloader.file=a8_8MHz_a4_dc.hex a8_8MHz.build.mcu=atmega8 a8_8MHz.build.f_cpu=8000000L a8_8MHz.build .core= arduino a8_8MHz.build varyantı=standart ###################################### ###### ############### a8_1MHz.name=ATmega8 (optiboot 1 MHz dahili) a8_1MHz.upload.protocol=arduino a8_1MHz.upload.maximum_size=7680 a8_1MHz.upload. hız=9600 a8_1MHz.bootloader .low_fuses=0xa1 a8_1MHz.bootloader.high_fuses=0xdc a8_1MHz.bootloader.path=optiboot a8_1MHz.bootloader.file=a8_1MHz_a1_dc.hex a8_1MHz.build.mcu=atmega8 a8_1MHz.build.f_cpu=1000 000L a8_1 MHz. build.core=arduino a8_1MHz build.variant=standart ################################# ######## ################ a8noboot_8MHz.name=ATmega8 (önyükleme yok 8 MHz int) a8noboot_8MHz.upload.maximum_size=8192 a8noboot_8MHz.bootloader.low_fuses= 0xa4 a8noboot_8MHz.bootloader.high_fuses=0xdc a8noboot_8MHz.build.mcu=atmega8 a8noboot_8MHz.build.f_cpu=8000000L a8noboot_8MHz.build.core=arduino a8noboot_8MHz.build.variant=standart ############## ######## ######################################

Artık Arduino programında Araçlar / Pano menüsünde aşağıdaki cihazlar görünecektir:

  • ATmega8 (optiboot 16MHz dahili)
  • ATmega8 (optiboot 8 MHz dahili)
  • ATmega8 (optiboot 1 MHz dahili)
  • ATmega8 (önyükleme yok 8 MHz dahili)

ATmega8 mikro denetleyicisindeki ilk üç cihaz bir önyükleyici içerir; Arduino uyumlu ve Arduino geliştirme ortamından çizimleri (programları) doğrudan bunlara yükleyebilirsiniz. Dördüncü cihaz bir önyükleyici içermiyor; ayrı bir ATmega8 yongası olabilir. ATmega8'de (önyükleme yok 8 MHz int), Arduino programından gelen çizimler, Arduino kartını temel alan bir programlayıcı da dahil olmak üzere bir programlayıcı aracılığıyla yüklenebilir.

ATmega8 (optiboot 16MHz ext) harici bir kuvars rezonatörle, diğer cihazlar ise dahili osilatörle çalışır.

Hardware/arduino/boards.txt dosyasındaki parametreler sigorta bitlerini, önyükleyici dosyasının yolunu, mikrodenetleyicinin tipini ve frekansını belirler. Araçlar / menü öğesini seçtiğinizde sigorta bitleri mikro denetleyiciye (önyükleyicili veya önyükleyicisiz) yazılır. Önyükleyiciyi yaz. Sigorta bitleri, mikro denetleyicinizin hangi frekansta çalışacağını ve performansının, yeniden programlanabilirliğinin vb. bağlı olduğu parametreler de dahil olmak üzere diğer önemli parametreleri belirler.

Çizimleri yüklediğinizde sigorta bitleri mikro denetleyiciye YAZILMAZ. Hizmet / Ödeme menüsünde uygun olmayan bir platform seçilirse:

  • Eskizleri yüklerken
    • Uygunsuz frekans - program hızında değişikliklere yol açar
    • Uygun olmayan işlemci - programların çalışmamasına yol açar
  • Önyükleyiciyi kaydederken
    • Uygunsuz frekans - bu sistemdeki mikro denetleyicinin çalışmamasına yol açabilir
    • Uygun olmayan işlemci (sigortalar) - mikro denetleyiciyi engelliyor

Dikkat, yanlış eylemleriniz mikrodenetleyiciye zarar verebilir, bunu geri yüklemek için bir programlayıcıya ihtiyacınız olacaktır.

ATmega8 mikrodenetleyici için önyükleyici.

Mikrodenetleyicinin çeşitli çalışma frekansları için Optiboot önyükleyicileri Bootloader Designer web sitesinden indirilebilir.

Bootloaders Optiboot, Arduino geliştiricileri tarafından tanınan bağımsız, ücretsiz bir önyükleyici geliştirmesidir. Optiboot, farklı Arduino modellerinde ve çeşitli uygulamalarda kullanılmak üzere tasarlanmıştır. Atmel mikrodenetleyicileri. Optiboot önyükleyici ile rakipleri arasındaki temel farklar, kod boyutunun dört kata kadar küçültülmesi, mikro denetleyicinin çalışmasında gereksiz gecikmelerin azaltılması, yüksek hız bilgisayarınızdan eskizler yükleniyor.

Bootloaders dosyalarını hardware/arduino/boards.txt dosyasında yazılanlara göre Arduino programına yerleştirin. Örneğin bir ATmega8 cihazı (optiboot 16MHz ext) için bootloader dosyasının hardware/arduino/bootloaders/optiboot50 klasörüne yerleştirilmesi ve dosya adının optiboot_atmega8.hex olması gerekmektedir.

EGYDuino, tek taraflı olarak kendi başınıza yapabileceğiniz bir Arduino klonudur baskılı devre kartı. Evde yapılabilecek basit ve ucuz bir çözümdür ve Arduino ile %100 uyumludur.

Tanım

ATmega8 mikrokontrolcüsü USB üzerinden seri bağlantıdan sorumludur. Kullanılarak programlanabilir. AVR-CDC, cihazı bağladıktan sonra bilgisayarda sanal bir COM bağlantı noktası oluşturur ve uygun sürücüyü yükler. ATmega 8.168 mikrodenetleyicisi ArduinoNG tekne yükleyicisi kullanılarak programlanmalıdır. Bu işlem, başka bir Arduino kartı (ISP programlayıcıyı seçin) ve Arduino IDE veya USBasp gibi uygun programlayıcıya sahip ayrı bir programlayıcı (USB, seri veya paralel) kullanılarak gerçekleştirilebilir. yazılım. Ayrıca Bootloader'ı da kullanabilirsiniz arduinoDuemilanove ATmega 168 veya 328 için.

Yönetim kurulu aşağıdaki özelliklere sahiptir:

ATmega8 mikro denetleyicisini arayüz IC'si olarak kullanır
- PC'ye USB bağlantısı
- Standart RESET düğmesi
- Arduino ile %100 pin uyumlu
- 5V regülatör
- 3,3V çıkış
- Uyumlu boyut ve tasarım
- Tüm bileşenler karttaki delikli montaj deliklerine takılır
- USB veya DC güç anahtarı
- Jumper'lı PIN13 pini için LED
- Güç LED'i
-ICSP konektörü
- Üretimi kolay
- arduinoNG önyükleyicisini kullanan ATmega8,168,328 mikrodenetleyici
- Standart DC güç soketi

EGYDuino kartına bir USB konektörü veya harici bir adaptör voltaj regülatörü aracılığıyla güç verilebilir.

Şema

Cihazın tam devre şeması aşağıda gösterilmiştir.

Baskılı devre kartı

Radyo elemanlarının listesi

Tanım Tip Mezhep Miktar NotMağazanot defterim
IC1 MikrodenetleyiciATmega8-P1 Not defterine
IC2 MK AVR 8 bit

ATmega328

1 Not defterine
IC3 Doğrusal regülatör

LM7805

1 Not defterine
D1 Doğrultucu diyot

1N4001

1 Not defterine
D2, D3 Zener diyot3,6V2 Not defterine
C1, C2, C5, C6 Kapasitör22pF4 Not defterine
C3 Kapasitör1000pF1 Not defterine
C4, C7, C10 Kapasitör0,1 uF3 Not defterine
S8, S9 Elektrolitik kondansatör100 uF2 Not defterine
R1, R2 Direnç

68 ohm

2 Not defterine
R3 Direnç

1,5 kOhm

1 Not defterine
R4, R6 Direnç

10 kOhm

2 Not defterine
R5 Direnç

1 kOhm

1 Not defterine
R7 Direnç

470Ohm

1 Not defterine
1. Çeyrek, 2. Çeyrek Kuvars rezonatör16MHz2 Not defterine
LED1 Işık yayan diyotKırmızı1

Başlayalım!

Adım 1.Giriş.


Sorular, nasıl ve ne yapmalı ve genel olarak buna neden ihtiyacım var?

LED küp yapımından Akıllı Ev yapımına, uçan drone yapımına kadar Arduino hakkında tonlarca bilgi arasında gezindikten sonra...
siz de benim gibi bu yüce tahtanın üretimi hakkında az çok kabul edilebilir bilgileri hararetle aramaya başladınız.
"Lanet olsun, bir tane istiyorum!" veya "Şu anda bunu yapmak istiyorum." Ve bu cihazın tüm olası uygulamaları kafamda dönüyor.
Elleriniz tahtanın parçalarını aramaya başlıyor, internete gidiyor ve orada:
ARDUINO.Sadece 25$.
Bu kadar.
Bütün kombinasyonlar aklımdan çıktı.
Umutsuzluk.
Daha fazla nasıl yaşayacağınızı bilmiyorsunuz.
Ve sonra bu siteye rastlıyorsunuz!
Kurtuldun!
Sonuçta, şu anda ARDUINO uyumlu bir anakartı 15 dakikada ve yalnızca yaklaşık 300 ruble karşılığında monte edeceğiz!

Adım 2. Şimdi alın!


Bu bileşenlere ihtiyacınız var:
-Ekmek tahtası
-ATMega 328(Çevirmenin notu: ATMega 8.168 de kullanılabilir)
-Hazır Arduino kartı (*ve yine çevirmen - Arduino yerine herhangi bir programlayıcıyı kullanabilirsiniz, hatta “5 kablo”)
16 MHz'de -1 rezonatör
-100 Ohm başına 3 direnç
10kOhm başına -1 direnç
-22pF'de 2 kapasitör
-3 LED (kırmızı, sarı ve yeşil)
-1 Krona tipi pil (9 volt) çiftleşme parçalı
-USB kablosu
-1 voltaj dengeleyici "Krenka"
-Bilgisayar, Arduino IDE yüklü dizüstü bilgisayar.
Bu kadar.

Adım 3. Montajın başlatılması.


Bir devre tahtası alın ve mikrodenetleyiciyi bacakları kapalı olmayacak şekilde sabitleyin (“oluğun” üzerinde durmalıdır)

Adım 4. Krankların bağlanması.

Krenka'yı MK'nin yanındaki düzene yerleştirin.
Krenki'nin pin şeması:
-VCC(harici güç kaynağı)
-GND(Toprak.Ortak kontak)
-Çıktı
Siyah kablonun diğer ucunu devre tahtası üzerindeki “GND” veriyoluna bağlayın.
VCC'yi devre tahtası üzerindeki güç + veriyoluna bağlayın.
Ve Output'u çipin güç kaynağının olacağı yere atın.

Adım 5. MK'ye güç sağlıyoruz.


Pinout'a iyi bakın ATMega.
Devre tahtasının CRANKS ve GND Çıkışını sırasıyla MK'nin Çıkışına (7 ve 20 pin) ve GND'ye (8 ve 22 pin) bağlayın.

Adım 6. Hassasiyet ekleyin.



GND ile ATMega'nın pin 9'u arasına 22pF'lik bir kapasitör bağlayın.
Ve ATMega'nın 10. pimi ile yine toprak arasındaki ikinci kapasitör.
5v ile RESET (1 pin) arasına 10k Ohm'luk bir direnç ekleyin.

Adım 7. LED'leri ekleyin.

Kabloyu tahtanın herhangi bir yerine takın.
Kablonun bir ucuna 100 Ohm'luk bir direnç bağlayın (resme bakın)
Sarı diyotun (+) uzun ayağını direncin diğer ucuna bağlayın.
Kısa bacağı (-) toprağa bağlayın.
Kırmızı ve yeşil diyotlar için tekrarlayın.

Adım 8. Tüm bunları ARDUINO'ya bağlayın.
Ancak çok yol kat ettik!

Sarı diyotu Arduino'nun 9 numaralı pinine bağlayın.
Sarı diyot programlayıcının çalışmasını gösterir.
Kırmızı diyotu Arduino'nun 8 numaralı pinine bağlayın.
Bir şeyler ters giderse yanar.
Ve yeşil diyotu pin 7'ye bağlayın.
Önyükleyicinin yükleme durumunu gösterir.
4 kabloyu (resimde 3 sarı ve yeşil) devre tahtası üzerindeki ATMega pinlerine bağlayın (şekle bakın).
Ve sonra bu kabloları Arduino'nun 10-13 pinine bağlayın.
Arduino ve devre tahtalarının 5 ve GND'sini bağlamayı unutmayın!

Adım 9.Programlama.
Phew, önyükleyiciyi yüklememiz gerekiyor.
Nasıl diye sordun?
AK böyle!
1) Arduino IDE'yi başlatın.
2) Dosya-Örnekler-Arduino ISP'yi seçin.
3) Taslağı derleyin ve Arduino'ya yükleyin.
Çizimi yükledikten sonra sarı diyotun yanıp sönmeye başladığını göreceksiniz.
Şimdi topraklama ile Arduino sıfırlama arasına 100 ohm'luk bir direnç ekleyin.

Adım 10. Önyükleyiciyi gerçekten doldurma.


Arduino IDE'de şunu seçin:
Tools-Board-Arduino Duemilkanove with AtMega 328 (* AtMega 328 kullanmıyorsanız kurduğunuz kontrol cihazının bulunduğu modeli listeden bulun)
Araçlar-Programcı-Arduino ISP olarak.
Ve yine Araçlar menüsüne gidip “Bootloader Yaz”a tıklayın.
Ürün yazılımı başlayacaktır (yaklaşık bir dakika sürer)
Ekranda "Boot Burning Bootloader" görünecektir

Bir şeyler ters giderse, kırmızı diyot yanar, bu da işe yaramadıysa, kişisel bir mesajla veya adresinden bizimle iletişime geçin. [e-posta korumalı].
Voila, kendi Arduino'n var!
Mutlu iş!

Arduino. Herkesin bildiği ve pek çok kişi tarafından sevilen cihaz o kadar popüler hale geldi ki, küçük çocuklar bile daha doğmadan taslak yazmaya çalışıyor. Tehdit, bu şaka... Kısacası geride kalmak istemiyorum ve bu yazıda size ATmega8A genişletme kartını nasıl arduino'ya dönüştüreceğinizi anlatacağım. Bu ücretin ne olduğunu bilmeyenler okuyabilir. Evet, anlıyorum, çoğu kişi ev yapımı nerede diyecek? Kendin Yap ile ilgili olan şey, Arduino için yalnızca birkaç şeye ihtiyacınız olmasıdır. Bunlardan ilki mikrodenetleyicidir. Ucuzluk için ATmega8 gidecek. İkincisi ise 16 MHz'de kuvarstır. Üçüncüsü - iki adet 22pf seramik kondansatör. Ve dördüncüsü, bir USB TTL dönüştürücü, herhangi biri. Montaj için MK bacakları XTAL1 ve XTAL2'ye kuvars takmanız gerekir. Aynı bacağa iki konder takın ve diğer bacakları yere bağlayın, hepsi bu.

Şimdi pratik eylemlere geçelim. Hata ayıklama kartını Arduino'ya dönüştüreceğiz ancak tüm eylemler basit bir MK, kuvars ve birkaç kondansatör için geçerlidir. Hadi gidelim.
Genişletme kartındaki varsayılan kuvars 7,3728 MHz'dir. Bu Arduino'da işe yaramayacak. Biz de onu alıp 16 MHz olarak değiştiriyoruz.

Daha sonra önyükleyiciyi panomuza yüklememiz gerekiyor. Bunu yapmak için herhangi bir Arduino kartını alın. altındayım el Arduino'su UNO. Henüz bir Arduino'nuz yoksa, bir tane almanın zamanı geldi. Chip Resistance mağazasından satın alabilirsiniz. Ve böylece Arduino UNO'muz var. Önümüze Arduino UNO’yu masanın sağ tarafına, ATmega8A genişletme kartını da sol tarafına yerleştiriyoruz. Bu kartların sağ tarafında klasik Atmel pin çıkışına sahip bir ISP konektörü bulunmaktadır.

Pim 5 hariç, kabloları alıp bu konektörleri bire bir bağlamaktan çekinmeyin.


Şimdi kabloları alıp bir ucunu ATmega8A genişletme kartının 5. pinine, diğer ucunu da Arduino UNO Digital 10 pinine takıyoruz.

Sonuç olarak tüm manipülasyonlardan sonra bu görünüme sahip olmalıyız.

Her şey yolundaysa, bağlanıyoruz Bilgisayar USB'si. Şu tarihte: doğru bağlantı Arduino UNO'daki LED'ler ve ATmega8A genişletme kartındaki kırmızı LED yanmalıdır. (Maalesef fotoğrafta teller LED'i engelliyor ama inanın yanıyor)

Yazılım prosedürlerine geçelim. Ve burada ATmega8 MK'nin tüm hayranlarını Arduino üreticilerinin hazırladığı büyük bir kurulum bekliyor. Şu anda IDE sürüm 1.6.3 bu mikro denetleyicileri desteklememektedir. Daha kesin yapılandırma dosyaları Bootloader da var ama yükleyemiyorsunuz. Gerçek şu ki, Arduino minimal ATmega328P mikro denetleyicisine geçti ve bu enfeksiyonun Genişletilmiş Bayt Sigortası var. Ama kirli sekizli öyle değil. Bu saçmalık yüzünden önyükleyici yüklenmiyor, ancak bu bitlerin yokluğundan şikayet ediyor. Bu nedenle, önyükleyiciyi yüklemeniz gerekiyor eski versiyon IDE. Elinde olmayanlar benden indirebilirsiniz. Bu sürüm 1.0.3'tür ve kurulmasına gerek yoktur. Sadece bir yerde açın ve bu kadar. Daha sonra programı bu klasörden çalıştırmanız yeterlidir. Şimdi MK'mizi doldurmak için bir program kuralım. Başlangıç ​​olarak örneklerden bir programcı seçin ArduinoISP ve onu Arduino UNO'ya veya şu anda kullandığınız şeye yükleyin.

Doldurduktan sonra Arduino UNO kartını veya üzerinde ne varsa değiştirmeniz gerekir. Arduino NG veya ATmega8 ile daha eski bir sürüm.

Tüm. Doldurabilirsiniz. Tıklamak Araçlar -> Önyükleyiciyi yaz ve kaydın bitmesini bekleyin.

Hazır. Arduino doğdu. Tüm kabloların bağlantısını kesiyoruz ve genişletme kartını GSMBOARD 1.1 hata ayıklama kartına asıyoruz. Ardından, USB-TTL genişletme kartını alın ve GND - GND, RXD - TXD, TXD - RXD kablolarını bağlayın ve güç sağlayın. Yeşil LED yanmalıdır.

Her şey işe yararsa eski programı kapatın ve erkek programı başlatın. En son sürüm. Bugün 1.6.3 ve aşağıdaki kodu yazıyoruz. void setup() ( pinMode(2, OUTPUT); ) void loop() ( digitalWrite(2, YÜKSEK); gecikme(2000); digitalWrite(2, LOW); while(1); ) Burada tam olarak neler oluyor? İlk önce pin 2'yi çıkışa başlatıyoruz. Daha sonra üzerine bir tane koyuyoruz, iki saniye bekleyip sıfıra basıyoruz. Sonra sonsuz bir döngüye düşüyoruz. Açıkça belirtmek gerekirse, burada hata ayıklama panosunun neye dönüştüğünün bir resmi var.

Gördüğünüz gibi ikinci pin modülün açılıp kapatılmasından sorumludur. Artık eskizimizi taze pişmiş Arduino'ya yüklemenin zamanı geldi. Bunun için aşağıdaki resimdeki gibi öğeleri seçerek IDE’yi yeniden yapılandıralım. Bağlantı noktasını USB-TTL olarak değiştirmeyi unutmayın.

Her şey ayarlandı. Çizimi yükle'ye tıklayın. Her şey yoluna girecekti ama bir hata ortaya çıktı. Ah. Tırmıkın başladığı yer burası. Arduino, programları indirmek için sanal bir COM bağlantı noktası kullanır. Bu şekilde çalışıyor. Önce IDE projeyi derler, ardından MK sıfırlama düğmesini çeker ve ilk önce önyükleyici başlatıldığı için IDE onu görerek programı flash'a dökmeye başlar. Derlemeden sonra MK'yi sıfırlamazsanız, IDE önyükleyicisi beklemeyecek ve bir hata vermeyecektir. Sıfırlamayı tüm Arduino'larda yapmak için bir bacak sarılır COM bağlantı noktası DTR. USB-TTL genişletme kartında bu ayak yoktur, dolayısıyla IDE projeyi derleyip yazdığında Yükleniyor.

ATmega8A genişletme kartındaki sıfırlama düğmesine çılgınca basıp bırakıyoruz. IDE önyükleyiciyi alacak ve programı flash'a yükleyecektir. İşte bu, program kendini biraz indirecek ve GSM modülünü açacak. Her şey doğru yapıldıysa resimdeki gibi görünmelidir.

USB-RS232 adaptörlerinin şanslı sahipleri için, MK'yi sıfırlamak için DTR ayağını (doğal olarak MAX3232 yongası aracılığıyla) bağlantı noktasından çıkarabilirsiniz. Bu, 100nf kapasitör aracılığıyla ISP konektöründeki pin 5'tir. Yani DTR bir kapasitördür - RES. Ve sonra IDE'nin kendisi sıfırlama işlemini gerçekleştirecektir. Her durumda, böyle bir resim elde etmelisiniz. Program modülü çalıştırdı ve açtı.

Artık GSM modülünü tamir edebilirsiniz. Sorularınız olursa yazın. Hadi anlamaya çalışalım. 

ANONİM 02.02.16 22:32

Makale için teşekkür ederim. Artık Mega 8'i Arduino Uno'mda kullanabilirim.

niko19 25.12.16 23:03

Masada hazır bir Arduino varsa neden tüm bunları bir genişletme kartıyla yapıp bir Arduino alıyorsunuz? Soru, örneğin bir devre tahtası üzerinde, bir Mega8 ve ortalıkta bulunan kuvarstan ev yapımı bir Arduino'nun nasıl yapılacağıdır. Mega'ya, kelimenin tam anlamıyla nokta nokta veya daha da iyisi, hazır bir ürün yazılımı dosyası yüklenmesi gerekir. mesela paralel programlayıcım var ama seri programlayıcım da var ama hazır Arduino yok...

Alexey 25.12.16 23:40

Arduino, Arduino IDE ile çalışmak için yüklü bir önyükleyiciye sahip bir Atmel mikro denetleyicisidir. Tek yapmanız gereken, önyükleyicinin sigortalarını ayarlamak, mikrodenetleyiciniz için olanı ürün yazılımı klasöründen seçip yüklemek. Kısaca ise.