Мазмұны:
- 1 -қадам: компоненттер
- 2 -қадам: Сымдарды жалғау
- 3 -қадам: мәліметтер базасының схемасы
- 4 -қадам: Arduino Nano конфигурациялаңыз
- 5 -қадам: Raspberry Pi конфигурациясын жасаңыз
- 6 -қадам: тұрғын үй + зал
- Тұрғын үй
- Холл әсерінің сенсоры
- 7 -қадам: Қолданбаны іске қосу
Бейне: Скейт-метр: 7 қадам (суреттермен)
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:26
Мен Howest Kortrijk студентімін. Жобаны құру үшін қажет лекторларға өз дағдыларымызды көрсету үшін мен RFID сканері бар скейтборд үшін одометр мен спидометр құруды таңдадым. Бұл нұсқаулықта мен бұл жобаны қалай жасағанымды айтамын.
Мен бұл идеяны ойлап таптым, себебі мен коньки теуіп, серуендеуді ұнатамын. Мен круизде жүргенде қанша қашықтықты жүріп өткенімді және жылдамдығымды көруге ыңғайлы болар еді.
Есіңізде болсын, бұл прототип.
1 -қадам: компоненттер
Компоненттер
Мен бұл жобаны жасау үшін келесі компоненттерді қолдандым:
- Скейтборд
- Потенциометр
- СКД
- Холл әсерінің сенсоры
- 10к Ом резисторы
- Таңқурай пи
- Ардуино Нано
- Өткізгіш сым (әйелден еркекке дейін)
- Өткізгіш сым (Raspberry Pi)
- Өткізгіш сым (еркектен еркекке)
- ПХД
- RFID сканері
- RFID белгісі
- Powerbank
Сілтемелер мен баға туралы BillOfMaterials қараңыз
2 -қадам: Сымдарды жалғау
Залда 3 түйреуіш бар: VCC, GND және шығыс. Жер GND -ге өтеді. VCC 3.3V дейін және бұл мысалдағы шығу GPIO 26 -ға өтеді. 10K Ом резисторы шығуды жоғары тартады.
Мен бейджиктерді оқу үшін таңқурай pi мен arduino nano арасындағы USB арқылы сериялық байланысты қолданамын. Бұл суретте жоқ, бірақ қажет!
D9 RST (қалпына келтіру) D10 SDA (SS) (SPI SS) D11 MOSI (SPI MOSI) D12 MISO (SPI MISO) D13 SCK (SPI SCK) GND GND3.3V 3.3V
3 -қадам: мәліметтер базасының схемасы
Менің дерекқорымда 3 кесте бар:
- Пайдаланушылар
- Сеанс
- Деректер
Әрбір пайдаланушы деректерді бөлек бақылай алады. Сеанста деректер бар, сондықтан сіз сеанс жүріп жатқан кезде белгілі бір нүктелерге қаншалықты жылдам жеткеніңізді білесіз.
4 -қадам: Arduino Nano конфигурациялаңыз
Алдымен компьютерге USB кабелі арқылы arduino нано салыңыз. Жүктеу үшін дұрыс arduino мен дұрыс USB портын таңдаңыз.
Содан кейін біз RFID белгісін оқу үшін пайдаланатын кітапхананы қосуымыз керек. 'Rfid-master' жүктеп алып, нобайға өтіңіз, кітапхананы қосыңыз, содан кейін. ZIP кітапханасын қосыңыз. Жаңа жүктелген zip -ге өтіңіз және оны пайдаланыңыз, ол автоматты түрде орнатылады. Осыдан кейін менің өңделген 'RFID_Read.ino' жүктелгеннен кейін ctrl + O пернелер тіркесімін бір уақытта қосып, осы файлға өтіп, оны ашыңыз.
Егер сіз жоғарыда аталған барлық әрекеттерді орындасаңыз, сіз файлды тексере аласыз. Егер ол бірінші рет қате жіберсе, оны қайталап көріңіз. Егер бұл сәтті болса, оны arduino -ға жүктей аласыз. Ctrl+shift+m пернелер тіркесімін қолдана отырып, сериялық мониторды ашуға болады. Сіз бұл жерде файлды тексере аласыз. Егер тест сәтті болса, сіз arduino -ны ажыратып, оны таңқурай pi -дің USB портына қосуға болады.
5 -қадам: Raspberry Pi конфигурациясын жасаңыз
Бұл қадамдарда біз таңқурай пиін дерекқор мен веб -сервер ретінде орнатамыз.
Бұл мысалда мен «мен» пайдаланушыны қолданамын, егер сіз басқа пайдаланушыны қолдансаңыз, сізге конфигурациялық файлдарды өзгерту қажет, осыны есіңізде сақтаңыз!
1. Қолданушы жасаңыз:
Айнымалыны құру
pieter@rpipieter: ~ $ user = me
Қолданушыға sudo жасау және барлық топтарға қосу
топтар = $ (id pi -Gn | sed 's /^pi // g' | sed 's / /, /g') sudo useradd $ {user} -s /bin /bash -m -G $ {groups} sudo sed «s/^pi/$ {user}/» /etc/sudoers.d/010_pi-nopasswd | sudo tee «/etc/sudoers.d/011_${user}-nopasswd» sudo passwd $ {user}
Есептік жазбаға кіріңіз
pieter@rpipieter: ~ $ su - мен
Құпия сөз: me@my-rpi: ~ $
2. WiFi желісіне қосылыңыз
me@rpipieter: ~ $ sudo -iroot@rpipieter: ~# echo 'Құпия сөз' | wpa_passphrase 'Networkname' >> /etc/wpa_supplicant/wpa_supplicant.conf root@rpipieter: ~# wpa_cli -i wlan0 түбірді@rpipieter қайта конфигурациялау: ~# шығу
Интернет жұмыс істеп тұрғанын тексеріңіз
root@rpipieter: ~# wget google.com
3. Таңқурай пиін жаңарту және қажетті пакеттерді орнату
me@my-rpi: ~ $ sudo apt жаңарту
me@my-rpi: ~ $ sudo apt жаңарту мені@rpipieter: ~ $ sudo apt install -y python3-venv python3-pip python3-mysqldb mysql-server uwsgi nginx uwsgi-plugin-python3 gitme@my-rpi: ~ $ sudo қайта жүктеу -с
4. Менің github репозиторийімді клондау
мен@rpipieter: ~ $ git клоны
me@rpipieter: ~ $ cd коньки-о-метр/скейтометр/
5. Виртуалды ортаны құру
Бұл командаларды орындаған кезде көптеген пакеттер орнатылады, бұл біраз уақыт алуы мүмкін.
me@rpipieter: ~/skate-o-meter/skateometer $ python3 -m pip install-pip setuptools дөңгелегінің виртуалды жүйесін жаңарту
me@rpipieter: ~/skate-o-meter/skateometer $ python3 -m venv --system-site-packages env (env) me@rpipieter: ~/skate-o-meter/skateometer $ python -m pip mysql орнатыңыз қосқыш-python argon2-cffi Flask Flask-HTTPAuth Flask-MySQL mysql-Connector-python passlib pyserial pyjwt RPi. GPIO
6. Мәліметтер қорын және қолданушыларды құру
Біз mysql мәліметтер базасын қолданамыз
pieter@rpipieter: ~/skate-o-meter/skateometer $ cd
pieter@rpipieter: ~ $ sudo mysql
Содан кейін оны көшіріп, қойыңыз
GRANT SELECT, INSERT, UPDATE, DELETE ON *. * TO 'som-data'@'localhost'; 'som-data'@'localhost' = PASSWORD ('sensor9810') ПАРОЛЫН ОРНАТУ; mysql.user ішінен * таңдаңыз; 'Som9-admin'@'localhost' пайдаланушысын 'admin9810' анықтайды; 'Som9-web'@'localhost' пайдаланушысын 'web9810' анықтайды; CREATE USER 'som-sensor'@'localhost' IDENTIFIED 'sens9810'; DATABASE CREATE skateometerdb; Skateometerdb бойынша барлық артықшылықтарды беріңіз.* To 'som-admin'@'localhost' ГРАНТ ОПЦЕНТІМЕН; GRATE SELECT, INSERT, UPDATE, DELETE ON skateometerdb.* TO 'som-web'@'localhost'; GRANT SELECT, INSERT, UPDATE, DELETE ON skateometerdb.* TO 'som-sensor'@'localhost'; АРТЫҚШЫЛЫҚТАР;
Әрі қарай, біз қарым -қатынастары бар дерекқордың схемасын қосамыз.
me@rpipieter: ~/skate-o-meter/skateometer $ sudo mysql <sql/skateometerdb_dump-withoutdata.sql
7. Қызметтер
Мұнда біз конфигурациялық файлдарды көшіреміз және қызметтерді қосу үшін қалтаны қайта жүктейміз
me@rpipieter: ~/skate-o-meter/skateometer $ sudo cp conf/som-*. service/etc/systemd/systemme@rpipieter: ~/skate-o-meter/skateometer $ sudo systemctl демонды қайта жүктеу
Енді біз таңқурай пиін бастаған сайын олар автоматты түрде іске қосылатындай етіп қызметтерді қосамыз.
me@rpipieter: ~/skate-o-meter/skateometer $ sudo systemctl сом-колбаны қосады.
Symetlink /etc/systemd/system/multi-user.target.wants/som-flask.service → /etc/systemd/system/som-flask.service құрылды. me@rpipieter: ~/skate-o-meter/skateometer $ sudo systemctl som-data.service мүмкіндік береді symlink /etc/systemd/system/multi-user.target.wants/som-data.service →/etc/systemd/ system/som-data.service. me@rpipieter: ~/skate-o-meter/skateometer $ sudo systemctl start som-data.service маған@rpipieter: ~/skate-o-meter/skateometer $ sudo systemctl start som-flask.service
8. NGINX
me@rpipieter: ~/skate-o-meter/skateometer $ sudo cp conf/nginx/etc/nginx/sites-available/skateometerme@rpipieter: ~/skate-o-meter/skateometer $ sudo rm/etc/nginx/sites -inabled/default me@rpipieter: ~/skate-o-meter/skateometer $ sudo ln -s/etc/nginx/sites-available/skateometer/etc/nginx/sites-enabled/skateometerme@rpipieter: ~/skate-o -meter/skateometer $ sudo systemctl nginx.service қайта іске қосыңыз
6 -қадам: тұрғын үй + зал
Тұрғын үй
Алдымен мен скейтбордта СКД, потенциометр мен дыбыстық сигнал үшін тесік жасадым. Осыдан кейін мен СКД, потенциометр мен дыбыстық сигналды ПХД -де дәнекерледім. Содан кейін мен 40 түйреуіші бар RPI үшін өтпелі сымды қолдандым. Мен бір жағын таңқурайға салып, екінші жартысын кесемін, бұл жағын біз дәнекерлеуге қолданамыз. 'Rpi-cable' файлында қай сымды қай жерге дәнекерлеу керектігін көруге болады.
Корпус үшін мен ескі қисық қорапты қолдандым, мен оған Ethernetcable және қорапқа секіргіш сым кіруі үшін тесіктер қойдым.
Мен скейтбордтың астындағы қорапты бұрандамен ұстаймын. Қораптың ішінде мен бәрін реттедім, сондықтан ол өз орнында болу үшін бұрандалар мен резеңкелерді қолданды. Бұл заттарды алуды жеңілдетеді.
RFID қораптың жарығына орнатылған және оны сыдырмалармен ұстайды, мен кездестірген мәселе - ол кейде сканерлемеді, бірақ кейбір өзгерістермен мен оны жұмыс істедім.
Холл әсерінің сенсоры
Алдымен дөңгелегіме тесік жасап, оған магнит қойдым.
Залда 3 өтпелі сым қолданылады (еркектен еркекке дейін), мен оларды ПХД -да, залдың өзінде де дәнекерледім. Мен холл сенсорын жүк көлігіме бірнеше сыдырмалармен орнаттым. Магнит пен сенсордың жақсы тураланғанына көз жеткізіңіз, әйтпесе ол әрқашан импульсті тіркемейді.
7 -қадам: Қолданбаны іске қосу
1 -қадам:
Таңқурай мен қуат банкін қосыңыз.
2 -қадам:
Бағдарлама басталғанша күтіңіз, мұны СКД арқылы орындауға болады. Сіз IP-адресті көресіз, осы IP-адреске өтіңіз.
3 -қадам:
Пайдаланушы жасаңыз, мұны тіркеу арқылы жасауға болады. СКД -де танымбелгінің UID -ін көру үшін бейджді сканерлеу қажет.
4 -қадам:
Егер сіз пайдаланушы жасасаңыз, онда сіздің бейджіңізді сканерлеуге болады және сеанс басталады.
5 -қадам:
Круизге барыңыз
6 -қадам:
Сеансты тоқтату үшін бейджді қайтадан сканерлеңіз
7 -қадам:
Сеансты және сеанс туралы егжей -тегжейлі деректерді көру үшін жүйеге кіріңіз
Ұсынылған:
DIY 37 Leds Arduino рулетка ойыны: 3 қадам (суреттермен)
DIY 37 Leds Arduino рулетка ойыны: Рулетка - бұл кішкентай дөңгелекті білдіретін француз сөзімен аталған казино ойыны
Ковидтік қауіпсіздік дулыға 1 -бөлім: Tinkercad схемаларына кіріспе: 20 қадам (суреттермен)
Covid Safety дулыға 1 -бөлім: Tinkercad схемаларына кіріспе !: Сәлеметсіз бе, дос! Бұл екі бөлімнен біз Tinkercad схемаларын қалай қолдануға болатынын білеміз - бұл схемалардың қалай жұмыс істейтінін білуге арналған көңілді, қуатты және білім беру құралы! Оқудың ең жақсы әдістерінің бірі - бұл жасау. Сонымен, біз алдымен өзіміздің жеке жобамызды жасаймыз: th
Arduino басқарылатын робот - екі қадам: 13 қадам (суреттермен)
Arduino басқарылатын роботты екіжақты: Мен әрқашан роботтарға қызығатынмын, әсіресе адамның іс -әрекетіне еліктеуге тырысатын. Бұл қызығушылық мені жаяу жүруге және жүгіруге еліктей алатын екіжақты робот құрастыруға және дамытуға талпындырды. Бұл нұсқаулықта мен сізге көрсетемін
Arduino Uno көмегімен акустикалық левитация Қадамдық қадам (8 қадам): 8 қадам
Акустикалық левитация Arduino Uno Қадамдық қадаммен (8-қадам): ультрадыбыстық дыбыс түрлендіргіштері L298N Dc әйелдер адаптерінің ток көзі еркек тоқ сымымен Arduino UNOBreadboard Бұл қалай жұмыс істейді: Біріншіден, сіз кодты Arduino Uno-ға жүктейсіз (бұл сандық жүйемен жабдықталған микроконтроллер) және кодты түрлендіру үшін аналогтық порттар (C ++)
Болт - DIY сымсыз зарядтау түнгі сағаты (6 қадам): 6 қадам (суреттермен)
Болт - DIY сымсыз зарядтау түнгі сағаты (6 қадам): Индуктивті зарядтау (сымсыз зарядтау немесе сымсыз зарядтау деп те аталады) - сымсыз қуат беру түрі. Ол портативті құрылғыларды электрмен қамтамасыз ету үшін электромагниттік индукцияны қолданады. Ең көп таралған қолданба - Qi сымсыз зарядтау