สารบัญ:
- ขั้นตอนที่ 1: คุณต้องการอะไร
- ขั้นตอนที่ 2: การสร้างโปรแกรมเมอร์ Mega-isp บน Breadboard
- ขั้นตอนที่ 3: การอัปโหลด Sketch
- ขั้นตอนที่ 4: การใช้กับ Avrdude
- ขั้นตอนที่ 5: การเบิร์นเฟิร์มแวร์ USBtinyISP ไปยัง Attiny2313
- ขั้นตอนที่ 6: การเบิร์น Arduino Bootloader
- ขั้นตอนที่ 7: การแก้ไขปัญหา
วีดีโอ: วิธีตั้งโปรแกรม AVR (arduino) ด้วย Arduino อื่น: 7 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:09
คำแนะนำนี้มีประโยชน์หาก:
* คุณมี Arduino กับ atmega168 และคุณซื้อ atmega328 ที่ร้านขายอุปกรณ์อิเล็กทรอนิกส์ในพื้นที่ของคุณ ไม่มี bootloader arduino * คุณต้องการสร้างโปรเจ็กต์ที่ไม่ใช้ arduino - แค่ชิป AVR ปกติ (เช่น USBTinyISP) - คุณมี attiny2313/attiny48 ที่สะอาด ฯลฯ ที่คุณต้องการเบิร์นเฟิร์มแวร์ โดยปกติคุณจะต้องมี ISP (ในโปรแกรมเมอร์ระบบ) เช่น USBTinyISP เพื่อตั้งโปรแกรมชิปใหม่ของคุณ การมี Arduino คุณสามารถสอนให้เป็นโปรแกรมเมอร์ได้ ขอบคุณ Randall Bohn ที่ทำงานที่ยอดเยี่ยม เขาสร้าง Mega-ISP ซึ่งเป็นภาพสเก็ตช์ Arduino ที่ทำงานเหมือนโปรแกรมเมอร์
ขั้นตอนที่ 1: คุณต้องการอะไร
* Arduino ที่ใช้งานได้ (หรือโคลน - ฉันใช้ BBB - BareBonesBoard และ RBBB - RealBareBonesBoard โดย ModernDevices) * ชิปที่คุณต้องการตั้งโปรแกรม (ทดสอบด้วย atmega8, atmega168, atmega368, attiny2313, attiny13) * เขียงหั่นขนมหรือ บอร์ดที่มีส่วนหัวของ ISP * ไฟ LED 3 ตัว + ตัวต้านทาน 3 ตัว * สายเขียงหั่นขนม
ขั้นตอนที่ 2: การสร้างโปรแกรมเมอร์ Mega-isp บน Breadboard
มีสองวิธีในการเชื่อมต่อ Arduino ของคุณเพื่อตั้งโปรแกรมชิป
คุณสามารถเสียบชิป avr ของคุณเข้ากับเขียงหั่นขนมและเชื่อมต่อ 5v และ GND กับพินที่เกี่ยวข้อง (ตรวจสอบแผ่นข้อมูล!) + ตัวต้านทานแบบดึงขึ้นเพื่อรีเซ็ตและต่อพินจาก Arduino ของคุณกับชิป นี่คือเส้นบน Arduino และฟังก์ชั่น 13 - SCK 12 - MISO 11 - MOSI 10 - RST (รีเซ็ต) หรือคุณสามารถสร้างส่วนหัว ISP 2x3pin ที่คุณสามารถเสียบเข้ากับบอร์ดที่มี (บอร์ด Arduino อื่น) Pinout สำหรับส่วนหัว ISP อยู่ในภาพที่สาม มีไฟ LED 3 ดวงเพื่อระบุสถานะของโปรแกรมเมอร์ พิน 9 - ไฟ LED สีน้ำเงิน - เป็นเสียงของโปรแกรมเมอร์ พิน 8 - ไฟ LED สีแดง - ระบุข้อผิดพลาด พิน 7 - ไฟ LED สีเขียว - แสดงว่าการเขียนโปรแกรมกำลังเกิดขึ้น (ฉันขี้เกียจดังนั้นฉันจึงไม่ตรงกับสีในการตั้งค่าของฉัน) นี่คือภาพวาดที่สร้างขึ้นใน Fritzing คุณยังสามารถสร้าง โล่ MEGA-isp Yaroslav Osadchyy ออกแบบโล่ในนกอินทรี คุณสามารถรับไฟล์อินทรีบนเว็บไซต์ของเขา:
ขั้นตอนที่ 3: การอัปโหลด Sketch
ดาวน์โหลดสเก็ตช์จาก mega-isp google code.(avrisp.03.zip ในขณะที่เขียน) แกะมันและเรียกใช้ arduino ide และเปิด avrisp.pde อัปโหลดไปยังบอร์ด Arduino ของคุณ Heartbeat led ควรเริ่มเต้น
ขั้นตอนที่ 4: การใช้กับ Avrdude
หากต้องการใช้กับ avrdude (และ GUI ทั้งหมดที่ใช้) คุณต้องเลือกโปรแกรมเมอร์ 'avrisp' อัตราบิตที่ปลอดภัยที่สุดคือ 19200
ในการทดสอบ atmega168 ใหม่ของคุณจาก commandline ให้ลอง: $ avrdude -p m168 -P /dev/ttyUSB0 -c avrisp -b 19200 /dev/USB0 คือพอร์ตที่ arduino เชื่อมต่อกับกล่อง linux ของฉัน (ของคุณอาจเป็น com5) สามารถตรวจสอบได้ใน arduino IDE ใน Tools -> Serial Port คุณควรได้รับ: [kabturek@hal-9000 ~]# avrdude -p m168 -P /dev/ttyUSB0 -c avrisp -b 19200 avrdude: อุปกรณ์ AVR เริ่มต้นและพร้อมที่จะยอมรับคำแนะนำ การอ่าน | ####################################################### | 100% 0.13s avrdude: ลายเซ็นอุปกรณ์ = 0x1e9406 avrdude: safemode: ฟิวส์ ตกลง avrdude เสร็จแล้ว ขอขอบคุณ. นั่นหมายความว่าทุกอย่างโอเค หากคุณได้รับข้อผิดพลาด - ตรวจสอบขั้นตอนสุดท้าย
ขั้นตอนที่ 5: การเบิร์นเฟิร์มแวร์ USBtinyISP ไปยัง Attiny2313
USBTinyISP เป็นโปรแกรมเมอร์ที่ยอดเยี่ยมจาก LadyAda ราคาถูกมาก - 22$ ฉันมี attiny2313 สำรองและบางส่วนดังนั้นฉันจึงตัดสินใจทำด้วยตัวเอง หากคุณไม่มีประสบการณ์ในการทำ PCB i แนะนำให้ซื้อชุดคิทเพราะมันมีคุณภาพสูงกว่าที่คุณสามารถสร้างเองได้:) อย่างน้อยซื้อ PCB ถ้าคุณต้องการสร้าง คุณสามารถรับมันได้จากอดาฟรุต เชื่อมต่อ ATtiny2313 ในภาพสุดท้าย คุณสามารถเห็น attiny2313 ด้วยพินที่ใช้สำหรับ ISP เป็นสีแดง รูปภาพนี้มาจากการสอน Avr ของ LadyAda การเบิร์นเฟิร์มแวร์: แกะเฟิร์มแวร์ USBTinyISP ไปที่ spi dir แล้วรัน $ avrdude -p pt2313 -P /dev/ttyUSB0 -c avrisp -b 19200 เพื่อตรวจสอบว่าทุกอย่างโอเคกับชิปหรือไม่ ตอนนี้ตั้งค่าฟิวส์: $ avrdude -P /dev/ttyUSB0 -c avrisp -b 19200 -pt2313 -U hfuse:w:0xdf:m -U lfuse:w:0xef:m ตอนนี้ คุณควรแนบออสซิลเลเตอร์ภายนอก 12mhz เข้ากับชิป. และเบิร์นเฟิร์มแวร์: $ avrdude -B 1 -pt2313 -U flash:w:main.hex -P /dev/ttyUSB0 -c avrisp -b 19200 Voila attiny2313 ของคุณมีเฟิร์มแวร์ USBTinyISP
ขั้นตอนที่ 6: การเบิร์น Arduino Bootloader
การเชื่อมต่อฉันโกงเล็กน้อยเพราะฉันใช้ RBBB เพื่อทำให้การเชื่อมต่อง่ายขึ้น สคีมาอยู่ในรูปที่ #2 หากคุณใช้ 2 arduinos ให้ใช้รูปภาพ #3 และเชื่อมต่อพิน ISP กับส่วนหัว ICSP 2x3 บน Arduino ตัวที่สอง (ทาส) ต่อไฟ usb เข้ากับบอร์ดแรกเท่านั้น วิธี GUI นี่เป็นสาเหตุที่ยุ่งยากเล็กน้อยคุณไม่สามารถใช้เครื่องมือ -> Burn Bootloader -> w/ AVR ISP ได้เนื่องจากความเร็วเริ่มต้นใหญ่เกินไปสำหรับ mega-isp ค้นหา avrdude.conf ที่มาพร้อมกับ arduino IDE (ใน arduino/hardware/tools/avrdude.conf) และเปลี่ยนขอบเขตสำหรับโปรแกรมเมอร์ avrisp จาก 115200 เป็น 19200 (ประมาณบรรทัดที่ 312) ค้นหาและเปลี่ยนใน avrdude.conf programmer id = "avrisp"; desc = "Atmel AVR ISP"; อัตรารับส่งข้อมูล = 115200; # ค่าเริ่มต้นคือ 115200 ประเภท = stk500;; ถึง: programmer id = "avrisp"; desc = "Atmel AVR ISP"; อัตรารับส่งข้อมูล = 19200; # ค่าเริ่มต้นคือ 115200 ประเภท = stk500;; ตอนนี้คุณสามารถใช้ Tools -> Burn Bootloader -> w/ AVR ISP (หลังจากคุณเลือกบอร์ดที่เหมาะสมจากเมนู Tools)Commanline คุณยังสามารถใช้ commandline: Edit arduino/hardware/bootloaders/atmega/Makefile และเปลี่ยน ISPTOOL/PORT /ความเร็วไปที่: # ป้อนพารามิเตอร์สำหรับเครื่องมือ avrdude isp ISPTOOL = avrisp ISPPORT = /dev/ttyUSB0 ISPSPEED = -b 19200 ไม่ คุณสามารถเขียน $ make diecimila_isp เพื่อเบิร์นฟิวส์และ bootloader ทดสอบ ตอนนี้เชื่อมต่อ arduino ใหม่กับ usb และ เผาไฟกระพริบ!
ขั้นตอนที่ 7: การแก้ไขปัญหา
ข้อผิดพลาด Avrdude: avrdude: ser_open(): can't open device "/dev/ttyUSB0": ไม่มีไฟล์หรือไดเรกทอรีดังกล่าว คุณระบุพอร์ตผิด (-P) หรือ Arduino ของคุณไม่ได้เชื่อมต่อ ตรวจสอบการเชื่อมต่อ avrdude: ลายเซ็นอุปกรณ์ = 0x000000 avrdude: Yikes! ลายเซ็นอุปกรณ์ไม่ถูกต้อง ตรวจสอบการเชื่อมต่ออีกครั้งแล้วลองอีกครั้ง หรือใช้ -F เพื่อแทนที่การตรวจสอบนี้ นี่เป็นข้อผิดพลาดทั่วไป ชิปของคุณไม่เป็นที่รู้จัก ตรวจสอบการเชื่อมต่อบนบอร์ด (GND / 5V เชื่อมต่อกับพิน ?) คุณจะได้รับข้อผิดพลาดนี้เมื่อชิปของคุณได้รับการกำหนดค่าให้ใช้ออสซิลเลเตอร์ภายนอกและมันไม่ทำงาน (ไม่มีหรือไม่มีการสั่นที่เหมาะสม - แคป 22pf หายไป ?)
แนะนำ:
วิธีตั้งโปรแกรม ESP32 M5Stack StickC ด้วย Arduino IDE และ Visuino: 12 ขั้นตอน
วิธีตั้งโปรแกรม ESP32 M5Stack StickC ด้วย Arduino IDE และ Visuino: ในบทช่วยสอนนี้ เราจะเรียนรู้วิธีตั้งโปรแกรม ESP32 M5Stack StickC ด้วย Arduino IDE และ Visuino ดูวิดีโอสาธิต
วิธีตั้งโปรแกรม Arduino Pro Mini ด้วย Arduino Uno: 4 ขั้นตอน
วิธีเขียนโปรแกรม Arduino Pro Mini ด้วย Arduino Uno: ฉันเขียนสิ่งนี้เป็นส่วนหนึ่งของโครงการอื่น แต่แล้วฉันก็ตัดสินใจใช้ Pro Micro ซึ่งสามารถตั้งโปรแกรมได้โดยตรงจากแล็ปท็อป อย่างไรก็ตาม นี่อาจมีประโยชน์สักวันหนึ่ง (หรือสำหรับใครบางคน) ดังนั้น ฉันจะทิ้งมันไว้ที่นี่
วิธีสร้าง CubeSat ด้วย Arduino ด้วย Arducam: 9 ขั้นตอน
วิธีสร้าง CubeSat ด้วย Arduino ด้วย Arducam: ในรูปแรก เรามี Arduino และเรียกว่า "Arduino Uno"ในรูปที่สอง เรามี Arducam และเรียกว่า "Arducam OV2640 มินิ 2MP"พร้อมกับภาพที่สอง มีวัสดุที่คุณต้อง
วิธีตั้งโปรแกรม Arduino Pro Mini โดยใช้ Arduino UNO: 4 ขั้นตอน
วิธีตั้งโปรแกรม Arduino Pro Mini โดยใช้ Arduino UNO: สวัสดีทุกคน วันนี้ฉันมาแชร์วิธีง่ายๆ ในการเขียนโปรแกรม Arduino Pro mini โดยใช้ Arduino UNO บทช่วยสอนนี้เหมาะสำหรับผู้ที่เริ่มต้นใช้งาน Arduino และต้องการลดขนาดของโครงการโดยใช้ Arduino Pro mini.Arduino Pro mini
วิธีตั้งโปรแกรม NodeMCU บน Arduino IDE: 5 ขั้นตอน
วิธีตั้งโปรแกรม NodeMCU บน Arduino IDE: Osoyoo NodeMCU ได้รับการตั้งโปรแกรมล่วงหน้าด้วยล่าม Lua แต่คุณไม่จำเป็นต้องใช้มัน! แต่คุณสามารถใช้ Arduino IDE ซึ่งอาจเป็นจุดเริ่มต้นที่ดีสำหรับผู้ที่ชื่นชอบ Arduino ในการทำความคุ้นเคยกับเทคโนโลยีรอบๆ