Агуулгын хүснэгт:

AIY Voice иж бүрдэлд суурилсан ярьдаг өнгө мэдрэгч: 4 алхам
AIY Voice иж бүрдэлд суурилсан ярьдаг өнгө мэдрэгч: 4 алхам

Видео: AIY Voice иж бүрдэлд суурилсан ярьдаг өнгө мэдрэгч: 4 алхам

Видео: AIY Voice иж бүрдэлд суурилсан ярьдаг өнгө мэдрэгч: 4 алхам
Видео: RULES OF SURVIVAL AVOID YELLOW SNOW 2024, Арваннэгдүгээр
Anonim
AIY Voice иж бүрдэлд суурилсан ярьж буй өнгө мэдрэгч
AIY Voice иж бүрдэлд суурилсан ярьж буй өнгө мэдрэгч
AIY Voice иж бүрдэлд суурилсан ярьж буй өнгө мэдрэгч
AIY Voice иж бүрдэлд суурилсан ярьж буй өнгө мэдрэгч
AIY Voice иж бүрдэлд суурилсан ярьж буй өнгө мэдрэгч
AIY Voice иж бүрдэлд суурилсан ярьж буй өнгө мэдрэгч
AIY Voice иж бүрдэлд суурилсан ярьж буй өнгө мэдрэгч
AIY Voice иж бүрдэлд суурилсан ярьж буй өнгө мэдрэгч

Саяхан Брайль үсгийн талаар бага зэрэг сурч мэдсэний дараа би Raspberry Pi-д зориулсан AIY дуу хоолойны хэрэгслийг ашиглан харааны бэрхшээлтэй хүмүүст бодит ашиг тустай зүйл хийж болох уу гэж бодож байлаа. Дараахь зүйлд тайлбарласнаар та түүний үр дүнг чангаар уншдаг энгийн өнгө илрүүлэгч төхөөрөмжийн загварыг олох болно.

Энэхүү системийн илүү нарийвчилсан хувилбар нь харааны бэрхшээлтэй эсвэл өнгөний харалган хүмүүст ашигтай байж болох юм.

Систем нь AIY дууны HAT хавсаргасан Raspberry Pi ашиглаж байна. TCS34725 RGB мэдрэгчийн тасархай нь HAT -ийн I2C портод холбогдсон байна. Хагархай нь задлан шинжилж буй объектыг гэрэлтүүлэх зориулалттай тод цагаан цагаан LED -ийг агуулдаг. Хэмжилтийн нөхцлийг оновчтой болгох, стандартчлах зорилгоор эвдрэлийг орон сууцанд байрлуулсан.

Гурван өнгөний мэдрэгч нь таны нүдний өнгөний мэдрэгчтэй ойролцоогоор гурван давтамжийн мужийг хэмждэг. Дараа нь улаан, ногоон, цэнхэр (RGB) утгыг ашиглан өнгөний ерөнхий сэтгэгдлийг тооцоолно.

Энэхүү тусгай системийн нэг сайхан тал нь AIY дууны иж бүрдэлийн "хэлэх" командыг ашиглан өнгийг өнөөгийн байдлаар хэлдэгт байгаа юм. Та дагалдах видеог үзээрэй.

Энэ төхөөрөмж нь AIY дууны HAT -тэй холбогдсон I2C мэдрэгч төхөөрөмжийн жишээ болгон ашиглаж болно.

Алхам 1: Ашигласан материал

Raspberry Pi 3. ~ 35 US $ эсвэл EUR

Малгай руу гагнасан толгойтой AIY дууны хэрэгсэл. ~ 25 ам доллар эсвэл евро

Adafruit TCS34725 тасарсан, толгой нь гагнаж байна. ~ 8 америк доллар эсвэл евро

Холбогч кабель.

Талхны самбар (заавал биш)

