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

Нууцлаг тогших нууц ном: 11 алхам (зурагтай)
Нууцлаг тогших нууц ном: 11 алхам (зурагтай)

Видео: Нууцлаг тогших нууц ном: 11 алхам (зурагтай)

Видео: Нууцлаг тогших нууц ном: 11 алхам (зурагтай)
Видео: zohiomj 2024, Долдугаар сарын
Anonim
Нууц тогших цоожтой нууцлаг ном
Нууц тогших цоожтой нууцлаг ном
Нууц тогших цоожтой нууцлаг ном
Нууц тогших цоожтой нууцлаг ном
Нууц тогших цоожтой нууцлаг ном
Нууц тогших цоожтой нууцлаг ном

Бидний нууц зүйлийг нуух тухайд гэвэл бид ихэвчлэн лонхны дотор эсвэл хайрцганд нуудаг.

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

Алхам 1: Хичээл хийх (видео)

Image
Image

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

Алхам 2: Онцлог шинж чанарууд

Онцлог шинж чанарууд
Онцлог шинж чанарууд
  • Шинэ түгжээг програмчлах эсвэл бичих ганц товчлуур
  • Бид жижиг зүйлээ ном дотор нууж болно
  • Ийм шүүгээний системийн талаар хэн ч боддоггүй
  • Бид энэ номыг тусгай тогшилтоор түгжих боломжтой
  • Бид энэ хэлхээг хаалганы системдээ ашиглаж болно
  • Хоббигийн хамгийн энгийн төсөл

Алхам 3: Энэ хэрхэн ажилладаг вэ?

Энэ хэрхэн ажилладаг вэ..?
Энэ хэрхэн ажилладаг вэ..?

Энэхүү нууц түгжээг тогшиход үндэслэхээс өмнө би танд хэлсэн.

Пьезоэлектрик диск

Манай хэлхээний гол бүрэлдэхүүн хэсэг нь пьезо диск юм.

Piezoelectricdisc бол хувиргагч бөгөөд механик чичиргээг тохируулах хүчдэлд хувиргадаг. Тиймээс arduino -ийн тусламжтайгаар бид тогших чичиргээг уншдаг. Энэ бол мэдрэхүйн хэсэг юм.

Ийм байдлаар бид тогшилтыг програмчлалын тусламжтайгаар уншиж, тусгай дараалсан тогшилтыг хадгалахаас гадна түгжээг жолоодох боломжтой болно. (Програмчлалын талаар дараа тайлбарлах болно)

Алхам 4: Үүнд шаардлагатай бүрэлдэхүүн хэсгүүд

Үүний тулд шаардлагатай бүрэлдэхүүн хэсгүүд
Үүний тулд шаардлагатай бүрэлдэхүүн хэсгүүд
Үүний тулд шаардлагатай бүрэлдэхүүн хэсгүүд
Үүний тулд шаардлагатай бүрэлдэхүүн хэсгүүд
Үүний тулд шаардлагатай бүрэлдэхүүн хэсгүүд
Үүний тулд шаардлагатай бүрэлдэхүүн хэсгүүд
Үүний тулд шаардлагатай бүрэлдэхүүн хэсгүүд
Үүний тулд шаардлагатай бүрэлдэхүүн хэсгүүд

1. Arduino (дурын ардуино)

Прототип бичихийн тулд би arduino uno -ийг ашиглаж, хэлхээний хэмжээг багасгахын тулд arduino pro mini -ийг ашигласан

2. Пьезоэлектрик диск

Энэ төсөлд Piezo шаардлагагүй, бид жижиг микрофон эсвэл чанга яригч ашиглаж болно. Хэрэв та пьезо олж чадаагүй бол дуугаралтаас аврах боломжтой.

3.sg90 servo

Серво бол түгжих зориулалттай servo ашигладаг өндөр эргэлтийн момент бүхий араа хөдөлгүүр юм

4. эсэргүүцэл (1 мега ом, 10 к, 1 к)

5. 2* LED

статусыг илэрхийлэхийн тулд өөр өнгө хэрэглээрэй

6. цэгийн самбар

