สารบัญ:
- ขั้นตอนที่ 1: รายการเนื้อหาสำหรับ HackerBox 0040
- ขั้นตอนที่ 2: ไมโครคอนโทรลเลอร์ PIC
- ขั้นตอนที่ 3: การเขียนโปรแกรมไมโครคอนโทรลเลอร์ PIC ด้วย PICkit 3
- ขั้นตอนที่ 4: Breadboarding PIC โปรแกรมด้วย Blink.c
- ขั้นตอนที่ 5: การเขียนโปรแกรมในวงจร
- ขั้นตอนที่ 6: การใช้ Crystal Oscillator ภายนอก
- ขั้นตอนที่ 7: ขับโมดูลเอาต์พุต LCD
- ขั้นตอนที่ 8: ตัวรับเวลาและตำแหน่ง GPS
- ขั้นตอนที่ 9: ใช้ชีวิต HackLife
วีดีโอ: HackerBox 0040: PIC of Destiny: 9 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:06
สวัสดี HackerBox แฮกเกอร์ทั่วโลก HackerBox 0040 ให้เราทำการทดลองกับไมโครคอนโทรลเลอร์ PIC, บอร์ดบอร์ด, จอ LCD, GPS และอื่นๆ คำแนะนำนี้มีข้อมูลสำหรับการเริ่มต้นกับ HackerBox 0040 ซึ่งสามารถซื้อได้ที่นี่จนกว่าของจะหมด หากคุณต้องการรับ HackerBox แบบนี้ในกล่องจดหมายของคุณทุกเดือน โปรดสมัครสมาชิกที่ HackerBoxes.com และเข้าร่วมการปฏิวัติ!
หัวข้อและวัตถุประสงค์การเรียนรู้สำหรับ HackerBox 0040:
- พัฒนาระบบฝังตัวด้วยไมโครคอนโทรลเลอร์ PIC
- สำรวจการเขียนโปรแกรมในวงจรของระบบฝังตัว
- ทดสอบตัวเลือกการจ่ายไฟและการตอกบัตรสำหรับระบบฝังตัว
- เชื่อมต่อไมโครคอนโทรลเลอร์ PIC กับโมดูลเอาต์พุต LCD
- ทดลองกับเครื่องรับ GPS ในตัว
- ควง PIC ของ Destiny
HackerBoxes เป็นบริการกล่องสมัครสมาชิกรายเดือนสำหรับอุปกรณ์อิเล็กทรอนิกส์ DIY และเทคโนโลยีคอมพิวเตอร์ เราเป็นมือสมัครเล่น ผู้สร้าง และผู้ทดลอง เราคือผู้ใฝ่ฝัน
แฮ็คดาวเคราะห์
ขั้นตอนที่ 1: รายการเนื้อหาสำหรับ HackerBox 0040
- ไมโครคอนโทรลเลอร์ PIC PIC16F628 (กรมทรัพย์สินทางปัญญา 18)
- ไมโครคอนโทรลเลอร์ PIC PIC12F675 (กรมทรัพย์สินทางปัญญา 8)
- PICkit 3 โปรแกรมเมอร์และดีบักเกอร์ในวงจร
- เป้าหมายการเขียนโปรแกรมซ็อกเก็ต ZIF สำหรับ PICkit 3
- สาย USB และสายเฮดเดอร์สำหรับ PICkit 3
- โมดูล GPS พร้อมเสาอากาศในตัว
- 16x2 โมดูล LCD ตัวอักษรและตัวเลข
- เขียงหั่นขนมพาวเวอร์ซัพพลายพร้อม MicroUSB
- คริสตัล 16.00MHz (HC-49)
- ปุ่มสัมผัสชั่วขณะ
- ไฟ LED สีแดง 5 มม. แบบกระจาย
- โพเทนชิโอมิเตอร์ทริมเมอร์ 5K โอห์ม
- ตัวเก็บประจุเซรามิก 18pF
- ตัวเก็บประจุเซรามิก 100nF
- ตัวต้านทาน 1K Ohm 1/4W
- ตัวต้านทาน 10K Ohm 1/4W
- 830 Point (ใหญ่) Solderless Breadboard
- ชุดสายจัมเปอร์ขึ้นรูป 140 ชิ้น
- ปิ๊กกีตาร์เซลลูลอยด์
- สติ๊กเกอร์ไดคัท PIC16C505 สุดพิเศษ
สิ่งอื่น ๆ ที่จะเป็นประโยชน์:
- หัวแร้ง หัวแร้ง และเครื่องมือบัดกรีพื้นฐาน
- คอมพิวเตอร์สำหรับใช้งานเครื่องมือซอฟต์แวร์
ที่สำคัญที่สุด คุณจะต้องมีความรู้สึกของการผจญภัย จิตวิญญาณของแฮ็กเกอร์ ความอดทน และความอยากรู้อยากเห็น การสร้างและทดลองใช้อุปกรณ์อิเล็กทรอนิกส์ แม้จะให้ผลตอบแทนสูง แต่ก็อาจเป็นเรื่องยาก ท้าทาย และน่าหงุดหงิดในบางครั้ง เป้าหมายคือความก้าวหน้า ไม่ใช่ความสมบูรณ์แบบ เมื่อคุณยืนกรานและสนุกไปกับการผจญภัย งานอดิเรกนี้จะได้รับความพึงพอใจอย่างมาก ทำแต่ละขั้นตอนอย่างช้าๆ ใส่ใจในรายละเอียด และอย่ากลัวที่จะขอความช่วยเหลือ
มีข้อมูลมากมายสำหรับสมาชิกปัจจุบันและที่คาดหวังในคำถามที่พบบ่อยของ HackerBoxes อีเมลสนับสนุนที่ไม่ใช่ด้านเทคนิคเกือบทั้งหมดที่เราได้รับนั้นมีคำตอบอยู่แล้ว เราจึงรู้สึกยินดีเป็นอย่างยิ่งที่คุณสละเวลาสักครู่เพื่ออ่านคำถามที่พบบ่อย
ขั้นตอนที่ 2: ไมโครคอนโทรลเลอร์ PIC
ไมโครคอนโทรลเลอร์ตระกูล PIC ผลิตโดย Microchip Technology เดิมชื่อ PIC อ้างถึง Peripheral Interface Controller แต่ภายหลังได้รับการแก้ไขให้เป็น Programmable Intelligent Computer ชิ้นส่วนแรกในตระกูลออกมาในปี 1976 ภายในปี 2013 มีการจัดส่งไมโครคอนโทรลเลอร์ PIC มากกว่า 12 พันล้านตัว อุปกรณ์ PIC ได้รับความนิยมจากทั้งนักพัฒนาอุตสาหกรรมและมือสมัครเล่น เนื่องจากราคาถูก ความพร้อมใช้งานที่กว้างขวาง ฐานผู้ใช้ขนาดใหญ่ คอลเลกชั่นบันทึกย่อของแอปพลิเคชันที่กว้างขวาง ความพร้อมใช้งานของเครื่องมือพัฒนาต้นทุนต่ำหรือฟรี การเขียนโปรแกรมแบบอนุกรม และความสามารถหน่วยความจำแฟลชแบบตั้งโปรแกรมซ้ำได้ (วิกิพีเดีย)
HackerBox 0040 ประกอบด้วยไมโครคอนโทรลเลอร์ PIC สองตัวที่ติดตั้งไว้ชั่วคราวสำหรับการขนส่งในซ็อกเก็ต ZIF (แรงแทรกเป็นศูนย์) ขั้นตอนแรกในการลบ PIC สองตัวออกจากซ็อกเก็ต ZIF กรุณาทำตอนนี้!
ไมโครคอนโทรลเลอร์สองตัวคือ PIC16F628A (แผ่นข้อมูล) ในแพ็คเกจ DIP18 และ PIC12F675 (เอกสารข้อมูล) ในแพ็คเกจ DIP 8
ตัวอย่างที่นี่ใช้ PIC16F628A อย่างไรก็ตาม PIC12F675 ทำงานคล้ายกัน เราขอแนะนำให้คุณลองใช้ในโครงการของคุณเอง ขนาดที่เล็กทำให้เป็นโซลูชันที่มีประสิทธิภาพเมื่อคุณต้องการพิน I/O จำนวนน้อยเท่านั้น
ขั้นตอนที่ 3: การเขียนโปรแกรมไมโครคอนโทรลเลอร์ PIC ด้วย PICkit 3
มีขั้นตอนการกำหนดค่าจำนวนมากที่ต้องแก้ไขเมื่อใช้เครื่องมือ PIC ดังนั้นนี่คือตัวอย่างพื้นฐานที่ค่อนข้างดี:
- ติดตั้งซอฟต์แวร์ MPLAB X IDE จาก Microchip
- เมื่อสิ้นสุดการติดตั้ง คุณจะเห็นลิงก์สำหรับติดตั้ง MPLAB XC8 C Compiler ให้แน่ใจว่าได้เลือกสิ่งนั้น XC8 เป็นคอมไพเลอร์ที่เราจะใช้
- ใส่ชิป PIC16F628A (DIP18) ลงในซ็อกเก็ต ZIF สังเกตตำแหน่งและทิศทางที่ระบุไว้ที่ด้านหลังของ ZIF เป้าหมาย PCB
- ตั้งสวิตช์จัมเปอร์ตามที่ระบุไว้ที่ด้านหลังของ ZIF target PCB (B, 2-3, 2-3)
- เสียบส่วนหัวการเขียนโปรแกรมห้าพินของบอร์ดเป้าหมาย ZIF เข้ากับส่วนหัว PICkit 3
- เชื่อมต่อ PICkit 3 กับคอมพิวเตอร์โดยใช้สาย miniUSB สีแดง
- เรียกใช้ MPLAB X IDE
- เลือกตัวเลือกเมนูเพื่อสร้างโครงการใหม่
- กำหนดค่า: ไมโครชิปฝังโปรเจ็กต์แบบสแตนด์อโลน แล้วกด NEXT
- เลือกอุปกรณ์: PIC16F628A แล้วกด NEXT
- เลือกดีบักเกอร์: ไม่มี; เครื่องมือฮาร์ดแวร์: PICkit 3; คอมไพเลอร์: XC8
- ป้อนชื่อโครงการ: กะพริบ
- คลิกขวาที่ไฟล์ต้นฉบับและภายใต้ new select new main.c
- ตั้งชื่อไฟล์ c เช่น "blink"
- ไปที่ window > tag memory view > config bits
- ตั้งค่าบิต FOSC เป็น INTOSCIO และตั้งค่าอื่นๆ เป็น OFF
- กดปุ่ม "สร้างซอร์สโค้ด"
- วางโค้ดที่สร้างลงในไฟล์ blink.c ด้านบน
- วางสิ่งนี้ลงในไฟล์ c ด้วย: #define _XTAL_FREQ 4000000
- ที่ผ่านมาในบล็อกหลักของรหัส c ด้านล่าง:
โมฆะหลัก(เป็นโมฆะ)
{ ทริสซ่า = 0b00000000; ในขณะที่ (1) { PORTAbits. RA3 = 1; _delay_ms(300); PORTAbits. RA3 = 0; _delay_ms(300); } }
- กดไอคอนค้อนเพื่อคอมไพล์
- ไปที่การผลิต > ตั้งค่าการกำหนดค่าโครงการ > ปรับแต่ง
- เลือก PICkit 3 ในแผงด้านซ้ายของหน้าต่างป๊อปอัป จากนั้นเลือก Power จากช่องดรอปดาวน์ที่ด้านบน
- คลิกกล่อง "เป้าหมายพลังงาน" ตั้งค่าแรงดันเป้าหมายเป็น 4.875V กดปุ่ม Apply
- กลับมาที่หน้าจอหลัก ให้กดที่ไอคอนลูกศรสีเขียว
- คำเตือนเกี่ยวกับแรงดันไฟฟ้าจะปรากฏขึ้น ตีต่อ.
- ในที่สุดคุณควรได้รับ "การเขียนโปรแกรม/ยืนยันเสร็จสิ้น" ในหน้าต่างสถานะ
- หากโปรแกรมเมอร์ไม่ทำงาน ก็สามารถช่วยปิด IDE และเรียกใช้อีกครั้งได้ ควรคงการตั้งค่าที่คุณเลือกทั้งหมดไว้
ขั้นตอนที่ 4: Breadboarding PIC โปรแกรมด้วย Blink.c
เมื่อตั้งโปรแกรม PIC แล้ว (ขั้นตอนก่อนหน้า) ก็สามารถวางลงบนเขียงหั่นขนมแบบไม่มีบัดกรีเพื่อทำการทดสอบได้
เนื่องจากเลือกออสซิลเลเตอร์ภายใน เราจำเป็นต้องต่อสายไฟสามพินเท่านั้น (กำลัง, กราวด์, LED)
สามารถจ่ายไฟให้กับเขียงหั่นขนมโดยใช้โมดูลแหล่งจ่ายไฟ ตัวชี้สำหรับการใช้โมดูลจ่ายไฟ:
- ใส่บัดกรีเพิ่มเติมบนแถบด้านข้างของช่องเสียบ microUSB ก่อนที่มันจะขาด - ไม่ใช่หลังจากนั้น
- ตรวจสอบให้แน่ใจว่า "หมุดสีดำ" เข้าไปในรางพื้น และ "หมุดสีขาว" ลงในรางไฟฟ้า หากกลับด้าน แสดงว่าคุณอยู่ผิดด้านของเขียงหั่นขนม
- พลิกสวิตช์ทั้งสองไปที่ 5V สำหรับชิป PIC ที่รวมอยู่
หลังจากวางตำแหน่งไมโครคอนโทรลเลอร์ PIC แล้ว ให้สังเกตตัวบ่งชี้พิน 1 หมุดมีหมายเลขจากพิน 1 ในรูปแบบทวนเข็มนาฬิกา ต่อสายไฟ 5 (VSS) ถึง GND, พิน 14 (VDD) ถึง 5V และพิน 2 (RA3) ไปที่ LED โปรดสังเกตในรหัสของคุณ I/O pin RA3 ถูกปิดและเปิดเพื่อให้ไฟ LED กะพริบ พินที่ยาวกว่าของ LED ควรเชื่อมต่อกับ PIC ในขณะที่พินที่สั้นกว่าควรเชื่อมต่อกับตัวต้านทาน 1K (สีน้ำตาล สีดำ สีแดง) ปลายด้านตรงข้ามของตัวต้านทานควรเชื่อมต่อกับราง GND ตัวต้านทานทำหน้าที่เป็นขีด จำกัด กระแสเพื่อให้ LED ไม่ได้ดูเหมือนสั้นระหว่าง 5V และ GND และดึงกระแสมากเกินไป
ขั้นตอนที่ 5: การเขียนโปรแกรมในวงจร
สามารถใช้ดองเกิล PICkit 3 เพื่อตั้งโปรแกรมชิป PIC ในวงจรได้ ดองเกิลยังสามารถจ่ายพลังงานให้กับวงจร (เป้าหมายเขียงหั่นขนม) เช่นเดียวกับที่เราทำกับเป้าหมาย ZIF
- ถอดแหล่งจ่ายไฟออกจากเขียงหั่นขนม
- เชื่อมต่อ PICkit 3 กับเขียงหั่นขนมที่ 5V, GND, MCLR, PGC และ PGD
- เปลี่ยนหมายเลขหน่วงเวลาในรหัส C
- คอมไพล์ใหม่ (ไอคอนค้อน) จากนั้นตั้งโปรแกรม PIC
เนื่องจากหมายเลขการหน่วงเวลาเปลี่ยนไป ไฟ LED ควรกะพริบแตกต่างไปจากนี้
ขั้นตอนที่ 6: การใช้ Crystal Oscillator ภายนอก
สำหรับการทดลอง PIC นี้ ให้เปลี่ยนจากออสซิลเลเตอร์ภายในเป็นคริสตัลออสซิลเลเตอร์ภายนอกความเร็วสูง ไม่เพียงแต่ Crystal oscillator ภายนอกจะเร็วขึ้น 16MHz แทนที่จะเป็น 4MHz) แต่ยังแม่นยำกว่ามาก
- เปลี่ยนบิตการกำหนดค่า FOSC จาก INTOSCIO เป็น HS
- เปลี่ยนทั้งการตั้งค่า FOSC IDE และ #define ในโค้ด
- เปลี่ยน #define _XTAL_FREQ 4000000 จาก 4000000 เป็น 16000000
- ตั้งโปรแกรม PIC ใหม่ (อาจเปลี่ยนหมายเลขการหน่วงเวลาอีกครั้ง)
- ตรวจสอบการทำงานด้วยคริสตัลภายนอก
- จะเกิดอะไรขึ้นเมื่อคุณดึงคริสตัลออกจากเขียงหั่นขนม?
ขั้นตอนที่ 7: ขับโมดูลเอาต์พุต LCD
PIC16F628A สามารถใช้เพื่อขับเอาต์พุตไปยังโมดูล LCD ตัวอักษรและตัวเลขขนาด 16x2 (ข้อมูล) เมื่อต่อสายดังที่แสดงไว้ที่นี่ ไฟล์แนบ picLCD.c ให้ตัวอย่างโปรแกรมง่ายๆ สำหรับเขียนข้อความออกไปยังโมดูล LCD
ขั้นตอนที่ 8: ตัวรับเวลาและตำแหน่ง GPS
โมดูล GPS นี้สามารถกำหนดเวลาและตำแหน่งได้อย่างแม่นยำจากสัญญาณที่ได้รับจากอวกาศไปยังเสาอากาศในตัวขนาดเล็ก ต้องใช้เพียงสามพินสำหรับการทำงานพื้นฐาน
ไฟ LED "Power" สีแดงจะสว่างขึ้นเมื่อเชื่อมต่อกำลังไฟที่เหมาะสม เมื่อได้รับสัญญาณดาวเทียมแล้ว ไฟ LED สีเขียว "PPS" พร้อมเริ่มชีพจร
จ่ายไฟให้กับพิน GND และ VCC VCC สามารถทำงานได้ที่ 3.3V หรือ 5V
พินที่สามที่จำเป็นคือพิน TX พิน TX ส่งออกกระแสข้อมูลอนุกรมที่สามารถบันทึกลงในคอมพิวเตอร์ (ผ่านอะแดปเตอร์ TTL-USB) หรือในไมโครคอนโทรลเลอร์ มีโครงการตัวอย่างมากมายสำหรับรับข้อมูล GPS ลงใน Arduino
git repo นี้มีเอกสาร pdf สำหรับโมดูล GPS ประเภทนี้ ตรวจสอบ u-center ด้วยนะครับ
โปรเจ็กต์และวิดีโอนี้สาธิตตัวอย่างการบันทึกวันที่และเวลาที่มีความแม่นยำสูงจากโมดูล GPS ลงในไมโครคอนโทรลเลอร์ PIC16F628A
ขั้นตอนที่ 9: ใช้ชีวิต HackLife
เราหวังว่าคุณจะสนุกกับการเดินทางในเดือนนี้ไปกับอุปกรณ์อิเล็กทรอนิกส์ DIY ติดต่อและแบ่งปันความสำเร็จของคุณในความคิดเห็นด้านล่างหรือบน HackerBoxes Facebook Group โปรดแจ้งให้เราทราบหากคุณมีคำถามหรือต้องการความช่วยเหลือ
เข้าร่วมการปฏิวัติ ใช้ชีวิต HackLife คุณจะได้รับกล่องอิเล็กทรอนิกส์สุดเจ๋งและโปรเจ็กต์เทคโนโลยีคอมพิวเตอร์ที่ส่งตรงถึงกล่องจดหมายของคุณทุกเดือน เพียงท่องไปที่ HackerBoxes.com และสมัครใช้บริการ HackerBox รายเดือน
แนะนำ:
สร้าง PWM Wave ด้วยไมโครคอนโทรลเลอร์ PIC: 6 ขั้นตอน
สร้าง PWM Wave ด้วยไมโครคอนโทรลเลอร์ PIC: PWM คืออะไร? PWM STANDS FOR PULSE WIDTH MODULATION เป็นเทคนิคที่ความกว้างของพัลส์จะแตกต่างกัน เพื่อให้เข้าใจแนวคิดนี้อย่างชัดเจน ให้พิจารณาพัลส์นาฬิกาหรือสัญญาณคลื่นสี่เหลี่ยมใดๆ โดยมีรอบการทำงาน 50% ซึ่งหมายความว่าช่วงเวลา Ton และ Toff เท่ากัน
Encender O Apagar Un Led Con Un Celular Motorola C261 Y El Pic 16f84a Mediantes Comandos AT: 3 ขั้นตอน
Encender O Apagar Un Led Con Un Celular Motorola C261 Y El Pic 16f84a Mediantes Comandos AT: En este proyecto vamos a encender y apagar un led a travé's de comandos at con el Motorola C261 และ el famoso microcontrolador 16F84A
Nextion ดิสเพลย์ - อธิบายอินเทอร์เฟซและโปรโตคอลด้วย PIC และ Arduino: 10 ขั้นตอน
Nextion ดิสเพลย์ | อธิบายอินเทอร์เฟซและโปรโตคอลด้วย PIC และ Arduino: Nextion Display ใช้งานง่ายมากและมีส่วนต่อประสานกับไมโครคอนโทรลเลอร์ด้วยความช่วยเหลือของตัวแก้ไข Nextion เราสามารถกำหนดค่าการแสดงผลและเราสามารถออกแบบ UI บนจอแสดงผลได้ ดังนั้นตามเหตุการณ์หรือคำสั่ง Nextion display จะทำหน้าที่แสดง
วิธีตั้งโปรแกรม PIC MCU ด้วยโปรแกรมเมอร์ PICkit โดยใช้เขียงหั่นขนม: 3 ขั้นตอน
วิธีการตั้งโปรแกรม PIC MCU ด้วย PICkit โปรแกรมเมอร์โดยใช้เขียงหั่นขนม: คุณไม่จำเป็นต้องใช้เครื่องมือที่มีราคาแพงและซับซ้อนในการเล่นกับไมโครคอนโทรลเลอร์ PIC (หรืออื่น ๆ ) สิ่งที่คุณต้องมีคือเขียงหั่นขนมที่คุณทดสอบวงจรและการเขียนโปรแกรมของคุณ แน่นอนว่าจำเป็นต้องมีโปรแกรมเมอร์และ IDE ในคำสั่งสอนนี้
PIC MCU และการสื่อสารแบบอนุกรม Python: 5 ขั้นตอน
PIC MCU และ Python Serial Communication: สวัสดีพวก! ในโครงการนี้ ฉันจะพยายามอธิบายการทดลองของฉันเกี่ยวกับ PIC MCU และการสื่อสารแบบอนุกรม Python ทางอินเทอร์เน็ตมีบทช่วยสอนและวิดีโอมากมายเกี่ยวกับวิธีการสื่อสารกับ PIC MCU ผ่านเทอร์มินัลเสมือนซึ่งมีประโยชน์มาก ฮาว