Мэдрэгчийн орон сууцны хувьд:- ашигласан "Dolce Gusto" кофены капсул- 2мм хэмжээтэй жижиг дугуй дугуй хэсэг (PVC хөөс хавтан), ойролцоогоор 37мм диаметртэй- орон сууцны дотор талын ханыг бүрхэх тусгалгүй хар материал. Би өөрөө наалддаг хар резин хөөс ашигласан.

Нэмэлт: хэмжилтийг өдөөх жижиг унтраалга

Хэдэн дусал хуванцар цавуу, зүсэгч хутга.

Алхам 2: Угсралт ба хэрэглээ

Угсралт ба хэрэглээ
Угсралт ба хэрэглээ
Угсралт ба хэрэглээ
Угсралт ба хэрэглээ
Угсралт ба хэрэглээ
Угсралт ба хэрэглээ

AIY дууны HAT бүхий Raspberry Pi нь AIY гарын авлагад заасны дагуу тохируулагдсан болно. Угсрахаас өмнө толгойг HAT дээрх боомтуудад гагнасан. Мэдрэгчийн орон сууцны хувьд "Dulce Gusto" кофены капсулыг хоослон цэвэрлэж, ёроолын хэсгийг хутгаар болгоомжтой авч хаяв. Та энэ зорилгоор өөр зүйл ашиглаж болно, кофены капсул нь яг тохирох хэмжээ, хэлбэртэй байсан. 2 мм -ийн форекс хэлбэртэй дугуй хэсгийг хавтан дээрээс хайчилж, дараа нь таслалыг форекс хавтан дээр төвлөрүүлж, эсгий үзгээр тэмдэглэсэн байрлал, толгой дээрх толгойны үүрийг зохих байрлалд хайчилж авав.

Одоо Forex -ийн хэсгийг орон сууцанд наасан бөгөөд Forex хавтан дээр хавсаргасан мэдрэгчийн таславчийг Velcro тууз ашиглан хийв. Дараа нь дотоод ханыг гэрэл шингээдэг хар материалаар хучсан, би өөрөө наалддаг резин хөөс ашигласан. Хар картон нь бас ажиллах ёстой. Одоо холбогч кабелийг ашиглан HAT -ийн I2C "3.3V" порт нь мэдрэгчийн "V in", Ground to Gnd, sda to sda to scl to scl руу холбогдсон байна. Би хоёр хэсгийг холбохын тулд талхны самбар ашигласан боловч энэ нь зайлшгүй биш юм.

AIY_TCS34725 python скриптийг src фолдерт байрлуулаад скриптийг dev терминалаас ажиллуулж "sec/AIY_TCS34752.py" гэж оруулна уу. Та эхлээд python скриптийг ажиллуулах боломжтой болж магадгүй юм. Асуух үед мэдрэгчийн нэгжийг хэмжих объектын дээр тавиад AIY төхөөрөмжийн товчлуурыг дараад ганц хоёр секунд хүлээнэ үү.

Дараа нь хэмжсэн RGB ба цагаан утгууд дээр үндэслэн төхөөрөмж эхлээд харгалзах өнгөний утгыг тооцоолж, дараа нь энэ утгыг үндэслэн өнгийг тооцоолж, AIY дуут системээр дамжуулан амаар дамжуулдаг. g. "хар улаан" гэж нэрлээд зогсохгүй өнгөний үнэ цэнийг өгдөг. RGB, өнгө, тод байдал (хөнгөн, нарийвчлалтай) утгыг мөн дэлгэц дээр хэвлэдэг.

Өнгөний тэмдэглэгээний процессыг хялбарчлахын тулд RGB утгыг HSV (өнгө, ханалт, утга) формат болгон өөрчилдөг. Энэ нь өнгийг тодорхой өнцөгт (жишээлбэл, бялуу зүсэм) тэмдэглэж, тооцоолсон өнгөний утгыг үндэслэн өнгийг сонгох боломжийг олгодог.