7. Товчлуур солих

8.3.7 вольтын батерей

Жижиг хэмжээтэй бол би лити полимер ашиглаж байгаа нь дээр

Алхам 5: Daigram хэлхээ

Daigram хэлхээ
Daigram хэлхээ

Холболтууд

  • Пьезоэлектрикийг аналог зүү 0 -т холбож, газардуулаад пьезо хооронд 1 мега ом эсэргүүцэл нэмнэ
  • D3 servo холбоно уу
  • LED -ийг D4 ба D5 руу холбоно уу
  • Товчлуурыг D2 ба 5V руу холбоно уу

Алхам 6: Кодын тойм ба алдааг олж засварлах

STEVE HOEFER -д баярлалаа

const int threshold = 4; Энэ бол тогших детекторын мэдрэмж юм. Хэрэв та маш их чимээ шуугиантай бол үүнийг дээшлүүлээрэй (1023 хүртэл), хэрэв та тогшиход хэцүү байвал түүнийг бууруулж болно (1 хүртэл)

constint татгалзахValue = 25;

constint averageRejectValue = 15;

Эдгээр хоёуланг нь хэн нэгэн тогших ёстойг зөв тодорхойлоход ашигладаг. Эдгээр нь хувь бөгөөд 0-100 хооронд байх ёстой. Эдгээрийг багасгах нь хэн нэгэн илүү нарийвчлалтай байх ёстой гэсэн үг юм. дундажRejectValue нь үргэлж радValue -ээс доогуур байх ёстой. 10 ба 7 орчим тохируулгууд нь хэмнэлийг мэддэг ч гэсэн хоёр хүн нэг тогшиход хэцүү болгодог. Гэхдээ энэ нь хуурамч сөрөг тоог ихэсгэдэг. (өөрөөр хэлбэл: Та зөв тогшсон ч нээгдээгүй хэвээр байна.)

const int knockFadeTime = 150; Энэ бол тогших мэдрэгчийн бүдүүлэг задлах таймер юм. Тогшихыг сонссоны дараа энэ олон миллисекундийг сонсохоо больсон тул нэг тогшлыг нэгээс олон удаа тоолохгүй. Хэрэв та нэг тогшихыг хоёр гэж тооцвол энэ таймерыг нэмэгдүүлээрэй. Хэрэв энэ нь хоёр хурдан цохилтыг бүртгэхгүй бол түүнийг бууруулна уу.

const int lockTurnTime = 650; Энэ бол хаалгыг онгойлгохын тулд хөдөлгүүрийг ажиллуулахад хэдэн миллисекунд болж байна. Энэ нь хэр удаан үргэлжлэх нь таны моторын загвар, түгжээнээс хамаарна. Загвар руу энгийн гулсах шүүрч авалт хийснээс хойш жаахан удаан ажиллавал зүгээр, гэхдээ хэт их гүйхгүй бол бүх эд ангиудад илүү дээр юм.

const int maximumKnocks = 20; Бид хичнээн тогшилт бүртгэдэг. 20 бол маш их. Хэрэв таны нууц хоргодох байрыг сайн дурсамжтай хуурамч бөмбөрчид хамгаалсан бол та үүнийг нэмэгдүүлэх боломжтой. Үүнийг хэт их хэмжээгээр нэмэгдүүлснээр ой санамж дуусах болно.

const int knockComplete = 1200; Мөн хамгийн их миллисекунд гэж нэрлэдэг бөгөөд энэ нь тогшихыг хүлээх болно. Хэрэв энэ нь удаан хугацаанд тогшихыг сонсохгүй бол хийсэн гэж үзээд тогших нь сайн эсэхийг шалгаарай. Хэрэв та удаан тогшдог бол үүнийг нэмэгдүүлээрэй. Хэрэв та хурдан тогшдог бол хаалгаа онгойлгох хүртэл 1.2 секунд хүлээх тэвчээргүй байгаа бол үүнийг бууруулаарай. 39 -р шугамын тухай: int secretCode [maximumKnocks] = {50, 25, 25, 50, 100, 5….. Энэ бол асаахад танигдах анхдагч тогшилт. Энэ нь хачин хэмнэлтэй тэмдэглэгээ юм, учир нь утга бүр нь хамгийн урт тогшлын хувь юм. Хэрэв та "хусах, үс тайрах" -ыг танихад хэцүү байвал үүнийг {100, 100, 100, 0, 0, 0… болгон өөрчил, тэгвэл 3 тогшилтын энгийн дараалал нээгдэнэ.

Дебаг хийх:

Цуваа эхлэх (9600);

Serial.println ("Хөтөлбөрийн эхлэл."); Цуваа порт дээрх дибаг хийх зарим мэдээллийг харахын тулд эдгээр мөрүүдийг тэмдэглэхээ болино уу. Дотооддоо юу болж байгааг харахын тулд коммент бичих боломжтой кодын үлдсэн хэсэгт дибаг хийх кодын өөр хэдэн мөрүүд байдаг. Цуваа портоо зөв хурдаар тохируулахаа мартуузай. Үлдсэн кодыг тайлбарласан тул та хэрхэн яаж хийхийг харах боломжтой болно. Энэ нь ажилладаг, гэхдээ хэрэв та дизайныг өөрчлөхгүй бол үүнийг өөрчлөх шаардлагагүй болно.

Серво номын сан

кодыг эндээс татаж авна уу

Алхам 7: Хэлхээг хумих (гагнах)

Хэлхээг багасгах (гагнах)
Хэлхээг багасгах (гагнах)
Хэлхээг багасгах (гагнах)
Хэлхээг багасгах (гагнах)
Хэлхээг багасгах (гагнах)
Хэлхээг багасгах (гагнах)

Би бүх алдааг багасгасны дараа талхны самбар дээрх хэлхээг туршиж үзээд шалгалт тохируулсны дараа хэлхээг багасгахаар шийдсэн.

Тиймээс би arduino uno -г arduino promini болгон өөрчилсөн. Дараа нь би бүх бүрэлдэхүүн хэсгүүдийг хэлхээний диаграмын дагуу цэгэн компьютер дээр гагнав. Дараа нь дан утастай утасны тусламжтайгаар би pcb цэгийг проминитэй холбосон. Тэгээд л болоо

Алхам 8: Шүүгээ хийх

Шүүгээ хийх
Шүүгээ хийх
Шүүгээ хийх
Шүүгээ хийх
Шүүгээ хийх
Шүүгээ хийх
Шүүгээ хийх
Шүүгээ хийх

Эхлээд би хуучин цагаан идээ авав (зузаан нь servo -ээс өндөр байх ёстой)

Дараа нь би хуудсыг хооронд нь наасан

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

Илүү сайн санаа авахын тулд видеог үзээрэй.

Алхам 9: Түгжээ хийх, дуусгах

Түгжээ хийх, эцэслэх
Түгжээ хийх, эцэслэх
Түгжээ хийх, эцэслэх
Түгжээ хийх, эцэслэх
Түгжээ хийх, эцэслэх
Түгжээ хийх, эцэслэх
Түгжээ хийх, эцэслэх
Түгжээ хийх, эцэслэх

Би servo гараа аваад хоёр хэсэг болгон хувааж, хоёр хэсгийг L хэлбэртэй холбов

Номын дотор бүх зүйлийг зассан

Би пьезог нүүрэн дээр нь зассан

Тэгээд л боллоо ….

Алхам 10: Сул тал, сайжруулалт

Энэхүү түгжээний гол сул тал бол батерей юм. Хэрэв зай бүрэн дууссан бол бид эд зүйлсээ буцааж авахын тулд номыг устгах хэрэгтэй.

Үүнийг шийдэхийн тулд би хоёр дамжуулагчтай гадаад хангамж бүхий хэлхээг өөрчлөх гэж байна.

Алхам 11: Баярлалаа

Хэрэв танд энэ талаар ямар нэгэн асуудал тулгарвал доор тайлбар бичнэ үү

МИНИЙ СУВАГТ зочилж илүү сонирхолтой төслүүдийг үзээрэй

Баярлалаа ….

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