Агуулгын хүснэгт:

RaspberryPi: LED -ийг оруулдаг ба унтраана: 4 алхам (зурагтай)
RaspberryPi: LED -ийг оруулдаг ба унтраана: 4 алхам (зурагтай)

Видео: RaspberryPi: LED -ийг оруулдаг ба унтраана: 4 алхам (зурагтай)

Видео: RaspberryPi: LED -ийг оруулдаг ба унтраана: 4 алхам (зурагтай)
Видео: Как избавиться от болей в пояснице и ногах ✔️ Упражнения чтобы снять боль в ногах и пояснице ✔️ 2024, Арваннэгдүгээр
Anonim
RaspberryPi: LED -ийг оруулдаг ба унтраана
RaspberryPi: LED -ийг оруулдаг ба унтраана

Дараахь алхамууд нь LED хэрхэн ажилладагийг харуулах туршилтууд юм. Тэд LED -ийг хэрхэн жигд хурдаар бүдгэрүүлж, хэрхэн яаж унтрааж, унтрааж болохыг харуулдаг.

Танд хэрэгтэй болно:

  • RaspberryPi (би хуучин Pi ашигласан, миний Pi-3 ашиглагддаг, гэхдээ ямар ч Pi ажиллах болно.)
  • Талхны самбар
  • 5 мм улаан LED
  • 330 Ω эсэргүүцэл (чухал биш 220-560 work ажиллах болно.)
  • Холболтын утас

Миний Adafruit-ээс ашиглаж байсан гуталчин шаардлагагүй боловч талхны тавцанг хялбар болгодог.

WiringPi бол RaspberryPi програмыг C. дээр татаж авах, суулгах, ашиглах зааврыг https://www.wiringpi.com/ хаягаар байрлуулах номын сангийн багц юм.

WiringPi суулгахын тулд энэ хуудсан дээрх зааврыг дагана уу:

Утасны жагсаалтыг авахын тулдPi зүү дугаарыг командын мөрөнд gpio унших командыг оруулна уу.

Raspian wiringPi -ийн шинэ хувилбаруудад анхдагчаар суулгагдсан байдаг.

Алхам 1: Импульсийн өргөний модуляци

Импульсийн өргөний модуляци
Импульсийн өргөний модуляци
Импульсийн өргөний модуляци
Импульсийн өргөний модуляци
Импульсийн өргөний модуляци
Импульсийн өргөний модуляци

LED нь тод байдлаас үл хамааран үргэлж ижил хүчдэлд ажилладаг. Гэрэл нь квадрат долгионы осциллятороор тодорхойлогддог бөгөөд хүчдэл өндөр байх хугацааг тод байдлыг тодорхойлдог. Үүнийг Pulse Width Modulation (PWM) гэж нэрлэдэг. Үүнийг wiringPi pwmWrite (pin, n) функцээр хянадаг бөгөөд n нь 0 -ээс 255 хүртэлх утгатай байдаг. Хэрэв n = 2 бол LED нь n = 1 -ээс 2 дахин их гэрэлтэх болно. N нь хоёр дахин нэмэгдэхэд гэрэл үргэлж хоёр дахин нэмэгддэг. Тиймээс n = 255 нь n = 128 -аас хоёр дахин илүү гэрэл гэгээтэй байх болно.

N -ийн утгыг ихэвчлэн үүргийн мөчлөг гэж нэрлэдэг хувиар илэрхийлдэг. Зураг дээр 25, 50, 75% -ийн ажлын мөчлөгийн осциллографын ул мөрийг харуулав.

Алхам 2: LED ба резистор

LED ба резистор
LED ба резистор

Энэ нь шаардлагагүй, гэхдээ эдгээр цөөн хэдэн зүйлийг ашиглах нь талхны хавтанг хөнгөвчлөх болно.

LED -ийн богино залгуурт резистор гагнах. 220-560 Ом эсэргүүцэл ашиглана уу.

Алхам 3: Бүр тэгш бус болгох

Бүр жигд бус болгох
Бүр жигд бус болгох

Диаграм дээрх шиг схемийг бүтээ. Энэ нь яг л LED анивчих хэлхээтэй адил юм. Энэ нь wiringPi pin 1 -ийг ашигладаг, учир нь та PWM идэвхжүүлсэн зүү ашиглах хэрэгтэй. Хөтөлбөрийг эмхэтгээд ажиллуулна уу. LED нь илүү гэрэл гэгээтэй байх тусам аажмаар багасч байгааг та анзаарах болно. Хамгийн бүдэгрэх дөхөх тусам маш хурдан бүдэгрэх болно.

/******************************************************************

* Эмхэтгэх: gcc -o fade1 -Wall -I/usr/local/include -L/usr/local/lib * fade1.c -lwiringPi * * Гүйцэтгэх: sudo./fade1 * * Хэрэв өөрөөр заагаагүй бол бүх зүү дугаарыг wiringPi дугаар болгоно.. ************************************************ ****************/ #include int main () {wiringPiSetup (); // wiringPi pinMode (1, PWM_OUTPUT) шаардлагатай тохиргоо; // pwmSetMode (PWM_MODE_MS); // Mark/Space mode int i; while (1) {for (i = 255; i> -1; i--) {pwmWrite (1, i); саатал (10); } (i = 0; i <256; i ++) {pwmWrite (1, i); саатал (10); }}}

Дараагийн алхам нь LED -ийг тогтмол хурдаар хэрхэн яаж бүдгэрүүлэхийг харуулах болно.

Алхам 4: Алхам 4: Дээш ба доош нэгээр (), жигд ханшаар

LED нь тогтмол хурдаар бүдэгрэхийн тулд ажлын мөчлөгийн тэн хагас нь үргэлж гэрэл гэгээтэй байх тул хоцролт () нь экспоненциал хурдаар нэмэгдэх ёстой.

Шугам:

int d = (16-i/16)^2;

саатлын уртыг тодорхойлохын тулд гэрэлтүүлгийн урвуу квадратыг тооцоолно. Энэхүү програмыг эмхэтгэн ажиллуулснаар LED нь тогтмол хэмжээгээр унтарч, унтарч байгааг харах болно.

/******************************************************************

* Эмхэтгэх: gcc -o fade1 -Wall -I/usr/local/include -L/usr/local/lib * fade2.c -lwiringPi * * Гүйцэтгэх: sudo./fade2 * * Хэрэв өөрөөр заагаагүй бол бүх зүү дугаарыг wiringPi дугаар болгоно.. ************************************************ ****************/ #include int main () {wiringPiSetup (); // wiringPi pinMode (1, PWM_OUTPUT) шаардлагатай тохиргоо; // pwmSetMode (PWM_MODE_MS); // Mark/Space mode while (1) {int i; int x = 1; for (i = 0; i> -1; i = i + x) {int d = (16 -i/16)^2; // pwmWrite индексийн урвуу квадратыг тооцоолох (1, i); саатал (d); хэрэв (i == 255) x = -1; // чиглэлээ дээд цэгтээ шилжүүлэх}}}

Зөвлөмж болгож буй: