![AIY дауыс жинағына негізделген сөйлейтін түс сенсоры: 4 қадам AIY дауыс жинағына негізделген сөйлейтін түс сенсоры: 4 қадам](https://i.howwhatproduce.com/images/003/image-8235-19-j.webp)
Мазмұны:
2025 Автор: John Day | [email protected]. Соңғы өзгертілген: 2025-01-23 14:51
![AIY дауыс жинағына негізделген сөйлейтін түс сенсоры AIY дауыс жинағына негізделген сөйлейтін түс сенсоры](https://i.howwhatproduce.com/images/003/image-8235-20-j.webp)
![AIY дауыс жинағына негізделген сөйлейтін түс сенсоры AIY дауыс жинағына негізделген сөйлейтін түс сенсоры](https://i.howwhatproduce.com/images/003/image-8235-21-j.webp)
![AIY дауыс жинағына негізделген сөйлейтін түс сенсоры AIY дауыс жинағына негізделген сөйлейтін түс сенсоры](https://i.howwhatproduce.com/images/003/image-8235-22-j.webp)
![AIY дауыс жинағына негізделген сөйлейтін түс сенсоры AIY дауыс жинағына негізделген сөйлейтін түс сенсоры](https://i.howwhatproduce.com/images/003/image-8235-23-j.webp)
Жақында Брайль шрифті туралы біраз білген соң, мен көру қабілеті нашар адамдарға нақты пайдасы тиетін Raspberry Pi үшін AIY дауыс жинағын қолдана отырып бірдеңе жасай аламын ба деп ойладым. Төменде сипатталғандай, сіз оның түсініктерін дауыстап оқитын қарапайым түсті анықтау құрылғысының прототипін таба аласыз.
Бұл жүйенің нақтырақ нұсқасы көру қабілеті бұзылған немесе түс соқырлығы бар адамдар үшін пайдалы болуы мүмкін.
Жүйеде AIY дауыстық шляпасы бар Raspberry Pi қолданылады. HAT I2C портына TCS34725 RGB сенсорының үзілуі қосылған. Үзілісте талданатын объектіні жарықтандыратын ашық ақ жарық диодты жарықшам бар. Өлшеу жағдайын оңтайландыру және стандарттау үшін корпусқа орналастырылды.
Үш түсті сенсор сіздің көзіңіздегі түс сенсорлары сияқты шамамен үш жиілік диапазонын өлшейді. Содан кейін жалпы түс әсерін есептеу үшін қызыл, жасыл және көк (RGB) мәндері қолданылады.
Бұл арнайы жүйенің жағымды жағы - бұл AIY дауыстық жиынтықтарының «айт» пәрменін қолдана отырып, сізге түсті ауызша айтады. Қосымша бейнебаянға назар аударыңыз.
Бұл құрылғы AIY дауыстық HAT қосылған I2C сенсорлы құрылғыға мысал ретінде пайдалы болуы мүмкін.
1 -қадам: Қолданылатын материалдар
Raspberry Pi 3. ~ 35 АҚШ доллары немесе еуро
AIY дауыстық жиынтығы, тақырыптары HAT -ге дәнекерленген. ~ 25 АҚШ доллары немесе еуро
Adafruit TCS34725 үзілуі, үстіңгі жағы дәнекерленген. ~ 8 АҚШ доллары немесе еуро
Өтпелі кабельдер.
Нан тақтасы (міндетті емес)
Датчик корпусы үшін:- қолданылған «Dolce Gusto» кофе капсуласы- диаметрі шамамен 37 мм болатын 2 мм Forex (ПВХ көбік пластинасы) шағын дөңгелек бөлігі- корпустың ішкі қабырғаларын жабуға арналған шағылыспайтын қара материал. Мен өздігінен жабысатын қара резеңке көбік қолдандым.
Қосымша: өлшемдерді шақыратын шағын қосқыш
Бірнеше тамшы пластикалық желім мен кескіш пышақ.
2 -қадам: құрастыру және қолдану
![Құрастыру және қолдану Құрастыру және қолдану](https://i.howwhatproduce.com/images/003/image-8235-24-j.webp)
![Құрастыру және қолдану Құрастыру және қолдану](https://i.howwhatproduce.com/images/003/image-8235-25-j.webp)
![Құрастыру және қолдану Құрастыру және қолдану](https://i.howwhatproduce.com/images/003/image-8235-26-j.webp)
AIY дауыстық HAT бар Raspberry Pi AIY нұсқаулығында сипатталғандай орнатылды. Жинау алдында тақырыптар HAT порттарына дәнекерленген. Сенсордың корпусы үшін «Dulce Gusto» кофе капсуласы босатылды, тазаланды және түбінің бір бөлігі пышақпен мұқият алынды. Сіз бұл үшін басқа нәрсені қолдана аласыз, кофе капсуласының өлшемі мен пішіні дұрыс болды. Пластинадан 2 мм Forex дөңгелек бөлігі кесілді, содан кейін үзіліс форекс тақтасында орталыққа орналастырылды, киіз қаламмен белгіленген орын және үзілістегі тақырыпқа арналған слот тиісті орынға кесілді.
Енді Forex бөлігі корпусқа жабыстырылды және сенсордың сынуы Forex тақтасына бекітілген, Velcro жолағының көмегімен. Содан кейін ішкі қабырғалар жарық сіңіретін қара материалмен жабылды, мен өзім жабысатын резеңке көбік қолдандым. Қара картон да жұмыс істеуі керек. Енді, өтпелі кабельдерді қолдана отырып, HAT I2C «3.3V» порты сенсордағы «V in», Ground to Gnd, sda to sda және scl to scl -ге қосылды. Мен екі бөлікті қосу үшін тақтаны қолдандым, бірақ бұл қажет емес.
AIY_TCS34725 питон сценарийін src қалтасына орналастырыңыз және «sec/AIY_TCS34752.py» енгізіп, сценарийді dev терминалынан іске қосыңыз. Сізге алдымен python сценарийін орындалатын етіп жасау қажет болуы мүмкін. Сұралған кезде сенсорлық қондырғыны өлшенетін объектінің үстіне қойыңыз, AIY құрылғысындағы түймені басып, бір -екі секунд күтіңіз.
Содан кейін, өлшенген RGB және ақ мәндерге сүйене отырып, құрылғы алдымен сәйкес реңктің мәнін есептейді, содан кейін түске осы мәнге сүйене отырып бағалайды және AIY дауыстық жүйесі арқылы оларды ауызша жеткізеді. g. «қара қызыл» ретінде, сонымен қатар реңк мәнін береді. Экранға RGB, реңк пен жарықтылық (дәлдігі бойынша) мәндері де шығарылады.
Түсті аннотациялау процесін жеңілдету үшін RGB мәндері HSV (реңк, қанықтылық, мән) форматына айналады. Бұл түске белгілі бір бұрыштар диапазонына түсініктеме беруге мүмкіндік береді (яғни, бәліш тілімі) және реңктің есептелген мәніне сәйкес түсті таңдаңыз.
Құрылғыны ақ және қара сілтеме бойынша қалыпқа келтіру керек. Сізде бар ең ақ және қара қағазды өлшеп, әрқайсысын өлшеп алыңыз және бұл мәндерді кодқа максималды және минималды мән ретінде қойыңыз. Тек оңтайлы анықтамалық мәндер түстерді жақсы тануға мүмкіндік береді.
Негізгі проблемалардың бірі - рефлексия. Егер сізде жылтыр немесе жылтыр беті бар объект болса, ол жарықдиодты жарықтың көп бөлігін көрсетеді, ол шын мәнінде әлдеқайда жеңіл болып көрінеді. Жарықты шашырату үшін мембраналық парақты қолдануға болады, бірақ сізге түзету коэффициентін енгізу қажет болуы мүмкін.
Мөлдір заттар болған жағдайда оларды ақ қағазға орналастыру ыңғайлы болар еді, әйтпесе шағылысқан жарық мөлшері аз болады және объект «қара» деп есептеледі.
Егер сіз жарық шығаратын объектілердің түсін өлшегіңіз келсе, үзілістегі «жарықдиодты» портты «жерге» жалғау арқылы үзілістегі жарықдиодты өшіруіңіз керек. Енді сәйкесінше нормалау мәндерін орнатыңыз.
Тағы бір жалпы мәселе - бұл объектінің жарықтандырылуы. Үзілістегі жылы ақ жарықдиодты жарық үздіксіз спектрін шығарады. Сондықтан кейбір түстер RGB спектрінде шамадан тыс немесе аз көрсетілуі мүмкін. Бұл тақырып бойынша қосымша ақпарат алу үшін колориметр/ фотометр және спектрометр бойынша менің алдыңғы нұсқауларымды қараңыз:
www.instructables.com/id/An-Inexpensive-Ph…
www.instructables.com/id/A-Mimimal-Six-Col…
3 -қадам: Кодекс
![Кодекс Кодекс](https://i.howwhatproduce.com/images/003/image-8235-27-j.webp)
Код - бұл AIY дауыстық нұсқаулығындағы кодты өзгерту мен Bradspi -дің TCS34725 сенсорлық кодының тіркесімі.
Мен сондай -ақ Adafruit -тен TCS34725 питон кодын қолдануға тырыстым, бірақ AIY HAT -пен бірге сыртқы кітапханаларды пайдаланатын осы және басқа кодтарды іске қосуда қиындықтар болды. Кез келген көмек күтеді.
Жоғарыда айтылғандай, түс аннотациясы RGB -тің реңктерді өзгертуге негізделген. Сіз ақ және қара құрмет материалдарының эксперименттік өлшемдеріне негізделген нормализация параметрлерін орнатуыңыз керек. Сәйкесінше R, G және B мин немесе max үшін абсолюттік мәндерді толтырыңыз.
Сценарий дыбыс пен дыбыс деңгейін реттеуге мүмкіндік беретін «айт» командасының жаңа нұсқасын қолданады. Бұл жағдайда сізге audio.py және tty драйверлерінің файлдарын жаңарту немесе сценарийден «дыбыс пен дыбыс бөліктерін» жою қажет болуы мүмкін.
#!/usr/bin/env python3 # Бұл сценарий AIY дауыстық шляпасы үшін servo_demo.py сценарийінің бейімделуі, Afafruit TCS34725 импорттық aiy.audio импорт aiy.cloudspeech импорт aiy.voicehat көмегімен түс тануға оңтайландырылған. # gpiozero импорттық жарықдиодты # серво-порттағы сыртқы жарықдиодты үшін пайдалы болуы мүмкін # gpiozero импорттау түймешігі # servo-port импорттау уақытының сыртқы түймесі үшін пайдалы болуы мүмкін smbus bus = smbus. SMBus (1) colorys def hue2color импорттау (реңк): есептелген реңк мәндеріне негізделген # түсті түсіндіру, егер ((реңк> 12) және (реңк 25) және (реңк 69) және (реңк 164) және (реңк 194) және (реңк 269) және (реңк 319) немесе (реңк <20)): color = «қызыл» қайтару түсі басқа: басып шығару («бірдеңе дұрыс болмады»)
def tcs34725 (): # өлшеу және түсіндіру.
# Өлшеуді Bradspi TCS34725 сценарийі орындайды: # https://bradsrpi.blogspot.com/2013/05/tcs34725-rg… bus.write_byte (0x29, 0x80 | 0x12) ver = bus.read_byte (0x29) # нұсқа ver == 0x44 болса, # 0x44 болуы керек: басып шығару («Құрылғы / n») bus.write_byte (0x29, 0x80 | 0x00) # 0x00 = bus.write_byte регистрін ҚОСУ (0x29, 0x01 | 0x02) # 0x01 = Қуат, 0x02 RGB сенсорлары қосылған bus.write_byte (0x29, 0x80 | 0x14) # Оқу нәтижелері 14 регистрін бастайды, LSB содан кейін MSB деректері = bus.read_i2c_block_data (0x29, 0) clear = clear = data [1] << 8 | деректер [0] қызыл = деректер [3] << 8 | деректер [2] жасыл = деректер [5] << 8 | деректер [4] көк = деректер [7] << 8 | data [6] crgb = «Абсолютті санаулар: C: %s, R: %s, G: %s, B: %s / n» %(ашық, қызыл, жасыл, көк) басып шығару (crgb) time.sleep (1) басқа: басып шығару («Құрылғы табылмады / n») # өлшенетін RGBW мәндерін қалыпқа келтіру және өзгерту col = «» # Максималды мәндер Нормализация факторлары, эксперименттік түрде анықталуы керек # мысалы ақ қағазға қарсы. Уақыт өте келе тексеріңіз және түзетіңіз. max_bright = 5750 max_red = 1930 max_green = 2095 max_blue = 1980 # Фон/Минималды мәндерді қалыпқа келтіру факторлары эксперименталды түрде анықталуы керек # мысалы. қара қағазға қарсы. Уақыт өте келе тексеріңіз және түзетіңіз. min_bright = 750 min_red = 340 min_green = 245 min_green = 225 # нормаланған мәндер, 0 мен 1 арасындағы rel_bright = ((анық - мин_жарық)/(max_bright - мин_жарық)) rel_red = ((қызыл - мин_қызыл)/(max_red - мин_қызыл)) rel_green = ((жасыл - мин_жасыл)/(max_green - min_green)) rel_blue = ((көк - мин_көк)/(max_blue - мин_көк)) hsv_col = colorsys.rgb_to_hsv (rel_red, rel_green, rel_blv_c) hue = 0 [35] егер rel_bright> 0.9: col = «ақ» # егер өте жарқын болса -> ақ elif rel_bright қара басқа: col = hue2color (реңк) # реңк бойынша түстерді таңдау # басып шығару («салыстырмалы мәндер жарқын, қызыл, жасыл, көк:») # басып шығару (rel_bright, rel_red, rel_green, rel_blue) # басып шығару («HSV мәндері (реңк, қанықтылық, мән):», hsv_col) # басып шығару («реңк °», реңк) қайтару [col, rel_bright, rel_red, rel_green, рельский, реңк]
def main ():
button = aiy.voicehat.get_button () # өзгерту Түйме күйі led = aiy.voicehat.get_led () # өзгерту Түйме-жарықдиодты күй aiy.audio.get_recorder (). start () # buttoni = Түйме (5) # қашықтық сенсоры немесе servo3/GPIO 05 -ке қосылған басқа сыртқы түйме
aiy.audio.say («Сәлеметсіз бе!»,, көлемі = 50, қадам = 100) # дыбыс пен дыбыс аудио.py мен _tty.py драйверін 2017 жылдың қараша айында қайта қарауды талап етеді!
aiy.audio.say («Бастау үшін сенсорды объектінің үстінен жылжытыңыз. Содан кейін көк түймені басыңыз»,, көлемі = 50, қадам = 100) басып шығару «)» True «кезінде: led.set_state (aiy.voicehat. LED. ON) button.wait_for_press () # сыртқы түйме үшін, түймені buttoni led.set_state (aiy.voicehat. LED. BLINK) aiy.audio.say (») ауыстырыңыз Өлшеу «,, көлемі = 50, қадам = 100) нәтиже = tcs34725 () # өлшеу мен түсіндіруді тудырады col = нәтиже [0] # түс, мәтін реңкі = str (int (нәтиже [5])) # реңк °, мәтін ретінде r_red = str (int (нәтиже [2]*255)) # R мәні, мәтін ретінде r_green = str (int (нәтиже [3]*255)) # G мәні, мәтін ретінде r_blue = str (int (нәтиже [4]*255)) # B мәні, мәтін ретінде r_bright = str (int (нәтиже [1]*100)) # W мәні, мәтін ретінде led.set_state (aiy.voicehat. LED. OFF), егер col == «ақ «немесе col ==» black «: bright =» «elif (нәтиже [1]> 0.69): #жарықтық/түстің ашықтығы жарқын =» ақшыл «элиф (нәтиже [1] <0.25): жарқын =» қараңғы «басқа: жарқын = «орташа» # араласатын т ол нәтиже береді color_text = («Нысанның түсі» + ашық + «» + col) басып шығару (color_text) aiy.audio.say (color_text,, volume = 75, pitch = 100) hue_text = («Реңк мәні - «+ реңк+» градус «) басып шығару (реңк_мәтіні) aiy.audio.say (реңк_мәтіні, көлемі = 75, қадам = 100)
егер _ аты _ == '_ негізгі _': негізгі ()
4 -қадам: Кейбір сілтемелер мен ескертулер
TCS34725 сенсорының ақпараттық парағын мына жерден табуға болады:
Мен қолданған сенсорды оқу коды мына жерде сипатталған:
Түсті өлшеу туралы қосымша ақпаратты осы және басқа сенсормен менің алдыңғы нұсқаулығымда таба аласыз:
www.instructables.com/id/An-Inexpensive-Ph…
www.instructables.com/id/A-Mimimal-Six-Col…
Ұсынылған:
Оңай еңкейтуге негізделген түс сымсыз кубикті кубик шамының өзгеруі: 10 қадам (суреттермен)
![Оңай еңкейтуге негізделген түс сымсыз кубикті кубик шамының өзгеруі: 10 қадам (суреттермен) Оңай еңкейтуге негізделген түс сымсыз кубикті кубик шамының өзгеруі: 10 қадам (суреттермен)](https://i.howwhatproduce.com/images/002/image-3620-j.webp)
Оңай көлбеу түсі бар кубикті сымсыз кубик шамы: Бүгін біз тек кубик тәрізді Рубик шамын жасаймыз, ол түсі қай жағына қарай өзгереді. Текше шағын LiPo батареясымен жұмыс істейді, ол стандартты микро-USB кабелімен зарядталған, мен тексерген кезде батареяның қызмет ету мерзімі бірнеше күнге жетеді. Бұл
Arduino көмегімен саусақ ізіне негізделген биометриялық дауыс беру машинасы: 4 қадам (суреттермен)
![Arduino көмегімен саусақ ізіне негізделген биометриялық дауыс беру машинасы: 4 қадам (суреттермен) Arduino көмегімен саусақ ізіне негізделген биометриялық дауыс беру машинасы: 4 қадам (суреттермен)](https://i.howwhatproduce.com/images/001/image-92-3-j.webp)
Arduino қолданатын саусақ ізіне негізделген биометрикалық дауыс беру машинасы: Барлығымыз дауыс беру үшін пайдаланушы түймені басу керек электронды дауыс беру машинасы туралы білеміз. Бірақ бұл машиналар басынан бері шыңдалғаны үшін сынға алынды. Сондықтан үкімет саусақ ізін енгізуді жоспарлап отыр
Raspberry Pi жинағына арналған Google AIY VoiceHAT (MagPi 57 нұсқасы 2017): 6 қадам (суреттермен)
![Raspberry Pi жинағына арналған Google AIY VoiceHAT (MagPi 57 нұсқасы 2017): 6 қадам (суреттермен) Raspberry Pi жинағына арналған Google AIY VoiceHAT (MagPi 57 нұсқасы 2017): 6 қадам (суреттермен)](https://i.howwhatproduce.com/images/006/image-16966-6-j.webp)
Raspberry Pi жинағына арналған Google AIY VoiceHAT (MagPi 57 нұсқасы 2017): оқулықтарда MagPi дауыс жинағына арналған құрастыру бойынша кеңестер жоқ
Google AIY дауыстық жинағына Trigger Start Sound қосыңыз: 6 қадам (суреттермен)
![Google AIY дауыстық жинағына Trigger Start Sound қосыңыз: 6 қадам (суреттермен) Google AIY дауыстық жинағына Trigger Start Sound қосыңыз: 6 қадам (суреттермен)](https://i.howwhatproduce.com/images/003/image-6891-20-j.webp)
Google AIY дауыстық жинағына Trigger Start Sound қосыңыз: Бұл оқулық өте қарапайым. Мен Google AIY Voice жиынтығынан ләззат алдым, бірақ менің Google Home -дегідей, олар белсенді тыңдайтынын растайтын шу шығарады. Бұл мысалдардың ешқайсысында әдепкі бойынша орнатылмаған
TIVA басқаратын конвейерлік таспаға негізделген түс сұрыптаушысы: 8 қадам
![TIVA басқаратын конвейерлік таспаға негізделген түс сұрыптаушысы: 8 қадам TIVA басқаратын конвейерлік таспаға негізделген түс сұрыптаушысы: 8 қадам](https://i.howwhatproduce.com/images/003/image-7917-16-j.webp)
TIVA басқарылатын конвейерлік белдікке негізделген түс сұрыптаушысы: Электроника өрісінің кең ауқымы бар. Әр қосымшаға басқа схема мен басқа бағдарламалық жасақтама, сонымен қатар аппараттық конфигурация қажет. Микроконтроллер - бұл чипке ендірілген интеграцияланған модель, онда әр түрлі қосымшаларды іске қосуға болады