Мазмұны:

Балалардың ұйқыға арналған жаттығу сағаты: 6 қадам (суреттермен)
Балалардың ұйқыға арналған жаттығу сағаты: 6 қадам (суреттермен)

Бейне: Балалардың ұйқыға арналған жаттығу сағаты: 6 қадам (суреттермен)

Бейне: Балалардың ұйқыға арналған жаттығу сағаты: 6 қадам (суреттермен)
Бейне: Баланың миын дамытуға арналған ойындар. Баламен ойнау. Развитие детей. Игры для развития мозга. 2024, Шілде
Anonim
Балалардың ұйықтауға арналған жаттығу сағаты
Балалардың ұйықтауға арналған жаттығу сағаты
Балалардың ұйықтауға арналған жаттығу сағаты
Балалардың ұйықтауға арналған жаттығу сағаты
Балалардың ұйықтауға арналған жаттығу сағаты
Балалардың ұйықтауға арналған жаттығу сағаты
Балалардың ұйықтауға арналған жаттығу сағаты
Балалардың ұйықтауға арналған жаттығу сағаты

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

Міне, мен бұл жобада өзіме керек нәрсені ойладым. Ол үш түрлі түсті көрсету үшін кейбір RGB светодиодтарын (көбінесе менде басқа жобадан елу шақтысы бар болғандықтан) қолданады. Қызыл түс ұйықтауды білдіреді, оянуға әлі ерте. Сары олардың орнында тұрып, өз бөлмесінде тыныш ойнай алатынын білдіреді. Жасыл, әрине, сіз тұра аласыз. Мен сондай -ақ уақытты реттегім келді, өйткені мен кейбір күндері ұзақ ұйықтағым келеді (демалыс/мереке және демалыс күндері және т.б.).

Жабдықтар

Raspberry Pi Zero W

Екі RGB жарық диоды

Алты 220 Ом резисторы

Бұл жерден табылған файлдар (.stl, python, html)

Қажет болса, әр түрлі кішкентай бұрандалар, сымдар және кішкене бөлшектер.

1 -қадам: 3D басып шығару

3D басып шығару
3D басып шығару
3D басып шығару
3D басып шығару
3D басып шығару
3D басып шығару

Менің қызым шын мәнінде бірмүйізділерге ұқсайды, сондықтан бұл жоба үшін мен Thiveiverse.com сайтынан табуға болатын және Creative Commons коммерциялық емес лицензиясы бойынша қолданылатын Apachcreation Unicorn Trophy ремиксі болып табылатын Riven02's Unicorn Nightlight ремиксін жасадым. Мен таңқурай pi нөлге арналған қуат сымына сәйкес келетін бірмүйізді негізді өзгерттім. Менде AMZ3D Red PLA болды, сондықтан бір мүйізді негізі мен басы қызыл болады. Мен мүйіз үшін мөлдір/мөлдір ПЛА қолдандым. Мен қолданған.stl файлдары мен параметрлері:

Unicorn.stl

  • Қабат биіктігі: 0,02
  • Қабырғаның қалыңдығы:.8
  • Қабырға сызығының саны: 2
  • Толтыру: 15%
  • Толтыру үлгісі: тор

UnicornBase.stl

  • Қабат биіктігі: 0,02
  • Қабырғаның қалыңдығы:.8
  • Қабырға сызығының саны: 2
  • Толтыру: 15%
  • Толтыру үлгісі: тор

Horn.stl

  • Қабат биіктігі: 0,02
  • Қабырғаның қалыңдығы: 0,8
  • Қабырға сызығының саны: 3
  • Толтыру: 0

2 -қадам: Цикл

Цикл
Цикл
Цикл
Цикл
Цикл
Цикл

Схема өте оңай. Мен RGB әр түрлі түстерін қосу/өшіруді басқару үшін алты түрлі GPIO түйреуішін таңдадым. Бұл түйреуіштер мен сәйкес жарықдиодты түстер:

  • 11 RGB 1 ҚЫЗЫЛға бекітіңіз
  • 13 RGB 1 GREEN -ге бекітіңіз
  • 15 RGB 1 BLUE -ге бекітіңіз
  • 16 RGB 2 RED -ге бекітіңіз
  • 18 RGB 2 GREEN -ге бекітіңіз
  • 36 RGB 2 BLUE -ге бекітіңіз
  • Жерге 39 бекітіңіз

Әр түйреуіш резисторға 220 Ом ток шектеу резисторы арқылы қосылады (әрине жерді қоспағанда). Мен резисторды желіммен дәнекерледім және оны қысқыш құбырмен жауып қойдым.

3 -қадам: Raspberry Pi дайындау

Мен веб -интерфейс арқылы ұйықтайтын жаттықтырушы сағатының уақытын белгілей алғым келді. Сондықтан маған Raspberry Pi -де Apache және PHP серверін орнату қажет болды. Raspberry Pi -ге жаңа бағдарламалық жасақтаманы орнатқанда әрқашан істеу керек нәрсе - бұл теру арқылы оның жаңартылғанына көз жеткізу.

sudo apt-get жаңартуы

Осыдан кейін біз шынымен бизнеске кірісе аламыз. Біз мұны Apache2 орнату арқылы жасаймыз:

sudo apt -get apache2 -y орнатыңыз

бұл Apache веб -серверін орнатуы керек. Сіз мұны Raspberry pi браузерінің көмегімен тексере аласыз және келесіге өтіңіз:

localhost/

немесе басқа компьютердің шолғышынан Raspberry Pi -дің IP мекенжайына өту арқылы. IP адресінің түрін табу үшін:

хост атауы -I.

Бұл әрекетті орындау әдепкі Apache Web Server бетіне әкеледі. Мұны/var/www/html/каталогында орналасқан index.html ауыстыру арқылы өзгертуге болады. Оны менің index.html файлымен алмастыруға болады.

Содан кейін біз PHP файлдарын іске қосу үшін Apache веб -серверін орнатамыз. Теруден бастаңыз:

sudo apt-get php libapache2-mod-php -y орнатыңыз

Сіз енді sleepset.php файлын/var/www/html ішіне index.html файлымен орналастыра аласыз.

Бұл желіге өз бетіңізбен өту үшін сізге Raspberry Pi -ді тұрақты IP -мекен -жаймен орнату қажет болады (немесе сіз желі жаңартылған кезде жаңа IP -адресті анықтап көруге болады). Бұл жұмыс істеу үшін сізге бірнеше файлды өңдеу қажет. /Etc/dhcpcd.conf файлын келесілермен өңдеу қажет:

wlan0 интерфейсі

статикалық ip_adress = 192.168.1.статикалық маршрутизаторлар = 192.168.1.1 статикалық domain_name_servers = 192.168.1.1

Желі туралы ақпаратты ауыстырыңыз. Енді сізге қажет жалғыз нәрсе - қайта жүктеу.

sudo қайта жүктеу

Google дискісінің сілтемесінен файлдарды орналастыру келесідей болуы керек:

  • index.html және sleepset.php файлдарын/var/www/html каталогына орналастыру керек
  • sleepset.txt және sleeptrainer1_1.py файлдарын/home/pi/pythoncode каталогына орналастыру керек (кеңес: бұл каталогты жасау керек)

Бұл файлдарды дұрыс каталогқа орналастырғаннан кейін rc.local файлын іске қосу кезінде sleeptrainer1_1.py бағдарламасын іске қосу үшін өзгерту қажет. Rc.local файлын өзгерту үшін сізге түбірлік деңгейдегі қатынас қажет болады, сондықтан теріңіз:

sudo nano /etc/rc.local

Редакторда төмен жылжыңыз және 0 жолынан шықпас бұрын мынаны қосыңыз:

python /home/pi/pythoncode/sleeptrainer1_1.py &

Бұл жерде екі нәрсені есте сақтау қажет:

  1. LINUX sleeptraner1_1.py файлы rc.local каталогында орналасқан деп ойламайтындай абсолютті жолды пайдаланыңыз.
  2. Соңында амперсанды (&) қоюды ұмытпаңыз. бұл LINUX -ке бұл файлды фонда іске қосуға және жүктеуді жалғастыруға мүмкіндік береді.

Енді файлды ctrl-x теру арқылы сақтаңыз, содан кейін сақтау сұралған кезде y, содан кейін ENTER.

Содан кейін sudo reboot теріңіз.

Мұнда бір жерде Rawberry Pi құпия сөзін passwd пәрмені арқылы өзгерту керектігін айту керек. Егер сіз мұны әлі жасамаған болсаңыз, қазір жақсы уақыт болар еді.

4 -қадам: Кодекс

Төменде sleeptrainer1_1.py файлының коды берілген. Мен уақытты sleepset.txt файлында оқылғандармен салыстыру үшін datetime нысанын қолдандым. Мәтіндік файл екі жолдан тұрады, біріншісі - сағат, екіншісі - минут. sleeptrainer1_1.py процессорды байланыстырмау үшін циклді қайталау арасында бір минут ұйықтайды. Жасыл жарық бастапқыда тым жарқын болды, сондықтан мен қызыл түспен сары түске айналдыру үшін импульстің ені модуляциясын қолдандым.

Python коды:

GPO ретінде RPi. GPIO импорттау

