Мазмұны:
- 1 -қадам: IR қабылдағыш схемасын құрыңыз
- 2 -қадам: Серво, баған және телефон ұстағышын қосыңыз
- 3 -қадам: СКД дисплейін сервистік оқу үшін қосыңыз
- 4 -қадам: Arduino бағдарламалауға қосылған код пен кітапханаларды қолданыңыз
- 5 -қадам: Қажетті қуат көзін Arduino -ға қосыңыз және тауды айналдыру үшін қашықтан басқару пультін қолданыңыз
- 6 -қадам: Мұны бастапқы кодты түсіндіру үшін оқыңыз
- 7 -қадам: Анықтама алу үшін менің Youtube бейнеңізді қараңыз
Бейне: Айналмалы телефон қондырғысы: 7 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:26
Бұл нұсқаулық Оңтүстік Флорида университетінің Makecourse жобасының талаптарын орындау үшін жасалған (www.makecourse.com).
Телефонның мазмұнын ұстамай -ақ портреттік немесе альбомдық бағытта қарау үшін айналмалы телефон қондырғысын жасағыңыз келе ме? Содан кейін, басқаға қарамаңыз.
Бұл жобаны құру үшін сізге қажет:
- Arduino микроконтроллері мен IDE
- кодты жүктеуге арналған USB кабелі
- Нан тақтасы
- Jumper Wires
- СКД дисплей
- Серво
- Сервоға бекітілетін баған
- IR қашықтан басқару құралы
- IR қабылдағыш
- 10 кОм резистор
- Kenu Airframe+ телефон клипі (немесе телефонды орнында ұстайтын нәрсе)
- портативті қуатқа арналған 9 В батарея немесе USB арқылы жұмыс істейтін Arduino
1 -қадам: IR қабылдағыш схемасын құрыңыз
Алдымен, Arduino -дан GND және +5V -ге өтіңіз. Содан кейін 10к Ом резисторды +5В қуат рельсінен ИҚ қабылдағыш фототранзисторының шығыс түйреуішіне өткізіңіз. Әрі қарай, Arduino 11 -ші түйреуішке IR қабылдағышының шығыс штырынан қосылу үшін өтпелі сымды қолданыңыз. Содан кейін, жерге тұйықталу және +5В инфрақызыл қабылдағыштың тиісті түйреуіштерін жіберу үшін екі өтпелі сымды қолданыңыз. Жоғарыдағы схемада суреттелген RC сүзгісі қажет емес. Ақырында, мен бұл қадамда көрсетілген схеманы жасамадым және оның көзі суретте бар.
2 -қадам: Серво, баған және телефон ұстағышын қосыңыз
Енді екі секіргіш сымды қолданып жерден және серуеннің қоңыр және қызыл сымдарына +5В нан тақтасының рельстерінен секіріңіз. Содан кейін, Arduino -дегі түйреуіш 9 -ды серво қызғылт сары сымына бекіту үшін бір өтпелі сымды қолданыңыз.
Содан кейін, екінші суретте көрсетілгендей серво басына баған бекітіңіз.
Ақырында, үшінші суретте көрсетілгендей, Kenu Airframe+сияқты телефонды бағанға ұстайтын нәрсені бекітіңіз.
3 -қадам: СКД дисплейін сервистік оқу үшін қосыңыз
Сыртқы дисплейдегі тиісті түйреуіштерге арналған тақтаның электр рельстерінен жерге +5 В секіріңіз. Сондай -ақ, SDA мен SCL түйреуіштерін СКД -ден Ardiuno -ға секіріңіз. Arduino SDA және SCL түйреуіштерін Arduino тақтасының артқы жағынан анықтауға болады, олар AREF пен Ground 13 -ші нүктенің үстіндегі екі түйреуіш. SCL түйреуіші - ең биік. Бұл СКД дисплейіне ағымдағы серво жағдайын оқуға мүмкіндік береді.
4 -қадам: Arduino бағдарламалауға қосылған код пен кітапханаларды қолданыңыз
RotatingMountCode.zip файлын жүктеңіз. Arduino IDE орнатыңыз және жүктелген файлды Documents / Arduino ішіне ашыңыз. Менің эскиздер мен кітапханалар қалтасының мазмұнын нобайлар мен кітапханалар қалтасына көшіргеніңізге көз жеткізіңіз. ServoIRandLCD эскизін ашып, оны Arduino -ға жүктеңіз.
Кодты түсіндіру үшін келесі қадамдарды қараңыз.
5 -қадам: Қажетті қуат көзін Arduino -ға қосыңыз және тауды айналдыру үшін қашықтан басқару пультін қолданыңыз
Arduino -ны компьютерге қосулы күйінде қалдырыңыз немесе оны компьютерден ажыратыңыз және Arduino -ға тұрақты ток беру үшін 9В батареяны қолданыңыз. Ақырында, серводы басқару үшін арзан инфрақызыл қашықтан басқару пультін қолданыңыз, сондықтан телефон қондырғысының бағыты!
Қашықтан басқару пультіндегі 1 нөмірі серво позициясын 0 градусқа, 2 санын 90 градусқа, 3 санын 180 градусқа орнатуы керек. Бұл ретте қашықтан басқару пультіндегі + және - түймелері серво бұрышын сәйкесінше 1 градусқа ұлғайту немесе азайту керек.
Ескерту: Егер сіз мұнда суретте көрсетілгеннен басқа IR қашықтан басқару пультін қолдансаңыз, әр түрлі түймелерге сәйкес келетін ИҚ кодтары өзгеруі мүмкін. Олай болса, сол IR кодтарын пайдалану үшін ServoIRandLCD нобайын өзгертіңіз.
6 -қадам: Мұны бастапқы кодты түсіндіру үшін оқыңыз
Arduino эскизінің бастапқы кодын төменде немесе бұрын тіркелген.zip файлында табуға болады. Қажетті кітапханаларды 4 -қадамда бұрын тіркелген.zip файлынан ғана табуға болады.
Кодтың бірінші әрекеті эскиздегі барлық функцияларды іске қосу үшін қажетті кітапханаларды қамтиды. Әрі қарай, ол Arduino-дағы 9-түйрікті PWM қолдайтын сигналдық түйреуіш деп хабарлайды. Ол сонымен қатар Arduino -да ИҚ қабылдағышы үшін пайдаланылатын түйреуішті жасайды. Әрі қарай, ол серво күйін градуспен қадағалау үшін пайдаланылатын бүтін айнымалы мәнді жариялайды және бастапқыда оны 0 градусқа орнатады. Содан кейін ол IRrecv объектісі, сервопривод және myDisplay СКД объектісі үшін қажетті нысандарды дайындайды (ол бір жолда конфигурацияланған), сондықтан бұл объектілерді кейінірек пайдалануға болады.
Әрі қарай, орнату функциясында сериялық порт 9600 бит/сек жылдамдықпен басталады, осылайша сериялық мониторды қажет болған жағдайда серво жағдайын қадағалау үшін пайдалануға болады. Ол сонымен қатар myservo объектісін 9 -пинге бекітеді, ИҚ қабылдағышты іске қосады және СКД дисплейін инициализациялайды.
Негізгі цикл функциясында, оның денесі ИҚ қабылдағыштан ИҚ жіберілген жағдайда ғана орындалады, ИҚ қабылдағышы декодтау (& нәтижелер) функциясын қолдана отырып ИҚ қашықтан басқару пультінен жіберілген сигналдың кодын шешеді, содан кейін егер операторлар нені анықтаса алынған ИҚ мәніне байланысты серводы орнатыңыз. Жазу функциясы сервоприводты тиісті дәрежеге қою үшін, ал оқу функциясы серваның ағымдағы бұрышын табу және қажет болған жағдайда оны ұлғайту немесе азайту үшін қолданылады.
Ақырында, серваның ағымдағы бұрышы myservo.read () функциясын қолдана отырып, сериялық мониторға да, СКД дисплейіне де жіберіледі, ал негізгі ілмектер шексіз қайталанады.
Бастапқы код:
#қосу // Arduino стандартты кітапханасы #қосу // ИҚ кітапханасы
#depine servopin 9 // бұл 9 түйреуішті серво басқару сымы үшін қолданылатын түйреуіш ретінде анықтайды (қызғылт сары)
int RECV_PIN = 11; // IR фото-транзисторы шығуды 11-ші пинге жібереді
int currentAngle = 0; // currentAngle бүтін айнымалысын жариялап, 0 мәніне қойыңыз
IRrecv irrecv (RECV_PIN); // decode_results нәтижелерінің инфрақызыл қабылдағыш объектісін құру; // decode_results нысанын жасаңыз. Бұл объект IR қабылдағыштан бөлек.
Сервистік қызмет; // 'myservo' деп аталатын Servo нысанын құрыңыз // максимум сегіз серво объектісін жасауға болады
LiquidCrystal_I2C myDisplay (0x27, 16, 2); // LCD объектісін жасаңыз және конфигурацияны орнатыңыз
жарамсыз орнату () {
Serial.begin (9600); // сериялық портты бастау
myservo.attach (сервопин); // сервоприводқа түйреуішті 9 түйреуішке бекітеді
irrecv.enableIRIn (); // ресиверді іске қосыңыз
myDisplay.init (); // СКД инициализациялау
myDisplay.backlight (); // СКД артқы жарығын қосыңыз
}
void loop () {
if (irrecv.decode (& нәтижелер)) // егер берілсе …
{Serial.print («IR мәні алынды:»);
Serial.println (нәтижелер.мән); // дисплей мәні алынды
// алынған командаларды түсіндіріңіз… if (results.value == 16724175) // 1 {// left myservo.write (0); }
if (results.value == 16718055) // 2 {// middle myservo.write (90); }
if (results.value == 16743045) // 3 {// right myservo.write (180); }
if (results.value == 16754775) //+ {// increment currentAngle = myservo.read (); myservo.write (currentAngle + 1); } if (results.value == 16769055) //- {// азайту currentAngle = myservo.read (); myservo.write (currentAngle - 1); }}
irrecv. resume (); // Келесі мәнді алыңыз
// Сериялық мониторды басып шығару Serial.print («Ағымдағы серво позициясы:»);
Serial.println (myservo.read ()); // бұл серво позициясын шығарады және оны сериялық мониторға жібереді
// СКД басып шығару myDisplay.clear ();
myDisplay.print («Серво дәрежесі:»);
myDisplay.print (myservo.read ());
кешіктіру (200); // сервоприводты тұрақты ету үшін кідіріс
}
7 -қадам: Анықтама алу үшін менің Youtube бейнеңізді қараңыз
Егер сізде сұрақтар туындаса, жобаны толық талқылайтын және көрсететін менің YouTube тізіміне кірмеген бейнеролигімді қараңыз!
Ұсынылған:
Kenwood бас қондырғысы үшін 2018 10 -шы Honda Civic USB модулі: 5 қадам
Kenwood бас қондырғысына арналған 2018 жылғы 10 -шы Honda Civic USB модулі: Бұл нұсқада мен Civic -тің USB портын Amazon -дан сатып алғанды қабылдауға өзгерттім, осылайша мен оны Kenwood сатылымнан кейінгі бас қондырғысына (DMX9706S) қосуға болады. Ол бір тесікте орналасқан және оны аяқтауға 30 минут немесе одан да көп уақыт кетуі мүмкін
Бөлмедегі автоматты жарық және желдеткішті басқару қондырғысы екі бағытты келуші: 3 қадам
Бөлменің автоматты жарықтандырғышы мен екі бағытты келуші есептегіші бар желдеткіш: Біз көбінесе стадионнан, сауда орталығынан, кеңселерден, сынып бөлмелерінен келушілердің есептегіштерін көреміз. Олардың ішінде адамдарды санап, жарықты қалай қосады немесе өшіреді? Бүгін біз мұнда келушілердің екі бағытты есептегіші бар автоматты жарық реттегіш жобасы бар
Картон зарядтау станциясының қондырғысы және ұйымдастырушысы: 5 қадам
Картон зарядтау станциясының қондырғысы және реттегіші: Бұл зарядтау станциясы бірнеше құрылғыны зарядтау кезінде сымдарды жасырады, бұл сіздің құрылғыңыздың дисплей экранын көруге мүмкіндік береді. Бұл бөлмені нашар және тәртіпсіз етіп көрсетеді, себебі бұл шиеленіскен сымдардың бәрі жақсы емес. Ескерту: кез келген уақытта
Raspberry Pi айналмалы телефон қорабы: 10 қадам (суреттермен)
Raspberry Pi айналмалы телефон корпусы: Мен Raspberry Pi үшін қызықты жоба іздедім және бұл жағдай қызықты болатынын шештім. Мен ескі айналмалы телефонды тауып, оны Pi -ге арналған қапқа айналдырдым. Маған шамамен $ 40 тұратын бөлшектер қажет болды, мүмкін сіз мұны арзанға жасай аласыз. Бүкіл жоба алды
Arduino басқарылатын телефон қондырғысы шамдармен: 14 қадам (суреттермен)
Arduino басқарылатын телефондық қондырғы шамдар: Идея жеткілікті қарапайым болды; телефон зарядталып жатқан кезде ғана шамды қосатын телефон зарядтау қондырғысын жасаңыз. Алайда, әдетте, бастапқыда қарапайым болып көрінетін нәрселер олардың орындалуында күрделене түсуі мүмкін. Бұл т