Агуулгын хүснэгт:
- Алхам 1: Эхлээд бүх зүйл
- Алхам 2: Шаардлагатай тоног төхөөрөмж
- Алхам 3: Эмхэтгэхэд зориулагдсан Arduino IDE номын сангууд
- Алхам 4: Холболтууд
- Алхам 5: Ноорог байршуулах
Видео: BMP ба SPI эсвэл I2C OLED ашиглан Arduino Altimeter: 5 алхам
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:05
Удаан хугацааны турш би нэг мэдрэгч ашиглан өндөр хэмжигч ба температурыг хайж, SPI дээр суурилсан OLED дээр харуулсаар ирсэн. Яг нарийн зүйл олж чадаагүй тул U8glib номын санг ашиглан өөрийн гараар бүтээх болно гэж бодлоо. YouTube дээр нэг хичээл байдаг, гэхдээ би видео хичээлийг үнэхээр үзэн яддаг, би шууд зааварчилгаа, арилжааны линкгүй текстийг илүүд үздэг.
Алхам 1: Эхлээд бүх зүйл
Энэ төслийг хийхээс өмнө I2C эсвэл SPI -д зориулсан SSD1306/OLED зааварчилгааг бөглөхийг танд зөвлөж байна. Энэ нь таны дэлгэцийг хэрхэн холбох, утсыг холбох, мөн дэлгэц ажиллаж байгаа эсэхийг мэдэх болно. Adafruit зааварчилгаа ба/эсвэл u8glib жишээний хичээлийг хий. Бид u8glib -ийг энд ашиглах болно, ингэснээр дэвшилтэт хэрэглэгчдэд зөвлөж байна.
Алхам 2: Шаардлагатай тоног төхөөрөмж
1. Arduino UNO эсвэл Nano эсвэл үүнтэй төстэй.
2. BMP085 эсвэл BMP180 барометрийн даралт мэдрэгч.
3. SSD1306 I2C эсвэл SPI Bus (Ноорогоор тохируулах боломжтой).
4. Холбогчдод зориулсан холбогч утас ба талхны хавтан эсвэл vero хавтан.
Алхам 3: Эмхэтгэхэд зориулагдсан Arduino IDE номын сангууд
1. Утас.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, Reset = 13
2. SPU OLED Arduino руу
VDD> 5V
GND> Газар
SCK/D0> D12 (Дижитал 12)
SDA/D1/Mosi> D11
CS/Chip сонгох> D10
A0/DC> D9
RES/Reset> D13
(Хэрэв таны SPI OLED дээр Дахин тохируулах зүү байхгүй бол ноорог дэлгэцийн тохиргоог дахин тохируулж, дахин тохируулаарай.
3. I2C OLED
BMP утастай адил тэд ижил порт, автобусны төрлийг ашигладаг.
Алхам 5: Ноорог байршуулах
Нэлээд шулуухан. Зип файлыг татаж аваад 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, Reset = 13
I2C дэлгэцийн параметр:
// U8GLIB_SSD1306_128X64 u8g (U8G_I2C_OPT_NO_ACK); // АС илгээдэггүй дэлгэц
Параметрийг идэвхжүүлэхийн тулд тайлбар өгөхгүй байхын тулд эхнээс нь // тэмдгийг арилгана уу. Зөвхөн нэг дэлгэцийг сонгосон/тайлбарлаагүй байгаа эсэхийг шалгаарай.
Зөвлөмж:
1. BMP мэдрэгч нь салхи, дулаан, гэрэлд мэдрэмтгий байдаг. Үүнийг сайтар таглаж, агааржуулалт сайтай хөөс бэхлэх замаар хамгийн сайн үр дүнд хүрнэ. Нугас соронзон хальс гэх мэт зүйлүүд бас ажиллах болно, гэхдээ яг нарийн байдаггүй.
2. Таны үйлдвэрлэгч өөрөөр заагаагүй бол BMP нь ихэвчлэн 3.3V ашигладаг. OLED нь 3.3v-5.5V хүртэл ажиллах боломжтой (4-5V зөвлөж байна)
3. Эхлээд талхны тавцан дээр бүх зүйлийг тохируулахыг зөвлөж байна.
4. Хэрэв та OLED -д шинээр нэвтэрсэн бол дэлгэц болон дэлгэцийн холболт зөв ажиллаж байгаа эсэхийг шалгахын тулд эхлээд текст болон дамми буфер гэх мэт энгийн зүйлсийг туршиж үзээрэй.
Зөвлөмж болгож буй:
Neopixel Ws2812 LED эсвэл LED зурвас эсвэл Led бөгжийг Arduino ашиглан хэрхэн ашиглах вэ: 4 алхам
Neopixel Ws2812 LED эсвэл LED STRIP эсвэл Led Ring -ийг Arduino ашиглан хэрхэн ашиглах вэ: Сайн уу залуусаа Neopixel led Strip нь маш алдартай бөгөөд үүнийг ws2812 LED зурвас гэж нэрлэдэг. Эдгээр нь маш их алдартай, учир нь эдгээр LED зурвас дээр бид тус бүрийг тус тусад нь авч үзэх боломжтой бөгөөд хэрэв та цөөн хэдэн гэрлийг нэг өнгөөр гэрэлтүүлэхийг хүсч байвал
I2C / IIC LCD дэлгэц - Arduino ашиглан SPI -IIC модулийг ашиглан I2C LCD дэлгэц рүү SPI LCD ашиглах: 5 алхам
I2C / IIC LCD дэлгэц | IUC LCD дэлгэц дээр SPI LCD дэлгэцийг SPI -ийг IIC модулийг ашиглан Arduino ашиглан ашиглаарай: Сайн байна уу залуусаа, ердийн SPI LCD 1602 -ийг холбоход хэт олон утас байдаг тул үүнийг arduino -той холбоход маш хэцүү боловч зах зээл дээр боломжтой нэг модуль байдаг. SPI дэлгэцийг IIC дэлгэц болгон хөрвүүлэх тул та зөвхөн 4 утас холбох хэрэгтэй
Arduino Ws2812 LED эсвэл Neopixel Led Strip эсвэл Ring хичээл: 4 алхам
Arduino Ws2812 LED эсвэл Neopixel Led Strip эсвэл Ring заавар: Энэхүү зааварчилгаанд бид неопиксел эсвэл ws 2812 эсвэл Arduino -ийн тусламжтайгаар хурдан удирдаж сурах болно. Эдгээр төрлийн LED эсвэл тууз эсвэл цагиргийг зөвхөн нэг Vin зүүгээр удирддаг. LED нь тус тусдаа хаяглагддаг тул тэдгээрийг инди гэж нэрлэдэг
Flyback трансформатор эсвэл чанга яригч дээр ХОУХШ -ийг ашиглан ADC ашиглан Arduino -той дуу тоглуулах: 4 алхам
Flyback трансформатор эсвэл чанга яригч дээр PWM хийх ADC ашиглан Arduino -той хамт дуу тоглоорой: Сайн байна уу залуусаа, энэ бол миний зааж өгсөн хоёр дахь хэсэг юм (энэ нь маш хэцүү байсан), үндсэндээ энэ төсөлд би Arduino дээрх ADC болон TIMERS -ийг ашигласан. Аудио дохиог PWM дохио болгон хөрвүүлэх нь миний өмнөх зааварчилгаанаас хамаагүй хялбар юм
Pi дээр урьдчилсан* SPI: Raspberry Pi ашиглан SPI 3 тэнхлэгт акселерометртэй холбоо тогтоох: 10 алхам
Pi дээр урьдчилсан* SPI: Бөөрөлзгөнө Pi ашиглан SPI 3 тэнхлэгт акселерометртэй харилцах: Raspbian-ийг хэрхэн тохируулах, bcm2835 SPI номын санг ашиглан SPI төхөөрөмжтэй харилцах талаар алхам алхмаар зааварчилгаа (бит цохиулаагүй!) Энэ хэвээр байна. маш урьдчилсан … Би физик холболтын илүү сайн зургуудыг нэмж, зарим эвгүй кодоор ажиллах хэрэгтэй байна