Mục lục:
- Bước 1: Tháo dây nguồn AC và tháo pin 9V
- Bước 2: Móc dây nhảy
- Bước 3: Tăng sức mạnh cho RPi
- Bước 4: Cài đặt Avrdude
- Bước 5: Chỉnh sửa tệp cấu hình Avrdude
- Bước 6: Tải xuống hoặc sao chép tệp.hex Flash sang / home / pi
- Bước 7: Xác minh rằng Avrdude có thể nói chuyện với ATMEGA48V-10PU
- Bước 8: Flash tệp.hex vào ATMEGA48V-10PU
- Bước 9: Khắc phục sự cố đơn giản nếu đèn flash không thành công
Video: Cách sử dụng các Ghim và Vị trí GPIO của Raspberry Pi cho chương trình Bit-bang-DIMP 2 hoặc DA PIMP 2: 9 Bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:30
Đây là hướng dẫn từng bước về cách sử dụng Raspberry Pi và lệnh nguồn mở miễn phí avrdude để lập trình bit-bang-lập trình DIMP 2 hoặc DA PIMP 2. Tôi cho rằng bạn đã quen thuộc với Raspberry Pi và LINUX dòng lệnh. Bạn không cần phải quen thuộc với lập trình chip AVR, nhưng nó sẽ giúp ích nếu có sự cố vì bạn có thể đọc kết quả của avrdude và có một số ý tưởng về việc phải làm.
Quy trình này sẽ mất khoảng 1 giờ cho lần đầu tiên và 5 đến 10 phút mỗi lần sau.
Bạn sẽ cần:
1) Raspberry Pi với chân GPIO và bộ cấp nguồn. Tôi đang sử dụng Raspberry Pi Zero W có hàn chân GPIO. Hệ điều hành phải là Raspberry Pi OS (trước đây là Raspbian). Tôi đang sử dụng Raspbian Lite (Stretch), loại cũ. Các lệnh này vẫn sẽ hoạt động trên phiên bản mới nhất của Hệ điều hành Raspberry Pi.
Trong tương lai, tôi sẽ gọi Raspberry Pi là "RPi".
2) Dây nhảy từ nữ sang nữ. Nhận một trong mỗi màu sau: đỏ, đen, xanh dương, vàng, xanh lá cây, tím. Tôi đang sử dụng màu nâu thay vì màu tím.
3) DIMP 2 hoặc DA PIMP 2 với đầu cắm ICSP 10 chân tùy chọn được hàn vào. Tôi đang sử dụng DIMP 2 ở đây, nhưng hướng dẫn giống nhau đối với DA PIMP 2.
4) Truy cập Internet cho RPi để bạn có thể cài đặt avrdude lệnh nguồn mở miễn phí.
5) Bản sao của tệp flash.hex cho DIMP 2 hoặc DA PIMP 2. Bạn có thể tự tạo tệp.hex từ mã nguồn thô, nhưng tôi sẽ không chỉ cho bạn cách làm điều đó ở đây.
6) Một số cách để đăng nhập vào RPi - sử dụng kết nối mạng hoặc truy cập bảng điều khiển trực tiếp. Bạn cần có thể chạy các lệnh trên đó.
Bước 1: Tháo dây nguồn AC và tháo pin 9V
Trước tiên, hãy kiểm tra xem dây nguồn AC có được gắn vào DIMP 2 hoặc DA PIMP 2 và được cắm vào nguồn AC hay không. Nếu vậy, NGUY HIỂM: LETHAL SỐC NGUY HIỂM. Đeo găng tay cao su rồi tắt công tắc điều khiển chính trên DIMP 2 hoặc DA PIMP 2. Sau đó, rút dây nguồn AC khỏi nguồn AC và rút dây nguồn AC khỏi DIMP 2 hoặc DA PIMP 2. Bạn có thể lấy tháo găng tay cao su sau khi rút dây nguồn AC.
Sau đó, tháo pin 9V. Nguồn điện sẽ được cung cấp cho DIMP 2 bởi RPi thông qua dây màu đỏ (Vcc) và màu đen (GND). Tắt công tắc thanh trượt trên DIMP 2 hoặc DA PIMP 2 để đề phòng.
Bước 2: Móc dây nhảy
Khi RPi không được cấp nguồn, hãy bắt đầu nối dây jumper. Về sau, các chân GPIO nằm trên Raspberry Pi và các chân ICSP trên DIMP 2 (tiêu đề J3) hoặc DA PIMP 2 (tiêu đề J1).
Hãy tham khảo sơ đồ tôi đã tập hợp và các bức ảnh nếu bạn bị lạc.
Phần RPi của sơ đồ là từ pinout.xyz.
Phần ATMEGA48V-10PU của sơ đồ là bản quyền 2016 Atmel Corp.
Tôi tuyên bố sử dụng hợp lý các bản vẽ này do những bổ sung đáng kể, mang tính biến đổi.
Màu đen đi từ chân GPIO 6 đến chân ICSP 10. Đây là GND (Ground)
Màu vàng đi từ chân GPIO 12 đến chân ICSP 9. Đây là MISO.
Màu xanh lá cây đi từ chân GPIO 16 đến chân ICSP 1. Đây là MOSI.
Màu xanh dương đi từ chân GPIO 18 đến chân ICSP 7. Đây là SCK hoặc SCLK (SClock)
Màu tím (màu nâu trong ảnh của tôi) đi từ chân GPIO 32 đến chân ICSP 5. Đây là ĐẶT LẠI.
Màu đỏ đi từ chân GPIO 4 đến chân ICSP 2. Đây là Vcc (Nguồn 5V)
Bước 3: Tăng sức mạnh cho RPi
Bây giờ, hãy tiếp tục và tăng sức mạnh cho RPi. Phần vôn kế của DIMP 2 hoặc DA PIMP 2 cũng sẽ bật lên, nhưng bạn sẽ không thể biết nó bằng cách nhìn vào màn hình. Nếu nghi ngờ, hãy đo điện áp bằng đầu dò màu đỏ ở chân 20 trên ATMEGA48V-10PU và đầu dò màu đen ở chân 4, 6 hoặc 8 trên tiêu đề ICSP. Nó phải ở khoảng 5VDC.
Bước 4: Cài đặt Avrdude
Hướng dẫn của tôi sẽ chỉ hiển thị các lệnh dòng lệnh. Nếu bạn có GUI đang chạy, bạn sẽ muốn mở một Terminal để chạy các lệnh dòng lệnh này.
Đăng nhập với tư cách người dùng mặc định pi. Mật khẩu mặc định là raspberry
Cài đặt lệnh avrdude bằng cách gõ lệnh sau tại dấu nhắc lệnh đầu cuối:
sudo apt-get install avrdude
Bước 5: Chỉnh sửa tệp cấu hình Avrdude
Chỉnh sửa tệp cấu hình avrdude bằng cách nhập:
sudo nano /etc/avrdude.conf
Thêm các dòng này vào giữa tệp, nơi chứa các định nghĩa lập trình viên khác. Những gì tôi đã làm là sao chép phần lập trình viên ngay trên nó cho id = "linuxgpio", sau đó dán nó ngay bên dưới (tại dòng 1274), sau đó chỉnh sửa phần mới.
người lập trình
id = "pi_1"; desc = "Sử dụng giao diện Linux sysfs để bitbang GPIO dòng"; type = "linuxgpio"; đặt lại = 12; sck = 24; mosi = 23; miso = 18;;
Sau đó, lưu tệp bằng cách nhấn: Ctrl-O
Và sau đó thoát khỏi trình chỉnh sửa nano bằng cách nhấn: Ctrl-X
Bước 6: Tải xuống hoặc sao chép tệp.hex Flash sang / home / pi
Sao chép tệp flash.hex vào RPi. Tôi cho rằng bạn biết cách làm điều này. GỢI Ý: Sử dụng lệnh wget, curl, git hoặc scp để tải tệp từ web xuống RPi.
Tệp.hex của DIMP 2 có ở đây, cùng với mã nguồn:
github.com/dchang0/dimp2
Một phiên bản tùy chỉnh của tệp.hex của DA PIMP 2 có ở đây. Tôi đã không thử nghiệm này!
github.com/jcwren/DaPimp2
Nếu phiên bản trên của tệp.hex của DA PIMP 2 không hoạt động, thì mã nguồn gốc của DA PIMP 2 của Mikey Sklar ở đây. Bạn sẽ phải tự biên dịch nó thành tệp.hex đang hoạt động. Tôi không đề cập điều đó trong các hướng dẫn này vì nó sẽ là một hướng dẫn dài (nhưng không khó). Tôi đã lập trình thành công một số đơn vị DA PIMP 2 đang hoạt động bằng cách sử dụng mã nguồn này:
drive.google.com/open?id=0Bx5Als-UeiZbSUdH…
Hoặc bạn có thể truy cập trang DA PIMP 2 chính tại đây và nhấp vào liên kết đến mã nguồn.
mikeysklar.blogspot.com/p/da-pimp-battery-…
Đặt tệp.hex tại đường dẫn này và tên tệp trên RPi…
Đối với DIMP 2:
/home/pi/dimp2.hex
Đối với DA PIMP 2:
/home/pi/da_pimp2.hex
Bước 7: Xác minh rằng Avrdude có thể nói chuyện với ATMEGA48V-10PU
Chạy lệnh avrdude để đảm bảo rằng nó có thể nói chuyện với chip ATMEGA48V-10PU trên DIMP 2 hoặc DA PIMP 2.
cd / home / pi
sudo avrdude -c pi_1 -p m48 -v
Bạn sẽ nhận được về một trang đầu ra. Nhìn vào cuối. Nếu bạn nhận được phản hồi như thế này, thì bạn có thể tiếp tục.
avrdude: Thiết bị AVR được khởi tạo và sẵn sàng chấp nhận các hướng dẫn
Đọc sách | ##################################################### | 100% 0,00 giây
Nếu không, thì có điều gì đó không ổn và bạn nên tìm ra nó. Nhiều khả năng đó là một dây nối sai, nhưng một khiếu nại phổ biến khác mà tôi đã thấy là chip ATMEGA48V-10PU là hàng giả. Có vẻ như nhiều người trong số họ được bán trên Amazon hoặc ebay là hàng giả. Những sản phẩm được bán bởi Mouser hoặc Digikey và các nhà phân phối được ủy quyền khác là hàng chính hãng.
Bước 8: Flash tệp.hex vào ATMEGA48V-10PU
Chạy lệnh này để thực hiện lập trình chip…
Đối với DIMP 2:
cd / home / pi
sudo avrdude -c pi_1 -p m48 -U flash: w: dimp2.hex
Đối với DA PIMP 2:
cd / home / pi
sudo avrdude -c pi_1 -p m48 -U flash: w: da_pimp2.hex
Bạn sẽ nhận được về một trang đầu ra. Hãy tìm những dòng này:
avrdude: ghi flash (1528 byte):
Viết lách | ##################################################### | 100% 0,79 giây
avrdude: đang xác minh…
avrdude: 1528 byte xác minh flash avrdude: safemode: Fuses OK (E: FF, H: DF, L: 62)
Nếu bạn đạt được điều này, bạn sẽ thấy màn hình LED hiển thị các số 0 cho điện áp. Nếu bạn nhìn thấy các số 0, bạn đã hoàn tất! Nếu không, hãy chuyển sang bước tiếp theo.
Nếu bạn thấy các số 0, hãy tắt RPi của bạn một cách duyên dáng bằng lệnh sau:
sudo tắt máy -h bây giờ
Khi đèn nguồn trên RPi tắt (DIMP 2 hoặc DA PIMP 2 vẫn sáng), bạn có thể rút nguồn điện khỏi RPi. Sau đó rút dây nối giữa RPi và DIMP 2 hoặc DA PIMP 2.
Bước 9: Khắc phục sự cố đơn giản nếu đèn flash không thành công
Nếu bạn không thấy số 0 trên màn hình của DIMP 2 hoặc DA PIMP 2, thì đã đến lúc khắc phục sự cố.
Một lần nữa, hãy kiểm tra hệ thống dây điện của bạn trước.
Sau đó, kiểm tra các trạng thái cầu chì được hiển thị bằng avrdude. Có thể chip của bạn đi kèm với các cầu chì được đặt thành các giá trị khác với giá trị mặc định của nhà sản xuất. Con chip có thể cần phải thiết lập lại cầu chì, điều này yêu cầu một thiết bị phần cứng hoàn toàn khác. Đây là vấn đề với nhiều chip ATMEGA48V-10PU giả được bán trên ebay - chúng là những con chip cũ được lấy từ phần cứng bị loại bỏ và cầu chì đã được đặt và người bán không thèm đặt lại cầu chì.
Đôi khi chip thậm chí không phải là ATMEGA48V-10PU. Nó có thể là một con chip khác được gắn nhãn lại. Thông thường, bạn có thể nhận ra những hàng giả này bằng cách xem kỹ các dấu hiệu trên đầu và cuối con chip. Sẽ khôn ngoan hơn nếu bạn mua ATMEGA48V-10PU thông qua một nhà cung cấp đáng tin cậy như Mouser hoặc Digikey.
Đề xuất:
Cách sao lưu chương trình cơ sở gốc của Esp8266EX hoặc Esp-01: 4 bước
Cách sao lưu chương trình cơ sở gốc của Esp8266EX hoặc Esp-01: Tại sao? sao lưu firmware gốc là rất quan trọng .simplest ans is = original is original Trong hướng dẫn này, tôi sẽ chỉ cho bạn cách sao lưu firmware gốc của esp8266ex. ESP8266EX là một vi mạch Wi-Fi giá rẻ với đầy đủ ngăn xếp TCP / IP và vi điều khiển
Đèn LED nhấp nháy với Raspberry Pi - Cách sử dụng các ghim GPIO trên Raspberry Pi: 4 bước
Đèn LED nhấp nháy với Raspberry Pi | Cách sử dụng các Ghim GPIO trên Raspberry Pi: Xin chào các bạn trong phần hướng dẫn này, chúng ta sẽ học cách sử dụng GPIO của Raspberry pi. Nếu bạn đã từng sử dụng Arduino thì có lẽ bạn biết rằng chúng ta có thể kết nối công tắc LED, v.v. với các chân của nó và làm cho nó hoạt động như thế nào. làm cho đèn LED nhấp nháy hoặc nhận đầu vào từ công tắc để
Biến chuông cửa có dây của bạn thành chuông cửa thông minh với IFTTT: 8 bước
Biến chuông cửa có dây của bạn thành chuông cửa thông minh với IFTTT: Chuông cửa WiFi biến chuông cửa có dây hiện tại của bạn thành chuông cửa thông minh. https://www.fireflyelectronix.com/product/wifidoor
Hướng dẫn lập trình thú vị cho nhà thiết kế - Kiểm soát quy trình chương trình- Tuyên bố vòng lặp: 8 bước
Hướng dẫn lập trình thú vị cho nhà thiết kế - Điều khiển quy trình chương trình- Tuyên bố vòng lặp: Điều khiển quy trình chương trình- Tuyên bố vòng lặp Từ chương này, bạn sẽ tiếp xúc với một điểm kiến thức quan trọng và mạnh mẽ - Câu lệnh vòng lặp. Trước khi đọc chương này, nếu bạn muốn vẽ 10.000 vòng tròn trong chương trình, bạn chỉ có thể thực hiện với một
Bộ pin di động nút cho các thí nghiệm hoặc các ứng dụng nhỏ.: 5 bước
Bộ pin di động nút dành cho Thử nghiệm hoặc Ứng dụng Nhỏ: Xin chào mọi người! Hãy học cách tạo một bộ pin! Thực sự đơn giản, dễ dàng và rẻ. Đây là những ứng dụng tuyệt vời cho các thí nghiệm và thử nghiệm hoặc các ứng dụng nhỏ yêu cầu 3.0 - 4.5 volt