สารบัญ:
- ขั้นตอนที่ 1: สิ่งแรกก่อน
- ขั้นตอนที่ 2: Hardwares ที่จำเป็น
- ขั้นตอนที่ 3: Arduino IDE Libraries สำหรับการคอมไพล์
- ขั้นตอนที่ 4: การเชื่อมต่อ
- ขั้นตอนที่ 5: การอัปโหลดร่าง
วีดีโอ: เครื่องวัดระยะสูง Arduino โดยใช้ BMP และ SPI หรือ I2C OLED: 5 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:07
เป็นเวลานานที่ฉันค้นหาเครื่องวัดระยะสูงและอุณหภูมิโดยใช้เซ็นเซอร์ตัวเดียวและแสดงไปยัง OLED ที่ใช้ SPI เนื่องจากฉันไม่พบสิ่งใดที่แม่นยำ เลยคิดว่าฉันจะสร้างของตัวเองโดยใช้ไลบรารี U8glib มีบทช่วยสอนหนึ่งรายการใน youtube แต่ฉันเกลียดวิดีโอสอนจริงๆ ฉันชอบข้อความที่มีคำแนะนำตรงไปตรงมาและไม่มีลิงก์เชิงพาณิชย์
ขั้นตอนที่ 1: สิ่งแรกก่อน
ก่อนที่จะทำโปรเจ็กต์นี้ เราขอแนะนำให้คุณทำแบบฝึกหัด SSD1306/OLED สำหรับ I2C หรือ SPI ให้เสร็จ (แล้วแต่ว่าคุณต้องการใช้อะไร) เพื่อให้แน่ใจว่าคุณรู้วิธีเชื่อมต่อ/ต่อสายจอแสดงผล และจอแสดงผลของคุณทำงาน ทำแบบฝึกหัด adafruit และ / หรือตัวอย่าง u8glib เราจะใช้ u8glib ที่นี่ดังนั้นแนะนำสำหรับผู้ใช้ขั้นสูง
ขั้นตอนที่ 2: Hardwares ที่จำเป็น
1. Arduino UNO หรือ Nano หรือเทียบเท่า
2. BMP085 หรือ BMP180 เซ็นเซอร์ความดันบรรยากาศ
3. SSD1306 I2C หรือ SPI Bus (กำหนดค่าได้ในแบบร่าง)
4. สายจัมเปอร์และเขียงหั่นขนมหรือบอร์ด vero สำหรับการเชื่อมต่อ
ขั้นตอนที่ 3: Arduino IDE Libraries สำหรับการคอมไพล์
1. Wire.h
2. Adafruit_BMP085.h (ใช้ได้กับ BMP180 ด้วย)
3. U8glib.h
ขั้นตอนที่ 4: การเชื่อมต่อ
การเชื่อมต่อทั้งหมดเหมือนกันสำหรับทั้งจอแสดงผล I2C และ SPI OLED เฉพาะการเชื่อมต่อกับจอแสดงผลเท่านั้นที่จะแตกต่างกัน
1. BMP ถึง Arduino:
VCC > 3.3V
GND > กราวด์
SCL > A5/SCL
SDA > A4/SDA
SCK = 12, MOSI = 11, CS = 10, A0 = 9, รีเซ็ต = 13
2. SPI OLED ถึง Arduino
VDD > 5V
GND > กราวด์
SCK/D0 > D12 (ดิจิตอล 12)
SDA/D1/Mosi > D11
CS/ชิปเลือก > D10
A0/DC > D9
RES/รีเซ็ต > D13
(หาก SPI OLED ของคุณไม่มีพินรีเซ็ต ให้ลบรีเซ็ตและรีเซ็ตพินออกจากพารามิเตอร์ของจอแสดงผลสเก็ตช์)
3. I2C OLED
เช่นเดียวกับการเดินสาย BMP พวกเขาใช้พอร์ตและประเภทบัสเดียวกัน
ขั้นตอนที่ 5: การอัปโหลดร่าง
ค่อนข้างตรงไปตรงมา เพียงดาวน์โหลดไฟล์ zip และเปิดใน Arduino IDE ทุกอย่างได้รับการกำหนดค่าในแบบร่าง ผู้ใช้ SPI OLED สามารถอัปโหลดภาพร่างโดยไม่ต้องแก้ไขใดๆ และใช้งานได้ สำหรับผู้ใช้ I2C OLED เพียงยกเลิกการใส่เครื่องหมายชื่อ/ตัวเลือกที่แสดงของคุณจากตัวเลือก Display Select ของภาพร่าง และแสดงความคิดเห็นและปิดรูปแบบ/พารามิเตอร์ของ SPI Display เพื่อปิดใช้งาน SPI OLED
พารามิเตอร์การแสดงผล SPI:
//U8GLIB_SSD1306_128X64 u8g(12, 11, 10, 9, 13); // SW SPI Com: SCK = 12, MOSI = 11, CS = 10, A0 = 9, รีเซ็ต = 13
พารามิเตอร์การแสดงผล I2C:
//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NO_ACK); // แสดงที่ไม่ส่ง AC
หากต้องการเปิดใช้งานพารามิเตอร์ เพียงลบเครื่องหมาย // ที่จุดเริ่มต้นเพื่อยกเลิกการแสดงความคิดเห็น ตรวจสอบให้แน่ใจว่าได้เลือก/ยกเลิกการแสดงความเห็นเพียงจอเดียว
คำแนะนำ:
1. เซ็นเซอร์ BMP มีความไวต่อลม ความร้อน และแสง ตรวจสอบให้แน่ใจว่าครอบคลุมแล้ว ผลลัพธ์ที่ดีที่สุดคือการติดโฟมที่มีการระบายอากาศที่เหมาะสม สิ่งต่างๆ เช่น เทปเป็ดก็ใช้ได้เช่นกันแต่จะไม่แม่นยำ
2. BMP มักใช้ 3.3V เว้นแต่ผู้ผลิตของคุณจะแจ้งเป็นอย่างอื่น OLED อาจทำงานได้ตั้งแต่ 3.3v-5.5V (แนะนำ 4-5V)
3. ขอแนะนำให้ตั้งค่าทุกอย่างบนเขียงหั่นขนมก่อน
4. หากคุณยังใหม่กับ OLED โปรดลองใช้สิ่งง่ายๆ ก่อน เช่น ข้อความและบัฟเฟอร์จำลอง เพื่อให้แน่ใจว่าจอแสดงผลของคุณทำงานและการเชื่อมต่อของคุณถูกต้อง
แนะนำ:
วิธีใช้ Neopixel Ws2812 LED หรือ LED STRIP หรือ Led Ring กับ Arduino: 4 ขั้นตอน
วิธีใช้ Neopixel Ws2812 LED หรือ LED STRIP หรือ Led Ring กับ Arduino: สวัสดีทุกคนเนื่องจาก Neopixel led Strip เป็นที่นิยมอย่างมากและเรียกอีกอย่างว่า ws2812 led strip เช่นกัน พวกเขาเป็นที่นิยมอย่างมากเพราะในแถบนำเหล่านี้เราสามารถระบุแต่ละ LED แยกจากกัน ซึ่งหมายความว่าหากคุณต้องการให้ไฟ LED สองสามดวงเรืองแสงเป็นสีเดียว
การตรวจจับวัตถุด้วย Dragonboard 410c หรือ 820c โดยใช้ OpenCV และ Tensorflow.: 4 ขั้นตอน
การตรวจจับวัตถุด้วย Dragonboard 410c หรือ 820c โดยใช้ OpenCV และ Tensorflow: คำแนะนำนี้จะอธิบายวิธีติดตั้ง OpenCV, Tensorflow และเฟรมเวิร์กการเรียนรู้ของเครื่องสำหรับ Python 3.5 เพื่อเรียกใช้แอปพลิเคชัน Object Detection
Arduino Ws2812 LED หรือ Neopixel Led Strip หรือ Ring Tutorial: 4 ขั้นตอน
Arduino Ws2812 LED หรือ Neopixel Led Strip หรือ Ring Tutorial: ในคำแนะนำนี้เราจะเรียนรู้วิธีใช้ neopixel หรือ ws 2812 หรือนำอย่างรวดเร็วด้วย Arduino LED หรือแถบหรือวงแหวนประเภทนี้ถูกควบคุมโดยพิน Vin เพียงอันเดียวและทั้งหมด LED สามารถระบุแอดเดรสแยกกันได้ ดังนั้นจึงเรียกอีกอย่างว่า indi
Augmented Reality (AR) สำหรับ Dragonboard410c หรือ Dragonboard820c โดยใช้ OpenCV และ Python 3.5: 4 ขั้นตอน
Augmented Reality (AR) สำหรับ Dragonboard410c หรือ Dragonboard820c โดยใช้ OpenCV และ Python 3.5: คำแนะนำนี้จะอธิบายวิธีการติดตั้ง OpenCV, Python 3.5 และการพึ่งพาสำหรับ Python 3.5 เพื่อเรียกใช้แอปพลิเคชัน Augmented Reality
วิธีทำลายการเชื่อมต่ออินเทอร์เน็ต Xbox 360, Wii และ PS3 โดยใช้ Nintendo Ds หรือ Ds Lite: 4 ขั้นตอน
วิธีทำลายการเชื่อมต่ออินเทอร์เน็ต Xbox 360, Wii และ PS3 โดยใช้ Nintendo Ds หรือ Ds Lite: ในคำแนะนำนี้ฉันจะสอนวิธีง่าย ๆ ในการสูญเสียการเชื่อมต่ออินเทอร์เน็ตไปยัง xbox 360 โดยใช้การเชื่อมต่อ wi-fi บน Ds มีคนยืนยันว่าใช้งานได้กับ ps3 แต่ฉันไม่มี ps3 ดังนั้นฉันจึงใช้คำพูดของเขา ลองใช้ขั้นตอนเดียวกันกับ