datetime импорттық датадан dt импорттық уақыт ретінде GPIO.setmode (GPIO. BOARD) GPIO.setwarnings (Жалған) қызыл1 = 11 қызыл2 = 16 жасыл1 = 13 жасыл2 = 18 көк1 = 15 көк2 = 36 GPIO. орнату (қызыл1, GPIO. OUT) GPIO.setup (red2, GPIO. OUT) GPIO.setup (green1, GPIO. OUT) GPIO.setup (green2, GPIO. OUT) GPIO.setup (blue1, GPIO. OUT) GPIO.setup (blue2, GPIO. OUT) p1 = GPIO. PWM (green1, 100) p2 = GPIO. PWM (green2, 100) def readset (): setfile = open («/home/pi/pythoncode/sleepset.txt», 'r') a = setfile. readline () b = setfile.readline () a = int (a) b = int (b) a, b def жарық диодты қайтару (түс): егер (түс == «қызыл»): GPIO. шығысы (қызыл1, GPIO. ЖОҒАРЫ) GPIO. шығысы (қызыл2, GPIO. HIGH) p1.stop () p2.stop () GPIO. шығысы (көк1, GPIO. ТӨМЕН) GPIO. шығысы (көк2, GPIO. LOW) elif (түс == «көк»): GPIO. шығысы (red1, GPIO. LOW) GPIO. шығысы (red2, GPIO. LOW) p1.stop () p2.stop () GPIO. шығысы (көк1, GPIO. HIGH) GPIO. шығысы (көк2, GPIO. ЖОҒАРЫ) elif (түс == «жасыл»): GPIO.шығу (қызыл1, GPIO. ТӨМЕН) GPIO.шығу (қызыл2, GPIO. ТӨМЕН) p1.бастау (100) p2.бастау (100) GPIO.шығу (көк1), GPIO. LOW) GPIO.output (blue2, GPIO. LOW) elif (color == «yellow»): p1.start (60) p2.start (60) GPIO.output (red1, GPIO. HIGH) GPIO.output (red2, GPIO. HIGH) GPIO.output (blue1, GPIO. LOW) GPIO.output (blue2, GPIO. LOW) elif (color == «off»): GPIO.output (red1, GPIO. LOW) GPIO.output (red2, GPIO. LOW) GPIO.output (blue1, GPIO. LOW) GPIO.output (blue2, GPIO. LOW) p1.stop () p2.stop () True: settime = readset () сағат, минут = реттеу уақыты if минут == 0: егер dt (dt.now (). жыл, dt.now (). ай, dt.now (). күн, сағат-2) <dt.now () <dt (dt.now ().жыл, қазір (қазір) (ай), қазір ()). ай, қазіргі уақытта (). күн, сағат-1, минут+30) <қазіргі уақытта () <dt (қазір).күн, сағат, минут): жарық шамы («сары») elif dt (dt.now (). жыл, dt.now (). ай, dt.now (). күн, сағат, минут) <dt.now () <dt (dt.now (). жыл, dt.now (). ай, dt.now (). күн, сағат+1, минут): жарық шамы («жасыл») басқа: жарық шамы («өшірулі») elif dt (dt.now (). жыл, dt.now (). ай, dt.now (). күн, хо ur-2) <dt.now () <dt (dt.now (). жыл, dt.now (). ай, dt.now (). күн, сағат, минут-30): жарық шамы («қызыл») elif dt (dt.now (). жыл, dt.now (). ай, dt.now (). күн, сағат, минут-30) <dt.now () <dt (dt.now (). жыл, dt.now (). ай, қазір ()).күн, сағат, минут) <dt.now () <dt (nt.now (). жыл, dt.now (). ай, dt.now (). күн, сағат+1, минут): жарық шамы («жасыл») басқа: жарық шамы («өшірулі») уақыт. ұйықтау (60)

Index.html файлы HTML -де жасалған негізгі форма болып табылады. Ол екі мәтін ұясының мазмұнын қабылдайды және пішінді өңдеу үшін sleepset.php файлына жібереді. PHP файлы sleepset.txt файлын жаңартылған деректермен қайта жазады.

5 -қадам: Барлығын біріктіру

Барлығын біріктіру
Барлығын біріктіру
Барлығын біріктіру
Барлығын біріктіру
Барлығын біріктіру
Барлығын біріктіру

Кодтау аяқталғаннан кейін және барлық бөліктер басып шығарылғаннан кейін, құрастыру уақыты келді. Мен бәрін біріктіру үшін келесі қадамдарды орындадым:

  1. Мүйіздің төменгі жағындағы RGB светодиодтарына сәйкес келетін екі кішкене тесік бұрғылаңыз және жарықдиодтарды осы тесіктерге қойыңыз.
  2. Мүйізді бір мүйізді басы бар тесікке салыңыз және оны тығыз болғанша тартыңыз. Мүйізді бекіту үшін ішінен желімді қолданыңыз.
  3. Raspberry Pi Zero W бірмүйізді басының ішкі жағына бекітіңіз. (Мүмкін ыстық желім пистолетін қолдану мүмкін)
  4. Жалғыз мүйізді басын біртұтас негізге бекітіңіз.
  5. Қуат сымын жалғап, бүкіл жинақты қабырғаға бекітіңіз.
  6. Сағатты қосыңыз.

Бұл кезде менде балалардың ұйықтайтын жаттықтырушы сағаты жұмыс істейді.

6 -қадам: Бір жылдан кейін …

Бір жылдан кейін…
Бір жылдан кейін…

Бір жылдан кейін:

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

Болашақта жақсартуды жоспарлап отырған нәрселер:

  • Мүмкін сенсорлар немесе микрофон мен динамиктер сияқты басқа элементтер қосылады.
  • Мүмкін кодты өңдеушімен ойнатқыш ретінде пайдалану үшін динамикпен жұмыс жасаңыз, себебі менің балаларым жақында мектепті бастайды.

Ұсынылған: