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

Дугуйтай сэрүүлэгтэй ухаалаг гэрэл: 8 алхам (зурагтай)
Дугуйтай сэрүүлэгтэй ухаалаг гэрэл: 8 алхам (зурагтай)

Видео: Дугуйтай сэрүүлэгтэй ухаалаг гэрэл: 8 алхам (зурагтай)

Видео: Дугуйтай сэрүүлэгтэй ухаалаг гэрэл: 8 алхам (зурагтай)
Видео: Камера ANBIUX ДВУГЛАЗКА УДИВИЛА после ОБНОВЛЕНИЯ!!! 2024, Арваннэгдүгээр
Anonim
Дугуйтай сэрүүлэгтэй ухаалаг гэрэл
Дугуйтай сэрүүлэгтэй ухаалаг гэрэл
Дугуйтай сэрүүлэгтэй ухаалаг гэрэл
Дугуйтай сэрүүлэгтэй ухаалаг гэрэл
Дугуйтай сэрүүлэгтэй ухаалаг гэрэл
Дугуйтай сэрүүлэгтэй ухаалаг гэрэл

Энэ төсөлд би бүрэн эвдэрсэн сэрүүлэгтэй сэрүүлгийн цагийг эргүүлж байна. Цагны нүүрийг 12 LED -ээр сольж, цагны ирмэгийг LED зурвасаар гэрэлтүүлдэг. 12 LED нь цагийг зааж өгдөг бөгөөд LED зурвас нь дохиоллын үүрэг гүйцэтгэдэг бөгөөд тогтоосон цагт бүрэн гэрэлтдэг. Бүх зүйлийг Raspberry Pi Zero удирддаг бөгөөд и -мэйл хүлээн авахдаа гэрлийн дохиоллыг утасныхаа дохиололоор автоматаар синхрончлох эсвэл LED -ийг асаах гэх мэт олон тооны интеграци, өргөжүүлэх боломжийг олгодог.

Төсөл нь харьцангуй хямд эсвэл дахин ашиглагддаг бүрэлдэхүүн хэсгүүдийг ашигладаг - миний худалдаж авсан цорын ганц зүйл бол хүчдэлийн зохицуулагч юм. Надад тохиолдсон бусад бүх зүйл, тухайлбал LED зурвас таслах гэх мэт. Энэхүү зааварчилгаа нь миний эвдэрсэн цаганд хэрхэн шинэ амьдрал бэлэглэх талаар танд заавар өгөх бөгөөд танд өөрийн гэсэн зүйлийг бий болгоход урам зориг өгөх байх гэж найдаж байна.

Алхам 1: эд анги

Эд анги
Эд анги
Эд анги
Эд анги
Эд анги
Эд анги

Raspberry Pi Zero -ийг ашиглах гэж байгаа бүх зүйлийг хянахын тулд маш бага зардал шаардагддаг бөгөөд WiFi -тэй холбогдож болох бөгөөд энэ нь бидэнд бодит цагийн цаг хэрэггүй тул кодоо зөөврийн компьютерээс алсаас хялбархан шинэчлэх боломжтой гэсэн үг юм. Хэрэв танд Pi Zero W байхгүй бол бид USB WiFi гогцоо ашиглан WiFi сүлжээнд холбогдох болно.

Миний ашигласан хэсгүүдийн жагсаалт энд байна, гэхдээ ихэнх зүйлийг тохиромжтой хувилбараар сольж болно. Жишээлбэл, Raspberry Pi -ийн оронд та төслийг хянахын тулд Arduino -ийг бодит цагийн цаг ашиглан ашиглаж болно.

Ашигласан хэсгүүд

  • Хуучин сэрүүлэгтэй цаг
  • 30 см дулаан цагаан LED тууз
  • 1х Raspberry Pi Zero + micro SD карт
  • 1х USB WiFi гогцоо + микро USB -ээс USB хөрвүүлэгч
  • 12x LED
  • 12x 330ohm резистор
  • 1x TIP31a (эсвэл бусад npn цахилгаан транзистор эсвэл MOSFET)
  • 1x 1k эсэргүүцэл
  • 1х LM2596 DC-DC тохируулгатай бак хөрвүүлэгч
  • 1х 12в цахилгаан хангамж (+ төсөлдөө орох арга зам)
  • Цагны нүүрний хувьд 10см х 10см хэмжээтэй мод (таны LED -ийг суулгахад тохирсон нимгэн байх ёстой)
  • Янз бүрийн өнгийн утаснуудын янз бүрийн хэсгүүд

Байгаа хэрэгтэй зүйлүүд

  • Гагнуурын төмөр + гагнуур
  • Халуун цавуу
  • Мультиметр
  • Талхны самбар
  • Эмэгтэй толгойн зүү
  • Micro SD карт уншигч эсвэл хөрвүүлэгч
  • Компьютер
  • Хэрэв та Pi -ийн ширээний орчныг ашиглахыг хүсвэл Mini HDMI адаптер + HDMI дэлгэц

Алхам 2: Raspberry Pi -ийг тохируулах

Raspberry Pi -ийг тохируулах
Raspberry Pi -ийг тохируулах
Raspberry Pi -ийг тохируулах
Raspberry Pi -ийг тохируулах

Үйлдлийн систем

Raspberry Pi нь дэлгэцтэй холбогдоогүй тул ширээний орчингүй Raspbian Buster Lite програмыг ашиглахаар шийдсэн. Хэрэв та Raspberry Pi -ийг дөнгөж сонирхож байгаа бол ширээний хамт ирдэг стандарт Raspbian Buster -ийг дагаж мөрдөхийг хүсч магадгүй юм. Хэрэв та үйлдлийн системээ хэрхэн суулгахаа мэдэхгүй байгаа бол энэ бол маш сайн эх сурвалж юм. Хоёр үйлдлийн системийг Raspberry Pi вэбсайтаас татаж авах боломжтой.

Одоогийн байдлаар Pi -г Micro USB тэжээлийн оролтоор тэжээнэ үү. Мөн USB WiFi гогцоог холбоно уу.

Raspberry Pi -тай ярьж байна

Бүх зүйлийг багцалж дууссаны дараа, хэрэв та кодыг өөрчлөхийг хүсч байвал Pi руу нэвтрэх нь маш хэцүү болно. SSH -ийг ашиглах нь Pi -тэй холбогдож өөр компьютерээс удирдах боломжийг олгодог. Энэ нь анхдагч байдлаар асаалттай байдаггүй, гэхдээ бид таны SD картын ачаалах хэсэгт ssh гэж нэрлэгддэг фолдер үүсгэж болно. Хэрэв та өөрийн Pi-д аль хэдийн нэвтэрсэн бол үүнийг терминал дээр sudo raspi-config гэж бичээд Interfacing Options> SSH руу очоод Yes-ийг сонгоод идэвхжүүлэх боломжтой.

Одоо та өөр компьютер дээр Pi -тай холбогдох боломжтой. Mac эсвэл Linux дээр та терминал програмаа ашиглаж болно, гэхдээ Windows -ийн ихэнх хувилбаруудад PuTTY гэх мэт SSH клиент суулгах шаардлагатай болно. Ssh pi@ гэж бичээд Pi -тэй холбогдож, хостын нэрийг таны Pi -ийн IP хаягийн хост нэрээр солино. Анхдагч хостын нэр нь raspberrypi.local юм. Энэ нь танаас танаас нууц үг асуух болно, хэрвээ та үүнийг хараахан сольж амжаагүй бол бөөрөлзгөнө юм.

Шаардлагатай зүйлсийг суулгах

Эхлээд sudo apt update, дараа нь sudo apt full-upgrade ашиглан бүх зүйл шинэчлэгдсэн эсэхийг шалгаарай.

Pi төрлийн sudo apt-get install python-rpi.gpio болон sudo apt-get python3-rpi.gpio дээрх GPIO тээглүүрүүдийг хянахад бидэнд юу хэрэгтэй байгааг баталгаажуулахын тулд. Эдгээрийг Raspbian -ийн бүрэн хувилбар дээр аль хэдийн суулгасан байх ёстой.

Код

Энэ бүгдийг ажиллуулахын тулд татаж авах кодыг энд оруулав. Хэрэв та ширээний орчин ашиглаж байгаа бол эдгээрийг Documents фолдерт оруулна уу.

Хэрэв та SSH командын мөрийг ашиглаж байгаа бол cd ~/Documents гэж бичээд enter дарж гэрийн фолдер руугаа очно уу. Нано test1.py ашиглан test1.py нэртэй шинэ файл үүсгээрэй. Энэ нь нано текст засварлагчийг нээж, татаж авсан test1.py файлын кодыг буулгаж болно. CTRL-O товчлуурыг дарж файлыг хадгалж, засварлагчийг орхихын тулд CTRL-X дарна уу. Үлдсэн файлуудын хувьд процедурыг давтана уу.

Алхам 3: LED зурвас суурилуулах

LED зурвас суурилуулах
LED зурвас суурилуулах
LED зурвас суурилуулах
LED зурвас суурилуулах

Эхлээд LED туузыг хичнээн их хэрэгтэй болохыг олж мэдээд энэ уртыг тэмдэглээд зурвасыг үзүүлсэн шиг дараагийн зүсэлтийн цэг дээр хайчилж ав. Туузыг гацахаас өмнө туузан дээр утас гагнах нь илүү хялбар байдаг. Энэ бол үүнийг хэрхэн хийх талаар маш сайн гарын авлага юм, гэхдээ хэрэв та итгэлгүй байгаа бол зүгээр л туузаа хайчилж авсан хэсэг дээр гагнуур хийх талаар дадлага хийх болно. Нэг утсыг эерэг гагнуурын цэг рүү, нэг утсыг сөрөг тал руу гагнана. LED зурвасыг цагтаа наахаасаа өмнө туршиж үзээрэй.

Миний ашигладаг LED туузыг наалдамхай дэвсгэрээ алдахаас өмнө ашиглаж байсан тул цагны ирмэгийн эргэн тойронд туузыг засахын тулд халуун цавуу хэрэглэх шаардлагатай болсон. Хэрэв та илүүдэл урттай бол утас бэхэлсэн цэгийг таглаарай. Та дараа нь зурвасыг суулгахыг хүсч магадгүй, гэхдээ цагийг нь чангалахад илүү хялбар болсон.

Алхам 4: LED зурвасыг хянах

LED зурвасыг хянах
LED зурвасыг хянах

LED туузыг холбож байна

LED зурвас нь 12В хүчдэл дээр ажилладаг тул Pi -ээс шууд тэжээх боломжгүй юм. Тэдгээрийг хянахын тулд дээр үзүүлсэн шиг Pi -д холбогдсон цахилгаан транзистор (жишээ нь TIP31a) ашиглах болно. Би эхлээд бүх зүйлийг самбар дээр шалгаж үзэхийг зөвлөж байна.

  • GPIO 19 -ийг 1k резистороор сууринд холбоно уу
  • Ялгаруулагч нь GND -тэй холбогдсон байх ёстой
  • Коллекторыг LED туузны сөрөг терминал руу холбоно уу
  • Эерэг LED зурвасын терминалыг +12V -т холбоно уу

Туршилт

Тушаалын мөрөнд баримт бичгийн хавтас (cd ~/Documents) руу ороод python test1.py гэж бичээд оруулна уу. Та LED туузны гэрэл нэмэгдэж, буурч байгааг харах ёстой. Хөтөлбөрөөс гарахын тулд CTRL-C дарна уу. Хөтөлбөрийн хурд, тод байдлыг өөрчлөхийн тулд та файлыг (nano test1.py) засварлаж болно.

RPi. GPIO -г GPIO импортлох цаг GPIO.setmode (GPIO. BCM) болгон ашиглах # BCM pinout GPIO.setwarnings ашиглах (Худал) # Бусад зүйлд зүү ашиглаж байгаа тухай анхааруулгыг үл тоомсорлох (ledStripPin, GPIO. OUT) # ledStripPin -ийг pwm = GPIO. PWM (ledStripPin, 100) гаралт болгон тохируулах dutyCycle (0, 101, 1) мужид: # Pwm -ийг өөрчлөх.sleep (0.05) KeyboardIn тасалдахаас бусад: # гарахын тулд CTRL-C дарж, дараа нь: pwm.stop () # pwm GPIO.cleanup () # GPIO зүүг цэвэрлэ.

Алхам 5: Цагийг нүүр царай болгох

Цагийг нүүр царай болгох
Цагийг нүүр царай болгох
Цагийг нүүр царай болгох
Цагийг нүүр царай болгох
Цагийг нүүр царай болгох
Цагийг нүүр царай болгох

Цагныхаа модон хэсгийг таны нүүрэнд тохируулан доош нь зүсээрэй. Би урд талаас 3см орчим зайд амрахаар хийсэн. LED -ийн диаметр (ихэвчлэн 3 мм эсвэл 5 мм) хоорондоо 30 градусын зайтай 12 цооног өрөмдөнө. Урд нүүрээ доош нь зүлгэж, хүссэн өнгөлгөө түрхээрэй. LED -ийг ар талаас нь байрлуулж, урд тал руу нь чиглүүлнэ. Би LED -ийг эерэг терминал (урт утас) дотогш нь харсан байлгахын тулд халуун цавуу хэрэглэсэн. Цагны нүүрний хэмжээ нь би бүх сөрөг терминалуудыг гагнах боломжтой гэсэн үг юм (дээрхийг үзнэ үү) бүх 12 LED -ийг GND -т холбохын тулд зөвхөн нэг утас хэрэгтэй байв. Дараа нь LED бүрт утсыг гагнана.

Хэрэв та үүнийг самбар дээр туршиж үзэхийг хүсч байвал Pi GPIO тээглүүрийн аль нэгэнд залгахаасаа өмнө LED тус бүртэй резистор (330 Ом нь нэлээд стандарт) ашиглахаа мартуузай. Сэтгэл хангалуун байгаа гэрлийн түвшинг авахын тулд ашигладаг резисторын үнэ цэнээр тоглоорой. Т-гуталчин нь Pi-ийн тээглүүрийг талх руу задлахад үнэхээр хэрэгтэй байдаг, гэхдээ та үүнийг хийхийн тулд толгойн голыг гагнах хэрэгтэй болно. Test2.py ашиглана уу (python test2.py ашиглан ажиллуулна уу) гэхдээ эхлээд програмыг засварлаж, LED тус бүрт ашигласан Pi -ийн GPIO зүүг оруулна уу.

RPi. GPIO -г GPIO болгон импортлох

импорт хийх хугацаа GPIO.setmode (GPIO. BCM) # BCM pinout ашиглах GPIO.setwarnings (Худал) # Бусад зүйлд зүү ашиглаж байгаа тухай анхааруулгыг үл тоомсорлоорой # Нэг, хоёр,… харгалзах зүү дугаараар солино ууPin = [нэг, хоёр, гурав, дөрөв, тав, зургаа, долоо, найм, ес, арав, арван нэгэн, арван хоёр] # LED нь 1-ээс 12 хүртэл i-д холбогдсон зүү (0, 12): GPIO.setup (hourPin , GPIO. OUT) # Бүх hourPins -ийг гаралт болгон тохируулах GPIO.output (hourPin , 0) # Бүх LED -үүдийг унтраасан эсэхийг шалгаарай.], 1): time.sleep (0.05) i for range (0, 12) дараа нь: GPIO.cleanup () # GPIO тээглүүрийг цэвэрлэ

Алхам 6: Pi -г тэжээх

Pi -г тэжээж байна
Pi -г тэжээж байна

Бид 5 В -ийг Pi Zero -т хүргэх хялбар арга хэрэгтэй бөгөөд ингэснээр бид үүнийг өдийг хүртэл тэжээж байсан микро USB кабелиасаа салж чадна. LM7805 шугаман хүчдэлийн зохицуулагч гэх мэт 12V -аас 5V хүртэл буурах хэд хэдэн шийдэл байдаг боловч эдгээр нь тийм ч үр дүнтэй биш тул би LM2596 чипийг ашиглан илүү үр ашигтай тохируулгатай бак хөрвүүлэгч ашиглахаар шийдсэн. NB -ийн тусламжтайгаар та гаралтын хүчдэлийг шаардлагатай бол 5В хүртэл бууруулах хүртэл потенциометрийг мушгих хэрэгтэй болно, ингэснээр хүчдэлийг хэмжих арга хэрэгтэй болно.

LM2596-ийг ашиглах нь маш энгийн: +12V-ийг IN +-д, газардуулгыг IN-д холбоно уу. Pi -г 5V -ийн нэг зүү рүү OUT+ -г холбосноор Pi -ийг 5V -тэй шууд холбож болох боловч үүнийг хийхээсээ өмнө гаралтын хүчдэлийг 5V болгож өөрчилсөн эсэхээ шалгаарай, эс тэгвэл та Pi -ээ хуурна.

Алхам 7: Хэлхээ ба баглаа боодлыг бөглөнө үү

Хэлхээ ба баглаа боодлыг бөглөнө үү
Хэлхээ ба баглаа боодлыг бөглөнө үү
Хэлхээ ба баглаа боодлыг бөглөнө үү
Хэлхээ ба баглаа боодлыг бөглөнө үү
Хэлхээ ба баглаа боодлыг бөглөнө үү
Хэлхээ ба баглаа боодлыг бөглөнө үү
Хэлхээ ба баглаа боодлыг бөглөнө үү
Хэлхээ ба баглаа боодлыг бөглөнө үү

Дээрх ерөнхий хэлхээнд хамтдаа харуулсан хэлхээний бүх гурван элементийг бид одоо авч үзсэн болно. Орон зай хэмнэх, хэлхээг цэвэрхэн болгохын тулд хэлхээг самбар эсвэл прототип самбар дээр тавь. Эхлээд хамгийн жижиг эд анги, резистор, дараа нь цахилгаан транзистор, ямар ч холбогч, эцэст нь утсыг гагнана. Гагнахаасаа өмнө хэлхээгээ төлөвлөж, бүх зүйлд зай байгаа эсэхийг шалгаарай.

Би бүх зүйлийг прототип ПХБ дээр холбож, эмэгтэй толгойн зүүг ашигласан тул Pi нь ПХБ дээр шууд холбогдож байв. Цагийн нүүрэн дээрх LED нь самбарын нэг талд резистороор холбогдсон бөгөөд би нөгөө талд нь цахилгаан транзисторын зай үлдээж, дараа нь нэмж оруулахыг хүсч буй бусад хэлхээнд үнэгүй үлдээсэн болно.

Цагийг цагтай нь холбож, цахилгаан хэрэгсэл бүгд тохирсон эсэхийг шалгаарай. Бүх зүйл миний хувьд маш сайн тохирсон байсан тул дахин тохируулах шаардлагатай болно. Цахилгаан хангамжийг холбож, SSH -ээс test1.py ба test2.py -ийг ажиллуулаад ар талыг бэхлэхээс өмнө бүх зүйл ажиллаж байгааг шалгаарай.

Алхам 8: Кодыг байршуулах + Дуусгах

Кодыг байршуулах + дуусгах
Кодыг байршуулах + дуусгах
Кодыг байршуулах + дуусгах
Кодыг байршуулах + дуусгах
Кодыг байршуулах + дуусгах
Кодыг байршуулах + дуусгах

Код

Эцэст нь хэрэв та хараахан амжаагүй бол кодыг байршуулж, хүссэнээрээ тохируулаарай (nano filename.py ашиглан). Pi дээр SSH -ээр холбогдсоны давуу тал нь та цагийг нээхгүйгээр кодыг шинэчлэх боломжтой юм.

2 -р алхам дээрх эдгээр питон програмууд дараахь зүйлийг хийдэг.

  • light_clock_simple.py нь LED дээрх цагийг харуулдаг бөгөөд тодорхой хугацаанд LED зурвасыг дээш доош нь бүдгэрүүлдэг.
  • light_clock_pwm.py нь дээр дурдсантай ижил боловч LED -ийн гэрлийг багасгах боломжийг олгодог бөгөөд минутыг өөр цагаар харуулдаг. Та хоёулангийнх нь гэрлийн түвшингээр тоглох хэрэгтэй бөгөөд ингэснээр тэдгээрийн хоорондох ялгаа мэдэгдэхүйц болно

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

Pi ачаалах үед програмыг эхлүүлэхийн тулд терминалыг crontab -e ашиглан нээх боломжтой crontab файлын төгсгөлд ' @reboot nohup python light_clock_pwm.py &' гэж нэмэх хэрэгтэй. Raspberry Pi -г дахин эхлүүлээд sudo shutdown -r дээр ажиллаж байгаа эсэхийг шалгаарай.

Боломжит нэмэлтүүд

Нэмэлт функцүүдийн талаархи зарим санааг энд оруулав

  • Түр хойшлуулах товчлуурыг нэмж байна
  • Дэнлүүний горимыг нэмж байна
  • IFTTT -д холбогдох (жишээлбэл, утасны сэрүүлэг унтарсан үед гэрэл асах/имэйл хүлээн авах үед анивчдаг)
  • Хүрэх чадварыг нэмж, өөрөөр хэлбэл цагийг мэдрэгчтэй чийдэн болгоно

ХОУХШ -ийг ашиглах үед заримдаа гэрэл багатай үед LED бага зэрэг анивчдаг болохыг та анзаарч магадгүй юм. Учир нь Pi нь PWM програм хангамжийг ашигладаг тул CPU процесс нь үүргийн мөчлөгт нөлөөлдөг. Цөөхөн процесс ажиллаж байгаа нь үүнд тусалсан тул би Raspbian Lite -ийг жижиглэсэн үйлдлийн системийг ашигласан. Тоног төхөөрөмжийн ХОУХ -ийг хэд хэдэн тээглүүр дээр ашиглах боломжтой тул хэрэв анивчих нь асуудал үүсгэж байгаа бол үүнийг анхаарч үзэх хэрэгтэй байж магадгүй юм.

Та энэхүү зааварчилгааны мэдээллийг олж авсан бөгөөд хуучин сэрүүлгээ эргүүлэх эсвэл өөрийн төслийн кодын элементүүдийг ашиглах урам зориг авсан гэж найдаж байна.

LED зурвасын хурдны сорилт
LED зурвасын хурдны сорилт
LED зурвасын хурдны сорилт
LED зурвасын хурдны сорилт

LED зурвасын хурд сорилтын хоёр дахь шагнал

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