Мазмуну:
- Жабдуулар
- 1 -кадам: Raspberry Pi орнотуу
- 2 -кадам: Электрониканы туташтыруу
- 3 -кадам: Маалыматтар базасынын дизайны
- 4 -кадам: Arduino орнотуу
- 5 -кадам: Raspberry Pi Backend
- 6 -кадам: Case
Video: Мени ойгот - акылдуу будильник: 6 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:39
Мени ойгот - бул акылдуу ойготкуч саат, аны акылдуу жарык катары да колдонсо болот.
Камтылган LEDstrip сиздин бөлмөгө кирүүчү табигый жарыкты туурайт. Бул сиздин күндү баштоо үчүн тынч, табигый жол берет.
Ойготкуч саат да окуу үчүн 4*7 сегменттүү дисплей, сүйүктүү музыкаңыз менен ойгонуу үчүн колонкалар, сенсордук баскыч, LED тилкесинин жарыктыгын ыңгайлаштыруу үчүн ldr жана температура сенсору менен жабдылган. сиздин бөлмө температурасы.
Жабдуулар
Мен төлөгөн так баалардын тизмесин бул жерден тапса болот:
Микроконтроллерлер жана компьютерлер:
Raspberry Pi 4I малина pi 4 4GB колдонгон, бирок 3+ малина пи модели жакшы болушу керек
Arduino Uno
Arduino 4*7 сегменттүү дисплейди башкаруу үчүн колдонулат.
Сенсорлор:
- TMP36: температура сенсору
- LDR: Жарыкка көз каранды резистор
Аткаруучулар:
- WS2801: Жекече адрестелүүчү LED тилкеси
- ЖК дисплей: 16*2 ЖК дисплей.
- 4*7 сегменттүү дисплей
IC:
- 74HC595: LCD дисплейи үчүн Shiftregister
- MCP3008: 8-разряддуу аналогдук санариптик которгучка
- Логикалык деңгээлдеги конвертер: raspi менен arduino ортосунда баарлашуу үчүн колдонулат
Башка нерселер:
- Динамиктерди кубаттоо үчүн adafruit MAX9744 күчөткүчү
- Кайсы спикер болбосун, мен Visaton 4Ohm 8Watt толук спикерди колдонгом (Art. No 2240)
- Күчөткүчтү иштетүү үчүн 9 вольттук электр энергиясы
- 5 вольттук электр энергиясы менен камсыз кылуу үчүн лентаны жана башка компоненттерди камсыз кылыңыз. Эстен чыгарбаңыз, ар бир сызык 60мАга чөгүп кетиши мүмкүн, андыктан сиздин электр менен камсыздооңуз жетиштүү.
- Бир нече 220Ohm резисторлор
- Сиздин ишиңизге коюу үчүн кичинекей нан.
Куралдар:
- Бир ширетүүчү темир.
- Ишти жасоо үчүн бир нерсе (мен PLA жана PETG менен 3D принтерди жана жыгач эффектин алуу үчүн винилдик стикерлерди колдондум.)
1 -кадам: Raspberry Pi орнотуу
Малина пи биздин негизги микро контроллерибиз.
Малина пи биздин жергиликтүү веб -серверибизди, маалымат базасын башкарат, лентаны, динамиктерди,…
1 -бөлүк: Raspbian орнотуу
Бул үйрөткүчтү raspbian орнотуу үчүн колдонуңуз:
SSH иштетилгенин текшериңиз
2 -бөлүк: Туташуу
Интернетке туташуу үчүн, малина пи терминалына кирүү керек. Мен паста колдонууну сунуштайм. Терминалдын түрүндө:
wpa_passphrase "YourNetwork" "YourSSID" >> /etc/wpa_supplicant/wpa_supplicant.conf
"YourNetwork" - бул wifi тармагыңыздын аталышы жана "YourSSID" - бул тармактын сырсөзү.
Тармакты кошкондон кийин, Raspberry Pi'ни кайра жүктөөгө аракет кылыңыз.
"Пинг 8.8.8.8" буйругун териңиз, эгер сиз жооп алсаңыз, Google серверлерине пакет жөнөтүлөт, эгер сиздин тармагыңыз орнотулган жана иштеп жатат!
3 -бөлүк: Керектүү программаларды орнотуңуз
Бул долбоорду ишке киргизүү үчүн бизге кошумча программаларды орнотуу керек болот.
Баштоодон мурун, бул 2 буйрукту аткарып, бардыгы жаңыртылганын текшериңиз.
sudo apt update
sudo apt upgrade
Буга бир аз убакыт кетиши мүмкүн.
Apache
sudo apt install apache2 -y
sudo apt php libapache2-mod-php -y орнотуу
MariaDB
sudo apt install mariadb-server mariadb-client -y
sudo apt php -mysql -y орнотуу
PHPMyAdmin
sudo apt install phpmyadmin -y
Python пипи
Кээ бир python китепканаларын иштетүү үчүн пипти орнотушубуз керек
pip3 mysql-connector-python орнотуу
pip3 колбасы-сокетин орнотуу
pip3 колба-корлорду орнотуу
pip3 gevent орнотуу
pip3 gevent-websocket орнотуу
2 -кадам: Электрониканы туташтыруу
Мен 2 схеманы коштум, 1 - бул тестирлөө үчүн нан тактасы. Мен биринчи схеманы курууну жана иштөө үчүн кодду алууга аракет кылууну сунуштайм.
Мен төмөндөгү фритинг файлдарды коштум.
3 -кадам: Маалыматтар базасынын дизайны
Бул мен жасаган маалымат базасынын схемасы. Сөздөр голландиялык тилде жазылган, бирок мен ар бир таблицаны деталдуу түрдө түшүндүрүп берем.
Таблица 1: tblMuziek
Бул абдан жөнөкөй үстөл. Бул ырчынын атын, ырдын атын жана ырдын файл атын сактап калат.
Таблица 2: tblLedstrip
Бул таблица жол тилкесинин учурдагы абалын көзөмөлдөп турат, ал сызыктын абалын сактайт. Бул бизге smartlight функциясы үчүн керек.
3 -таблица: tblSensoren
Бул таблица сенсорлорду биздин ойготкучта көзөмөлдөп турат. Биз сенсордун атын жана MCP3008 каналын сактайбыз
Таблица 4: tblMeting
Бул таблица сенсорлорубуздун баалуулуктарын алардын убактысы менен бирге сактайт.
Таблица 5: tblWekker
Бул таблицада ойготкуч саатыңыздын сырсөзү жана аталышы сакталат (мисалы, уктоочу бөлмө)
Таблица 6: tblAlarm
Бул, балким, эң маанилүү стол. Бул сиз койгон ойготкучту жана сааттын эмне кылышын көзөмөлдөйт (кайсы ырды ойнотуу керек, кайсы ырааттуулукту алып келген, кайсы күндөрдө өчүшү керек,…). 2 датаны көзөмөлдөө абдан маанилүү. Ойготкуч саат канчада өчүшү керек экенин сактоо үчүн 1 дата колдонулат. Экинчиси сигнализациянын акыркы жолу качан басылганын эсепке алат. Жуманын кайсы күнү өчүшү керек экенин билүү үчүн мен 7 цифрадан турган варчарды колдондум. Биринчи цифра дүйшөмбү, экинчи шейшемби,… Эгерде ал 1 болсо, анда өчүшү керек, 0 болсо өчпөшү керек. Мисал: 1111100, бул сигнал дүйшөмбү, шейшемби, шаршемби, бейшемби жана жума күнү өчүшү керек дегенди билдирет.
4 -кадам: Arduino орнотуу
Бул кадам абдан оңой. Кийинки кадамда менин githubка шилтеме болот, анда сиз arduino файлын жүктөп алсаңыз болот.
Программа эмне кылат?
Программа пиадан сериялык маалыматтын келишин күтөт.
Маалыматтар алынары менен ал жип аркылуу талданат жана пи -ге ырастоону кайра жөнөтөт.
Сап мындай болот: '1201' бул 12:01 дегенди билдирет. Мен жалпы анод 7 сегментинин дисплейин колдондум, бул цифралар бийик болушу керек жана A, B, C, D, E, F, G жана DP аларды күйгүзүү үчүн төмөн болушу керек дегенди билдирет. Эгерде сиз жалпы катодду колдонсоңуз, анда HIGHду LOW & LOWду HIGH кылып өзгөртүүңүз керек.
Бул жерде 7 сегменттин дисплейлери кантип иштээри жөнүндө көбүрөөк маалымат бар шилтеме. (китепкананын жардамы менен):
www.instructables.com/id/Using-a-4-digit-7…
Бул жерде китепкананы колдонбостон 7 сегменттин дисплейи жөнүндө шилтеме:
create.arduino.cc/projecthub/SAnwandter1/p…
5 -кадам: Raspberry Pi Backend
Сиз менин кодумду Github аркылуу жүктөп алсаңыз болот. (https://github.com/VanHevelNico/WakeMeUp)
Программаны кантип орнотсо болот:
Арткы бөлүгү колбанын жардамы менен питондо жазылган. Сиз бул программаны (app.py) автоматтык түрдө баштай турган кызматты жасай аласыз.
Сиз алдыңкы кодду биз мурда жүктөп алган apache серверинин html файлына салышыбыз керек. (/var/html)
программа кантип иштейт?
Ойготкуч саат күйгүзүлгөндө, саатыңыздын IP дарегине өтүңүз (ал lcdде көрсөтүлөт)
Браузериңиздеги ошол IP дарегине бараарыңыз менен, сиздин компьютер кардарга туташты деп socket.io өтүнүчүн жөнөтөт. Арткы жагы муну алганда, мен төмөндө түшүндүрө турган бир нече тема башталат.
Жайгашуу
Бул керектүү бардык объектилерди интеллектуалдаштырат.
GetTemp
Бул mcp3008 каналын 0 окуйт жана бинардык маалыматты чыныгы температурага айландырат жана учурдагы датасы жана сааты менен маалымат базасына киргизет.
GetTempGrafiek
Бул температура сенсорунун акыркы 20 маанисин алат жана аны алдыңкы жагына чыгарат.
tijd_sturen
Бул ыкма учурдагы убакытты алат жана мүнөт өзгөргөнүн текшерет. Эгерде ал өзгөргөн болсо, программа жаңы убакытты сериялык байланышты колдонуу менен arduinoго жөнөтөт
checkAlarmen
Бул эң маанилүү ыкма. Ал күйгүзүлгөн бардык ойготкучтарды алат жана бул ойготуулардын бирөөсү 5 мүнөттөн мурун иштеши керекпи же жокпу текшерет (бул ар бир сигнал керек болгондо иштей тургандыгын текшерүү үчүн буфер). Эгерде ойготкуч өчүшү керек болсо, анда биз музыканы, лентаны баштайбыз … Биз күчкө сезгич резисторду үзгүлтүксүз окуйбуз жана мааниси 1000ден төмөн болгондо (fsr басылганын окуйбуз) Биз сигналды бурабыз жана сигналды жаңыртабыз маалымат базасы. Биз акыркы жолу ойготкуч өчкөн күндү учурдагы датага койдук.
statusLight
Бул ыкма LED тилкесинин маанисин чыгарат жана керек болсо лентаны күйгүзөт.
lichtAanpassen
Бул кошумча тилке жана сигналдык чырак карама -каршы келбешине ынануу үчүн.
6 -кадам: Case
Менин файлдарыма шилтемени бул жерден тапса болот:
Корпусту басып чыгаруу үчүн 3d принтер колдондум. Ал 4 бөлүктөн турат:
- Динамик үчүн тешиктери бар алдыңкы табак жана 7 сегменттүү дисплей үчүн кээ бир дубалдар
- Тунук тунук PETGдеги лентанын сырткы шакеги.
- Ортоңку бөлүгү
- ЖК үчүн тешиги жана кабелдер үчүн тешиги бар арткы такта.
Оригиналдуу моделде 7 сегменттүү дисплей үчүн тешик болгон эмес, бирок бул керек, анткени антпесе 7 сегменттүү дисплейдин жарыгы жаркырабайт.
Көрүп турганыңыздай, бардык компоненттерди салгандан кийин, акыркы натыйжаны жакшыраак кылуу үчүн жыгачтан жасалган винил стикерлерди колдондум. Сааттын дисплейи наклейка аркылуу жаркырайт, бул абдан жакшы көрүнүүчү эффектти түзөт.
Сунушталууда:
5 in 1 Arduino Robot - Мени ээрчиңиз - Сапка түшүү - Сумо - Чийүү - Тоскоолдуктардан качуу: 6 кадам
5 in 1 Arduino Robot | Мени ээрчиңиз | Сапка түшүү | Сумо | Чийүү | Тоскоолдуктарды болтурбоо: Бул роботтун башкаруу тактасында ATmega328P микроконтроллери жана L293D мотор драйвери бар. Албетте, бул Arduino Uno тактасынан эч айырмасы жок, бирок моторду айдаш үчүн башка калканчтын кереги жок, анткени ал пайдалуу! Бул секирүүдөн бекер
Мени ээрчиңиз - Raspberry Pi Smart Drone Guide: 9 кадам
Мени ээрчиңиз - Raspberry Pi Smart Drone Guide: Сиз дайыма A -Zден дронду кантип жасоону ойлонуп көрдүңүз беле? Бул үйрөткүч тетиктерди сатып алуудан баштап 450мм квадрокоптерди этап-этабы менен кантип жасоо керектигин көрсөтүп турат, ал сиздин роботту биринчи рейсинде сынап көрүүгө чейин. Мындан тышкары, Raspberry Pi жана PiCamera менен сиз
Мени жарык кыл!: 20 кадам (Сүрөттөр менен)
Light Me Up!: Проектинин командасынын мүчөлөрү (Hyewon Shin, Eunjeong Ko, Junsung Yi) Жарыкка тийип дизайн жасай алсаңызчы? Эгерде сизде кызыктуу анимация менен өзүңүздүн кооз жарык үлгүңүз болсо, анда кандай сезимде болмоксуз?
Мени кыскыла: 4 кадам
Мени кысыңыз: Прототипти орнотуу үчүн мурунку көрсөтмөлөрдү колдонгондон кийин, кийилүүчү кийимиңиз үчүн материалдарды чогулта баштаңыз. Мен баскычтуу куртканы кийүүчү катары колдонууну чечтим, анткени ал мага көптөгөн схемаларды/зымдарды жашырууга жана бара жаткан обонго ылайыкташтырууга мүмкүндүк берди
Кантип Alexa мени менен сүйүүнү айтсын!: 7 кадам
Кантип Alexa мени менен сүйүүнү айтсын!: 1) жеңил.2) арзан баасы.3) AI