Bağımsız bir Arduino çip kullanmak oldukça kolaydır. Resmi kartlar için kullanılan yonga ile ilgili zor olan tek şey, tahtaya monte edilen daha hızlı (ve daha doğru) harici osilatörü kullanmak için kaynaşmalarıdır. Bu, gevşek yongaları satın aldığınızda bile geçerlidir, çünkü çoğu, belki de Digikey'den olanlar hariç, yanmış olanı değiştirmek için bir Arduino kartına monte edilmek amacıyla satılmaktadır.
Uyarılar: Arduino bir prototip tahtası olarak tasarlanmıştır ve birkaç şey bu görevde olduğundan daha iyi sonuç verir. Devre tasarımını ve testini tamamlayana kadar çipi Arduino kartında bırakmak isteyebilirsiniz. Ancak o zaman doğrudan bağlarsınız. Yerinde bir saat devreniz varsa yerinde kullanılabilir veya sigortaları değiştirebilir (daha sonra bakın) ve Arduino'yu bir ISS adaptörü ve 8 mhz'lik bir saat hızı ile yeniden programlayabilirsiniz (PlatformIO bunu yapmanızı sağlar ( ve doğrudan izin verir) Bir Arduino taslağının ithalatı) - Atmel AVR eklentisi için doküman sayfalarını kontrol edin, ancak Arduino'ya çıplak bir yonga için 8mhz seçeneğini kullanmasını söylemek için bir tahta dosyasının nasıl ekleneceğine dair bir dizi kılavuz da arayabilirsiniz)
Farklı bir devrede kullanmak için çipi çıkarırsanız, saat devresinin tekrar eklenmesi veya sigortalarının değiştirilmesi gerekir (bir dakika içinde buna geçeceğim). Ayrıca, çeşitli nedenlerden dolayı programlamak zor olacaktır, bu yüzden biraz ucuz donanım satın almak isteyeceksiniz:
Bağımsız bir yonga programlama : Arduino'nun CPU'su bir bilgisayarla konuşmak için doğal olarak tasarlanmamıştır. Bir aracıya ihtiyacınız var. Uno'da bu, USB özelliğine sahip ikinci bir Atmel çipi ve ana çipte bir önyükleyici ile yapılır. Bu, USB yongası bilgisayarın mesajlarını UART sinyallerine dönüştürürken programın yüklenmesi için UART'ı kullanmasıdır. Önyükleyici, çip kendi başına olduğunda biraz acı çektiği için (UART seçici olduğu ve takıldığı için çipi harici bir saat kullanacak şekilde ayarladığı için), Arduino için bir ISS programcısı satın almak isteyeceksiniz (veya Arduino-is-ISP çizimini ve kendi yapmak için talimatları takip edin, bu da çip bulunan bir Arduino gerektirir, bu yüzden programlanması için bir saniyeye ihtiyacınız olacaktır).
Bunlar, ATMega 328'i önyükleyici olmadan doğrudan SPI üzerinden programlayabilir (İnternette birçok talimat vardır; örneğin, "USBAsp ile çıplak ATMega 328P programını arayın"). Bu, yongayı orijinal Arduino kartına geri göndermek dışında programınızı değiştirmeyi ve hata ayıklamayı çok daha kolay hale getirir. Harici bir kristal kullanmak istemiyorsanız saat ayarlarını değiştirmek için bir taneye ihtiyacınız vardır.
Çipte hata ayıklamak istiyorsanız , bir FTDI adaptörü veya başka bir USB-UART dönüştürücü satın almak da yararlıdır. Yine de kartın sıfırlama devresi parçası olmadan (veya tekrar kendinizinkini ekleyerek), ATMega'yı bootloader ile bile programlamanıza izin vermeyeceğinizi unutmayın. Bunun için toprak, RX ve TX pimlerini adaptöre bağlayın. VCC hattını bağlamak isteyebilir veya istemeyebilirsiniz, ancak çipe bağlı bir çok şey varsa ve / veya kendi güç kaynağı varsa bunu yapmamanız önerilir . RX ve TX'in bağlandığınızda değiştirilmeleri gerektiğini unutmayın; yani, RX'den TX'e ve TX'den RX'e - çipin adaptörün TX (iletim) ne olduğunu RX (alma) ve tam tersi olmasını istersiniz.
Saat devresini oluşturmak zor değildir, ancak sahip olmadığınız birkaç bileşen gerektirir. Yani, hiç saat kaynağı değiştirmek , gidin http://www.engbedded.com/fusecalc/ ve ATMega 328P seçin. Varsayılan değerler iyidir, ancak EEPROM silmeye devam et özelliğini etkinleştirmek ve saat 8'e bölünmeyi devre dışı bırakmak veya göz atma ayarlarını değiştirmek isteyebilirsiniz. Başka hiçbir şeye dokunmayın (sıfırlama veya SPI'yi devre dışı bırakmak veya DebugWire'ı etkinleştirmek, bir YG programcısının düzeltilmesini gerektiren "eğlence" ile sonuçlanır). Tamamlandığında, sağladığı komutu AVRDude komutuna yapıştırın. -C seçeneklerini değiştirmeniz gerekir (-p zaten ATMega 328P olarak ayarlanmıştır, ancak P 328 olmayanlar için başarısız olacaktır - bunları satın almayın) ve belki de -P seçeneğini (Bağlantı Noktası için) ekleyin. Küçük harf -u seçeneğini atlamayın, aksi takdirde sigortaları güncellemeyi reddeder.
avrdude -p m328p -v -c usbasp -B 100 -u [add extras here: (-P <PORT>) <fuse set command here>]
Not onlar benim favori programcısı tüm bu bir USBASP satın alırsanız ki (emin olunuz jumper üç grup vardır!), Onlar güncellenmiş firmware sahip olmayabilir destekleri -B seçeneği (eğer olacak muhtemelen ihtiyaç). Bu, onu Arduino'nun önyükleyicisini programlamak için kullandığınız şekilde altı iğneli programlama bağlantı noktası aracılığıyla bir Arduino'ya bağlamanız gerektiği, ancak daha sonra yeni programlamak için Arduino olarak ISS çizimini kullanmanız gerektiği anlamına gelir programcıya firmware (arama "usbasp firmware'i arduino-is-isp üzerinden güncelleyin")! Referans olarak, bu genellikle kablonun kartın gövdesinden uzağa baktığı anlamına gelir ve muhtemelen çizimi daha önce programlamanız gerekirkabloyu bağlayın. Ayrıca USBASP (5V) ve "kendi kendine programlanan" programlayıcıdan gelen güç atlama telini etkinleştirin. ( güç ve program atlama telleri (JP2) için https://forum.arduino.cc/index.php?topic=560719.0 adresine bakın ).