Та төхөөрөмжөө цагаан ба хар лавлагааны эсрэг хэвийн болгох хэрэгтэй. Танд байгаа хамгийн цагаан, хар өнгийн цаасыг хэмжиж, тус бүрийг хэмжиж, эдгээр утгыг хамгийн их ба хамгийн бага утга болгон кодонд оруулна уу. Зөвхөн оновчтой лавлах утга нь өнгийг сайн таних болно.

Гол бэрхшээлүүдийн нэг бол тусгал юм. Хэрэв та гялалзсан эсвэл өнгөлсөн гадаргуутай объекттой бол энэ нь LED -ээс ялгарах гэрлийг тусгах бөгөөд энэ нь байгаагаасаа хамаагүй хөнгөн харагдаж байна. Та гэрлийг сарниулахын тулд мембран ашиглаж болно, гэхдээ залруулах хүчин зүйлийг хэрэгжүүлэх шаардлагатай байж магадгүй юм.

Тунгалаг объектын хувьд тэдгээрийг цагаан цаасан дээр байрлуулах нь хялбар байж болох юм, эс тэгвээс тусгасан гэрлийн хэмжээ бага байх бөгөөд объектыг "хар" гэж мэдээлнэ.

Хэрэв та гэрэл ялгаруулж буй объектуудын өнгийг хэмжихийг хүсвэл тасалбар дээрх "LED" портыг "Газардуулга" -тай холбож, таслагч дээрх LED -ийг унтраах хэрэгтэй. Одоо тохируулах утгыг тохируулна уу.

Өөр нэг нийтлэг асуудал бол объектын гэрэлтүүлэг юм. Дулаан дээрх цагаан цагаан LED нь тасралтгүй гэрлийн спектрийг ялгаруулдаг. Тиймээс зарим өнгийг RGB спектр дээр хэт их эсвэл дутуу илэрхийлж болно. Энэ сэдвээр илүү дэлгэрэнгүй мэдээлэл авахыг хүсвэл урьд нь колориметр/ фотометр, спектрометрийн зааварчилгааг үзнэ үү.

www.instructables.com/id/An-Inexpensive-Ph…

www.instructables.com/id/A-Mimimal-Six-Col…

Алхам 3: Код

Код
Код

Код нь AIY дуут гарын авлагын кодын өөрчлөлт, Bradspi -ийн TCS34725 мэдрэгчийн кодын хослол юм.

Би бас Adafruit -ийн TCS34725 питон кодыг ашиглахыг оролдсон боловч энэ болон бусад номын санг AIY HAT -тэй хослуулан ашигладаг зарим кодуудыг ажиллуулахад асуудал гарсан. Аливаа тусламжийг хүлээн авна уу.

Өмнө дурьдсанчлан, өнгөний тэмдэглэгээ нь RGB -ийн утгыг өнгө болгон хувиргахад суурилдаг. Та цагаан, хар хүндэтгэлийн материалын туршилтын хэмжилт дээр үндэслэн хэвийн болгох тохиргоог хийх ёстой. Үнэмлэхүй утгыг R, G, B min эсвэл max -ийн дагуу бөглөнө үү.

Скрипт нь дууны түвшинг тохируулах боломжийг олгодог "хэлэх" командын шинэ хувилбарыг ашигладаг. Энэ тохиолдолд та аудио.py болон tty драйвер файлуудыг шинэчлэх эсвэл скриптээс "эзлэхүүн ба давталтын хэсгүүдийг" устгах шаардлагатай болж магадгүй юм.

#!/usr/bin/env python3 # Энэхүү скрипт нь AIY voice HAT -ийн servo_demo.py скриптийн дасан зохицол юм. # gpiozero импорт LED (өнгө): тооцоолсон өнгөний утгууд дээр үндэслэсэн # өнгөний тайлбар ((өнгө> 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 = өгөгдөл [1] << 8 | өгөгдөл [0] улаан = өгөгдөл [3] << 8 | өгөгдөл [2] ногоон = өгөгдөл [5] << 8 | өгөгдөл [4] цэнхэр = өгөгдөл [7] << 8 | өгөгдөл [6] crgb = "Үнэмлэхүй тоо: C: %s, R: %s, G: %s, B: %s / n" %(тунгалаг, улаан, ногоон, цэнхэр) хэвлэх (crgb) цаг. унтах (1) өөр: хэвлэх ("Төхөөрөмж олдсонгүй / n") # хэмжсэн RGBW утгыг хэвийн болгох, хувиргах col = "" # Хамгийн их утга Хэвийн болгох хүчин зүйлийг туршилтаар тодорхойлох ёстой # ж. цагаан цаасны эсрэг. Үе үе шалгаж, залруулж байгаарай. max_bright = 5750 max_red = 1930 max_green = 2095 max_blue = 1980 # Background/Хамгийн бага утгыг хэвийн болгох хүчин зүйлүүдийг туршилтаар тодорхойлох ёстой. vs. хар хуудас. Үе үе шалгаж, залруулж байгаарай. min_bright = 750 min_red = 340 min_green = 245 min_blue = 225 # 0 -ээс 1 rel_bright = ((тодорхой - мин_ гэрэл)/(max_bright - min_bright)) rel_red = ((улаан - мин_ улаан)/(max_red - мин_ред) rel_green = ((ногоон - мин_ ногоон)/(max_green - мин_ ногоон)) rel_blue = ((цэнхэр - мин_хөх)/(max_blue - мин_хэнхэр)) hsv_col = өнгө if rel_bright> 0.9: col = "white" # if very bright -> white elif rel_bright black other: col = hue2color (hue) # өнгөний өнгөний өнгөний сонголтоор # хэвлэх ("харьцангуй утга тод, улаан, ногоон, цэнхэр:") # хэвлэх (rel_bright, rel_red, rel_green, rel_blue) # хэвлэх ("HSV утга (өнгө, ханалт, утга):", hsv_col) # хэвлэх ("өнгө нь °", өнгө) буцах [col, rel_bright, rel_red, rel_green, rel_blue, өнгө]

def main ():

button = aiy.voicehat.get_button () # change Button status led = aiy.voicehat.get_led () # change Button-LED status aiy.audio.get_recorder (). start () # buttoni = Button (5) # зайны мэдрэгч эсвэл бусад гадаад товчлуур, servo3/GPIO 05 -т холбогдсон

aiy.audio.say ("Сайн байна уу!",, эзлэхүүн = 50, давирхай = 100) # эзлэхүүн ба давирхай нь 2017 оны 11 -р сард audio.py болон _tty.py драйверийг хянахыг шаарддаг!

aiy.audio.say " ") Үнэн байхад: 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] # өнгө, текст hue = 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 == "white "or col ==" black ": bright =" "elif (үр дүн [1]> 0.69): #тод байдал/өнгөний тод байдал тод =" гэрэл "elif (үр дүн [1] <0.25): тод =" бараан ": тод = "дунд" # харилцах t he results color_text = ("Объектын өнгө нь" + тод + "" + col) хэвлэх (color_text) aiy.audio.say (color_text,, volume = 75, pitch = 100) hue_text = ("Өнгөний утга нь "+ Hue+" градус ") хэвлэх (hue_text) aiy.audio.say (hue_text,, volume = 75, pitch = 100)

хэрэв _ name_ == '_main_': main ()

Алхам 4: Зарим холбоос ба тайлбар

TCS34725 мэдрэгчийн мэдээллийн хуудсыг эндээс авах боломжтой:

Миний ашиглаж байсан мэдрэгчийг унших кодыг энд тайлбарласан болно:

Өнгө хэмжих талаар нэмэлт мэдээлэл авахын тулд энэ болон өөр мэдрэгчийг миний өмнөх зааварчилгаанаас олж болно.

www.instructables.com/id/An-Inexpensive-Ph…

www.instructables.com/id/A-Mimimal-Six-Col…

Зөвлөмж болгож буй: