Мазмұны:

Өнер қолғаптары: 10 қадам (суреттермен)
Өнер қолғаптары: 10 қадам (суреттермен)

Бейне: Өнер қолғаптары: 10 қадам (суреттермен)

Бейне: Өнер қолғаптары: 10 қадам (суреттермен)
Бейне: Өлді деп жерлемек болған еді. Бірақ Алланың қалауымен тірілген Бала 2024, Шілде
Anonim
Өнер қолғаптары
Өнер қолғаптары

Art Glove - бұл киюге арналған қолғап, оның құрамында әр түрлі сенсорлар бар, олар графиканы Micro: bit және p5.js арқылы басқарады, саусақтарда r, g, b мәндерін басқаратын иілгіш датчиктерді қолданады және Micro: bit басқаруындағы акселерометр., y графиканың координаттары. Мен бұл жобаны CU Boulder технологиялар, өнер және медиа бағдарламасы бойынша жоғары сынып оқушысы ретінде киілетін технологиялар сыныбының курстық жобасы ретінде құрдым.

Жабдықтар:

  • Бау -бақша қолғаптары
  • BBC Micro: Бит
  • 3-4 иілгіш датчиктер
  • 10К Ом резисторлары
  • Қосылатын сым (қызыл және қара)
  • Сым кескіштер
  • Нан тақтасы
  • Аллигатор қысқыштары (екі жақты және бір жақты)
  • Дәнекер
  • Пісіру темірі
  • Ине
  • Жіп
  • Балауыз қағазы
  • Таспа
  • Қайшы
  • Қалам мен Қарындаш

1 -қадам: сенсорлық тректерді иіңіз

Иілу сенсорының жолдары
Иілу сенсорының жолдары
Иілу сенсорының жолдары
Иілу сенсорының жолдары
Иілу сенсорының жолдары
Иілу сенсорының жолдары

Біріншіден, біз аппараттық құралдарды жасауға баса назар аударамыз. Осылайша біз кодтауға кіріскен кезде бізде қолдануға және сынауға нақты қолғап компоненті болады.

  1. Бастау үшін біз саусақтарда иілу сенсорларын орнында ұстайтын жолдар жасаймыз. Бұл жолдардың болуы иілу сенсорларына сәл алға және артқа жылжуға мүмкіндік береді, сонымен қатар оларды саусақтардың иілуін қамтамасыз етеді. Алдымен қолғапты ішке аударыңыз.
  2. Иілу сенсорын алып, оны саусақтың ортаңғы жотасына қойыңыз. Қаламды пайдаланып, иілу датчигін сызыңыз
  3. Жіпті инеңізден өткізіңіз. Өзіңізге жомарт бөлік беріңіз. Жіптің соңында түйін байлаңыз.
  4. Жоғарғыдан және сызықтан бастап иілу сенсорының доғасын үрлеп, инені қолғаптан ішкі жағынан сырғытып, параллель сызық бойынша артқа қарай итеріңіз. Ине соңына дейін тартыңыз, сонда түйін сіз сызған сызыққа отырады.
  5. Тығыз тартып, екінші жағынан 2-3 түйін жасаңыз, бұл жіптің шықпауын қамтамасыз етеді. Иілу сенсоры саусағыңызбен бекітілетін етіп оның тығыз екеніне көз жеткізіңіз
  6. Жіпті бірнеше см қалдырыңыз. түйін шешілмеуі үшін соңында жіп.
  7. Иілгіш датчиктерді бекітетін саусақтардың барлығында 2-6 қадамдарды қайталаңыз, ол соңғы суреттің үшіншісіне ұқсайды.
  8. Қолғапты дұрыс айналдыру үшін артқа аударыңыз. Иілу датчиктерін жолдар арқылы сырғытыңыз, олар сіздің қолыңызға дұрыс сәйкес келеді

2 -қадам: Micro: bit көмегімен сериялық байланысты қолдану

Micro: bit көмегімен сериялық байланысты қолдану
Micro: bit көмегімен сериялық байланысты қолдану

Сенсорлардың шығуын көру үшін біз сериялық байланысты қолданамыз. Келесі қадамда сіз Makecode -те кодты қалай орнату керектігін көресіз, бірақ алдымен біз оны терминалдан оқуды үйренеміз. (Ескерту: Мен Mac қолданамын, сондықтан бұл қадамдар сіздің операциялық жүйеге байланысты әр түрлі болуы мүмкін. Басқа операциялық жүйелер үшін мына жерден қараңыз).

  1. Micro: bit қосыңыз
  2. Терминалды ашыңыз
  3. 'ls /dev/cu.*' теріңіз
  4. Сіз '/dev/cu.usbmodem1422' сияқты көрінетін нәрсені көруіңіз керек, бірақ нақты сан сіздің компьютеріңізге байланысты болады
  5. Сіз кодты іске қосқаннан кейін, 'screen /dev/cu.usbmodem1422 115200' теру (сіздің нақты сериялық порт нөміріңізбен) сізге Micro: bit сериялық шығысын береді.
  6. Сіздің шығысыңыз қалай пішімделгеніне байланысты жоғарыдағы суретке ұқсас болуы керек!

3 -қадам: схеманы прототиптеу

Схеманы прототиптеу
Схеманы прототиптеу
Схеманы прототиптеу
Схеманы прототиптеу

Барлық компоненттерді дәнекерлеу алдында біз тізбектің прототипін жасаймыз және сенсордың мәндерін оқу үшін бірнеше мысал кодын жазамыз және біздің компоненттердің дұрыс жұмыс жасайтынына көз жеткіземіз.

  1. Жоғарыдағы схеманы қолдана отырып, схеманы протоколға секіргіш сымдарды, резисторларды, аллигатордың бір жақты қысқыштарын және Micro: bit көмегімен салыңыз.
  2. Иілу сенсорларын 0, 1 және 2 түйреуіштерге қосыңыз.
  3. Мен бұл кодты икемді сенсорларды тексеру үшін қолдандым
  4. Оқуларын көру және олардың дұрыс жұмыс істейтініне көз жеткізу үшін оларды бірнеше рет бүгіңіз

Кодта «serial.writeLine» соңғы жолы - біз сериялық шығысқа жазамыз. Сіз бұл шығысты қалағаныңызша пішімдеуге болады, мен әр айнымалыны үтірмен бөлдім, содан кейін үтірге бөлдім, бірақ бұл бөлік сізге байланысты.

(Ескерту: Мен бұл қадамды жасағаннан кейін мен иілгіш сенсорлардың бірінде өткізгіш бояуда чип бар екенін білдім, сондықтан ол жақсы оқымайды. Сол себепті кейбір суреттерде мен 4 сенсормен жұмыс істейтінімді көрсетеді. Осыны білген соң мен бардым. Көрсеткі, ортаңғы және сақина саусағындағы үш сенсорға дейін. Мен де сенсорлардың оқудың ең кең диапазонын «қарама -қарсы» иілгенін байқадым, сондықтан мен оларды резистивті бояумен төмен қаратып қолғапқа кигіздім.)

4 -қадам: акселерометр мен жарық сенсорын тексеру

Бұл кезеңде мен акселерометр мен жарық сенсорын Micro: bit -те сынауды таңдадым

  1. Micro: bit компьютеріне қосыңыз
  2. Бұл кодты жүктеңіз
  3. Содан кейін мен осы кодпен бірге акселерометр, жарық және иілу сенсорларын сынап көрдім

(Ескерту: Мен дәл осы кезде түйреуіштер мен жарық сенсорларын қолдануға болмайтынын түсіндім, сондықтан мен сенсорды финалда қолданған жоқпын, бірақ мен сіз қалай оқу керектігін білгіңіз келді. қажет болса жарық сенсоры!)

5 -қадам: Иілу датчиктерін дәнекерлеу

Иілу датчиктерін дәнекерлеу
Иілу датчиктерін дәнекерлеу
Иілу датчиктерін дәнекерлеу
Иілу датчиктерін дәнекерлеу

Енді біз компоненттерді бірге дәнекерлеуді бастаймыз! Бұл қызықты бөлім, бірақ ақырындап жүріп, соңына дейін жетпеу үшін, бірдеңе істемей қалу үшін және қай жерде қате кеткеніне сенімді болмау үшін бәрі әлі де жұмыс істеп тұрғанын тексеру маңызды! Мен сымдар мен резисторлар дәнекерленгеннен кейін әр сенсор әлі де жұмыс істейтінін тексеру үшін екі жақты аллигатор қысқыштарын пайдалануды ұсынамын.

  1. Иілу сенсоры мен таспаны алыңыз немесе орнына ауыр зат қойыңыз.
  2. 10K Ом резисторды алыңыз және оның көп бөлігін иілу сенсорындағы сымның ұзындығына дейін ұзын етіп кесіңіз.
  3. Дәнекерлеу үтікті алыңыз да, оны ыстыққа дейін резистор мен иілу сенсорының сымына басыңыз
  4. Дәнекерді алыңыз да, оны ыстық үтікке басыңыз, себебі ол компоненттердің үстінен ери бастайды. Сымдарды жабу үшін сізге жеткілікті.
  5. Үтікті алыңыз. Мұнда мен бақшаға арналған басқа қолғапты киіп, дәнекер салқындаған кезде резистор мен сымды орнында ұстадым.
  6. Қызыл сымның ұзын бөлігін қысыңыз да, оны резистор мен иілу сенсоры түйісетін жерге дәнекер қосқышқа қойыңыз. 4-5 қадамдарды қайталаңыз. Бұл аналогты сым.
  7. Қара сымның ұзын бөлігін қысыңыз және оны басқа сымның соңына қойыңыз. 4-5 қадамдарды қайталаңыз. Бұл сіздің жерге қосылған сым.
  8. Қызыл сымның ұзын бөлігін қысыңыз да, резистордың екінші ұшын қысыңыз, ол алдыңғы жағымен бірдей. 4-5 қадамдарды қайталаңыз. Бұл сіздің қуат сымыңыз.
  9. Қалған иілу сенсорлары үшін 1-8 қадамдарды қайталаңыз.
  10. Сымдарды ұзағырақ қалдырыңыз, сонда оларды Micro: bitке қосқанда дұрыс ұзындықта жұмыс істеуге мүмкіндік бар.

6 -қадам: Микро: дәнекерлеу және қолғапты жинау

Микроға дәнекерлеу: бит және қолғапты жинау
Микроға дәнекерлеу: бит және қолғапты жинау
Микроға дәнекерлеу: бит және қолғапты жинау
Микроға дәнекерлеу: бит және қолғапты жинау
Микроға дәнекерлеу: бит және қолғапты жинау
Микроға дәнекерлеу: бит және қолғапты жинау

Енді сенсорлар дайын, біз Micro: битке дәнекерлеуді және қолғапты жинауды бастаймыз. Аллигатор қысқыштарын қолданып, оларды дәнекерлегеннен кейін де жұмыс жасайтынына көз жеткізу үшін тестілеуді қайталауды ұмытпаңыз.

  1. Датчиктер мен Micro: сымдарды қайда және қанша уақытқа созу керектігін білу үшін қолғапты киіңіз.
  2. Қуат түйреуішіне қызыл сымды ораңыз. Сымды алу үшін сым кескіштерді қолданыңыз және сым бекітетін ашық бос жерлерді қалдырыңыз. Мұны жерге тұйықталатын сым үшін де жасаңыз.
  3. Қолданбайтын қолғапты сызыңыз. Бұл бізге бәрін біріктіруге және заттардың ұзындығын түзетуге көмектеседі. Сіз бәрін керісінше жасайсыз, бірақ заттарды дұрыс жолмен дәнекерлеп жатқаныңызды екі рет тексеріңіз!
  4. Micro: микрофонды қолыңызда қалаған жерге салыңыз. Жерге және электр сымдарының отыруына белгілер қойыңыз.
  5. Сымды, жерге немесе жерге таспаны бекітіңіз.
  6. Иілу сенсорын орнына бекітіңіз.
  7. Электр сымын барлық электр желісіндегі белгіден өтіп кететіндей етіп кесіңіз.
  8. Бұл бөліктерді дәнекерлеңіз.
  9. Басқа электр сымдары үшін 5-8 қадамдарды қайталаңыз және жерге қосылатын сымдар үшін.
  10. Micro: bit алыңыз және оны жаңадан дәнекерленген сымдардың астына қойыңыз. Қуат пен жерге дұрыс түйреуіштерді дәнекерлеңіз.
  11. Аналогты сымдарды түйреуіштердің ұшынан өтіп, алдыңғы жағына оралатындай етіп қысыңыз.
  12. Сымдарды дұрыс түйреуіштерге дәнекерлеңіз.
  13. Мен барлық сымдар (қуат, жер және аналог) түйреуіштердің алдыңғы және артқы жағына тиіп тұрғанда, менің оқуларым ең жақсы және сәйкес келетінін білдім.
  14. Бір жолдан бір жолға, иілу сенсорларын саусақтарыңызбен жоғары қарай итеріңіз.
  15. Датчиктер орнатылғаннан кейін қолғапты киіңіз және оның дұрыс екеніне көз жеткізіңіз. Егер сізге тректерді қосу немесе олардың орналасуын түзету қажет болса, дәл қазір жасаңыз.
  16. Сенсорлар сіз қалаған жерде жатқанда, Micro: битін қайда байлау керектігін ескеріңіз. Сіз A және B түймелерінің екі жағындағы кішкене тесіктерді немесе түйреуіштердің тесіктерін пайдалана аласыз. Инені және жіпті қолданып, қолыңызға бекітіңіз

Құттықтаймын! Қолғаптың аппараттық компоненттері енді дайын!

7 -қадам: Микро: бит коды

Микро: бит коды
Микро: бит коды
Микро: бит коды
Микро: бит коды

Енді мен сізге Micro: бит коды арқылы өтемін. Сіз бұл кодты қалағаныңызша жасай аласыз, бірақ мен бәрін түсіндіріп бергім келді, сонда сіз менің не істегенімді, қалай істегенімді және неге екенін көре аласыз! Сіз менің кодты осы жерден таба аласыз.

  1. 1-31 жолдар. Мұнда мен Micro: bit алдын ала орнатылған функцияларын қолданамын.

    • А түймесін басу қол жетімді графиканы таңдауды азайтады. Сіз 0 -ге жеткенде, ол ең жоғары санға оралады.
    • B түймесін басу санды көбейтеді, қол жетімді графиканың ең көп санына жеткенде, ол 0 -ге қайтады.
    • Егер сіз таңдаған ағымдағы графика қазіргі уақытта салынып жатқан графика болмаса, А және В түймелерін қатар басу жаңа графиканы таңдайды.
    • Егер сіз таңдаған ағымдағы графика сызбамен бірдей болса, онда А және В түймелерін басу бір уақытта пішінді толтырады.
    • Micro: битін шайқау өшіру айнымалысын 1 -ге қояды, ол p5.js -ке кенепті өшіріп, қара түспен бастауға нұсқайды. Ол жүгіруді бір секундқа кідіртеді, содан кейін пайдаланушы сурет салуды жалғастыруы үшін оны 0 қалпына келтіреді.
  2. 32-64 жолдар менің айнымалыларымды орнатады. Мәндердің көпшілігі қатаң кодталмауы үшін көптеген айнымалыларды қолдану маңызды болды. Олар қолғаппен өзгеруі мүмкін, сонымен қатар барлық жерде көптеген құндылықтарды жаңартудың орнына бір жерде оңай өзгертуге болады. Мен кейбір маңыздыларын бөліп көрсетемін.

    • Кенептің өлшемі - менің кенептің өлшеміне байланысты жаңартылатын бір айнымалысы бар жақсы. Пішінмен бірдей Жоғары. Мен графиканы қосқанда немесе алып тастағанда, мен бұл нөмірді жаңарта аламын.
    • Жоғары және төмен айнымалылар сенсорлар үшін жоғары және төмен токты бақылауға және үздіксіз калибрлеу диапазонына ие болуға мүмкіндік береді. Бұл өте маңызды, өйткені қолғап киген әр адамның қозғалыс ауқымы әр түрлі болады, сондықтан олар қол жеткізе алатын биіктіктер мен төмендеулерге ие болады.
  3. 66-68 жолдар иілгіш сенсорларға арналған түйреуіштердің аналогтық мәндерін оқиды
  4. 69-74 жолдары көрсеткіш саусағының жоғары мәнін калибрлейді.

    • Егер жаңа шыңға жетсе, бұл оны ең жоғары деңгейге қояды.
    • Бұл саусақтың диапазонын қайта калибрлейді.
    • Түсті салыстыру үшін жаңа диапазонды қолданады
  5. 75-80-жолдар көрсеткіш саусағының төменгі мәнін калибрлейді.
  6. 81-104-ші жолдар ортаңғы және сақиналық саусақтар үшін 4 және 5 сияқты әрекет етеді.
  7. 105-107 жолдары менің икемді сенсордың мәндерін 0-255 түс мәндеріне салыстырады (немесе түсі төменге дейін жоғары, егер мен толық диапазонды жасамасам)

    • Makecode -тің кіріктірілген карта функциясы сенсорлардан алатын шектеулі диапазонды ескере отырып, маған керемет карта бермеді. Сондықтан мен картаға түсіру функциясын жасадым.
    • Міне, ол қалай жұмыс істейді. Әр саусақтың енгізу диапазоны оның көмегімен анықталады (ең жоғары мән - бұл ең төменгі мән). Түс диапазоны, сонымен қатар (ең жоғары түс мәні - ең төменгі түс мәні) әр саусақ диапазонына бөлінеді. Бұл сан ең кіші бүтін санға дөңгелектенеді және цифр болып табылады.
    • (Сенсордың шын мәні - сенсордың ең төменгі мәні) сізге ауқымдағы мәнді береді. Мұны жоғарыда табылған көрсеткішке көбейтіп, ең төменгі түс мәндерін қосу сенсордан түс диапазонындағы түске сәйкес келетін мән береді.
  8. 109 -жолда дыбыс мәні (жоғары және төмен) оқылады.
  9. 110-115 жолдары осы мән үшін жоғары мен төменді калибрлейді
  10. 116 -жолда айналдыру мәні (сол және оң) оқылады.
  11. 117-122-жолдар осы мән үшін жоғары мен төменді калибрлейді
  12. 123-126 жолдары кенептің өлшеміне қарай қадам мен орама мәндерін салыстырады және оларды бүтін сандарға дөңгелектейді.
  13. 127 -жолда айнымалыларды serial.writeLine көмегімен сериялық шығысқа жазады, әр мәнді үтірмен және бос орынмен бөледі, кейінірек талдау үшін.

Сізге ұнайтын кодты алғаннан кейін, оны Micro: bit -ке жүктеу үшін оны жүктеп алып, оны жүктеуден Micro: bit -ке апарыңыз (оны іздеу құралының сол жағындағы «Орналасуы» бөлімінде көруге болады).

8 -қадам: P5.js көмегімен сериялық байланыс

P5.js -пен сериялық байланыс
P5.js -пен сериялық байланыс

P5.js жүйелі түрде байланысу үшін бізге қосымша құрал қажет. Сериялық байланыстың артында не болып жатқанын білу үшін мен осы мақаланы оқуды ұсынамын.

  1. P5.js қосымшасының нұсқасын мына сілтемеден жүктеп алыңыз. Менде Alpha 6 нұсқасы бар, бірақ кез келгені жұмыс істейді.
  2. Бұл p5.js үлгісін дәйекті байланыс үшін пайдаланыңыз. Оны орнату үшін portName үшін дұрыс сериялық порт атауын 12 -жолға енгізіңіз. Бұл 2 -қадамда біз тапқан атау.
  3. Micro: bit компьютеріне қосыңыз
  4. P5.js сериялық қосымшасын ашыңыз.
  5. Порттар тізімінен портты таңдаңыз және басқа ештеңе жасамаңыз. Тіпті ашпаңыз! Тізімнен портты таңдаңыз.
  6. P5.js сериялық үлгісіндегі run пернесін басыңыз. Сіз оның ашық екенін көре алуыңыз керек және ол сізге нөлдік мәндерді оқиды, өйткені біз сериялық шығуды талдау үшін код жазған жоқпыз.

Енді біз Micro: bit -тен p5.js -ке кезекпен хабарласа аламыз!

9 -қадам: P5.js коды

Енді біз p5.js кодына өтеміз. Мұнда біз сериялық шығыс мәндерін оқимыз және оларды өнер жасау үшін қолданамыз.

  1. Алдыңғы қадамда айтқанымдай, 12 -жолдағы portName сіздің нақты компьютер порты атауы екеніне көз жеткізіңіз.
  2. Setup () функциясында, 32-33 жолдарда, мен createGraphics көмегімен солға және оңға Буферді қостым, мен бұл кенепті бөлу үшін жасадым, осылайша бір бөлігі сурет салу үшін пайдаланылады, ал екінші бөлігі бағыттарды көрсетіп, қандай графикті көрсетеді қарап жатырсыз немесе айналдырасыз.
  3. Draw () функциясы leftBuffer мен rightBuffer -ды бөлек жасау үшін жасаған функцияларды шақырады. Ол сонымен қатар әр буфердің жоғарғы сол жақ бұрышының қайдан басталатынын анықтайды.
  4. DrawRightBuffer () функциясы бағыттар мен графикалық таңдау үшін барлық мәтінді көрсетеді
  5. DrawLeftBuffer () функциялары барлық графиктерді көрсетеді.

    • 93 -жол альфа мәнінің мәнін кездейсоқ шығарады. Бұл барлық түстердің қызықты болуы үшін әр түрлі мөлдірлікке ие. Егер менде 4 иілгіш сенсор болса, мен бұл үшін төртіншісін қолданар едім!
    • 94 -жолда иілу сенсорлары анықтайтын r, g, b мәндеріне инсульт мәнін орнатады
    • Оның орнына тінтуірді қолдану арқылы қолғапсыз қолғаптың қалай жұмыс істейтінін тексеру үшін 96-102 жолдарын түсіндіруге болады. 102 -жолды функцияның қалған бөлігін графикамен ауыстырыңыз.
  6. 104-106 кенептің фонын қара етіп қою арқылы қол дірілдегенде кенепті өшіріңіз
  7. 108-114 A+B басылғанда және таңдалған кезде және ағымдағы пішін бірдей болған кезде пішіндердің толтырылуын басқарады
  8. 117-312-бұл жерде графика көрсетіледі. Бұл кодтың негізгі бөлігі және шығармашылыққа арналған бөлік! Фигураларды басқаруды жақсы түсіну үшін p5.js сілтемесін қарауды ұсынамын. Мен ролл мен қадамды x, y позицияларын басқару үшін, пішіндер мен графиканың өлшемін өзгерту үшін қолдандым, мен бұрын айтқанымдай. түсті бақылау үшін сенсорлар. Бұл жерде сіз шығармашылықпен айналыса аласыз! P5.js ұсынатын нәрсемен ойнаңыз және бақылау үшін өзіңіздің қызықты графикаңызды ойлап табыңыз! Мұнда мен оң жақта орналасқан Buffer -де көрсетілетін currentShape сипаттамасын қойдым.
  9. 318-460 Таңдалған Пішінге сипаттама қойдым.
  10. 478-498 жолдары serialEvent () функциясы болып табылады. Бұл жерде біз сериялық деректерді аламыз.

    • 485-486 жолдарында мен proll және ppitch (алдыңғы ролл мен қадам) алдыңғы ролл мен қадамдық мәндерге қойдым.
    • 487 жолда мен деректерді «,» бойынша бөлдім. Мен мұны деректерді үтірмен бөлу үшін жазғаным үшін жасаймын. Сіз айнымалыларды бөлген нәрсені осында қоясыз. Бұл айнымалылар сандар массивіне енгізіледі.
    • Содан кейін 488-496 жолдарында мен айнымалыларды массивтің сәйкес элементіне қойып, оларды жолдан санға аударамын. Мен бұл айнымалыларды drawLeftBuffer () функциясында графиканы басқару үшін қолданамын.

Бұл кодты жинақтайды және жобаны аяқтайды! Енді біз қолғаптың жұмыс істеп жатқанын көре аламыз.

10 -қадам: соңғы өнім

Соңғы өнім
Соңғы өнім
Соңғы өнім
Соңғы өнім
Соңғы өнім
Соңғы өнім

Міне, дайын қолғаптың суреттері, сондай -ақ ол жасаған кейбір өнер туындылары! Демо бейнені қараңыз, оны іс жүзінде көріңіз!

Ұсынылған: