Мазмұны:
- 1 -қадам: Бөлшектер, материалдар мен құралдар
- 2 -қадам: Схема
- 3 -қадам: Машина жасау (Механика және құрастыру)
- 4 -қадам: Бағдарламалау
- 5 -қадам: машинаның жұмысы
Бейне: SASSIE: ыңғайсыз үнсіздік шешімі мен өзара әрекеттестікті күшейту жүйесі: 5 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:23
SASSIE - бұл біздің өміріміздің бір сәтінде ыңғайсыз үнсіздік кезінде бәріміз өзімізге қойған сұрақтың жауабы: «Мен келесі сөйлеймін бе?» Енді сізге алаңдамаудың қажеті жоқ, өйткені SASSIE ыңғайсыз тыныштықты тануға арналған, содан кейін оны кімнің сөйлейтінін кездейсоқ шешу арқылы бейтараптандыруға арналған. Енді сіз SASSIE сіздің арқаңызда екенін біле отырып, күйзеліссіз әңгімеге кіре аласыз.
1 -қадам: Бөлшектер, материалдар мен құралдар
Arduino бөлшектері
2 X Arduino Uno R3
2 X Arduino микрофон
1 X XBee сымсыз SD қалқаны
1 X 1/2 w 8 вольтты динамик
1 X жарты өлшемді тақта
1 X Arduino қадамдық қозғалтқышы
1X ULN 2003 қадамдық қозғалтқыш тақтасы
1 X микросерво
Негіз және корпус (лазерлік кесу компоненттері)
Төменде келтірілген барлық компоненттерді қайың қабатты лазермен кесуге болады (32 «X 18»)
1 - Негізгі
1 X төменгі табақша
1 X Ұзын ұзындығы Қысқа биіктікте түзу торлы жолақ
1 X жоғарғы табақша
4 X қысқа ұзындықтағы биіктігі түзу тордың бүйірлік жолағы
2 - Негізгі
1 X қадамдық моторлы жуғыш
1 X төменгі негізгі тақта
1 X Орташа ұзындығы Орташа биіктігі Торлы жолақ
1 X жоғарғы сақина
1 X қысқа ұзындықтағы биіктігі түзу тордың бүйірлік жолағы
1 X жоғарғы жағындағы жолақ тақтасы
1 X шағын төртбұрышты пластина (микросерво үшін)
3 - микрофон тірегі
4 X негізгі тақта
1 X 13 см 3/16 дюбель (30 градус қапталмен)
1 X шағын төртбұрышты пластина (микрофон үшін)
2 -қадам: Схема
3 -қадам: Машина жасау (Механика және құрастыру)
1_Алдын ала құрастыру
- (Міндетті емес) Қайың қабаттарының барлық компоненттерін тазартылған етіп өңдеңіз
- Қайыңның барлық қабатын сулаңыз, содан кейін оны бүгіңіз, ол дөңгелек пішінді жасайды.
- Дөңгелек пішінді ұстау үшін бояу таспасын пайдаланып, қайың қабатты жолағын ораңыз
- Жолақ дөңгелек пішінді сақтап қалуы үшін оны түні бойы қалдырыңыз
2_ Тұрғын үй құрылысы
Негіз
- Негізгі тақтаны негізгі теріге жабыстырыңыз
- Төменгі жағындағы төрт жолақты пластинаны жабыстырыңыз, содан кейін бұл бөлікті жоғарғы тақтаның шетіне жабыстырыңыз
- Степпер моторын үстіңгі тақтайшаның ортасына лентамен бекітіңіз (бүйірлік жолақ тақтайшасымен бір жағын түртуді және қозғалтқыштың нақты айналатын бөлігін машинаның ортасына туралауды ұмытпаңыз)
- Қадамдық мотор шайбасын қадамдық қозғалтқышқа салыңыз
Негізгі
- Негізгі пластинаны төменгі теріге жабыстырыңыз
- Негізгі терінің жоғарғы жағындағы сақинаны жабыстырыңыз
- бүйірлік жолақты сырғытпаның жоғарғы жағына салыңыз
- Серво қозғалтқыш тақтасын жоғарғы бүйірлік жолаққа перпендикуляр жабыстырыңыз
3_ Ассамблея
- Нан тақтасы мен UNO R3 екі қалқаны SD қалқанымен мұқият контейнерге салыңыз
- Үстіңгі тақтайшаны қоқыс жәшігіне қойыңыз және барлық датчиктер мен жетектердің үстіңгі тақтай саңылауларынан өтетініне көз жеткізіңіз
- Степпер моторын үстіңгі тақтайшаның ортасына лентамен бекітіңіз (бүйірлік жолақ тақтайшасымен бір жағын түртуді және қозғалтқыштың нақты айналатын бөлігін машинаның ортасына туралауды ұмытпаңыз)
- Қадамдық мотор шайбасын қадамдық қозғалтқышқа салыңыз
- Негізгі компонентті шайбаға салыңыз
- Бүйірлік жолақ компонентін бүйірлік жолақ негізінің сырғытпасына бекітіңіз
- Серво қозғалтқыш тақтасының жоғарғы жағындағы серво қозғалтқышын таспамен бекітіңіз (бүйірінен түрту керек), содан кейін серво сымын бүйірлік жолақтың ішкі жағына басыңыз.
- Серво қозғалтқышына жоғарғы белгіні бекітіңіз
- Негізгі терінің бүйірлік белгісін түртіңіз
4_Микрофон тұғырының жиналуы
- Төрт негізді бір -біріне жабыстырыңыз
- Дюбельдің тегіс жағын негізге жабыстырыңыз
- Микрофон тақтасын дюбельдің бұрыштық жағына жабыстырыңыз
- микрофон тақтасына микрофонды жабыстырыңыз
4 -қадам: Бағдарламалау
Arduino Uno тақтасының көлемі шектеулі болғандықтан, бұл жобада екі Arduino тақтасы қолданылады. Негізгі тақта көптеген функцияларда қолданылады, оның ішінде үнсіздік уақытын есептеу, дыбыстық деректерді өңдеу, пайдаланушылармен сөйлесу және екінші тақтамен байланыс.
#қосу #қосу
#қосу
#қосу
// SD 11, 12, 13 түйреуішіне қосылуы керек
// қажет немесе SD.begin () арқылы шақырылады.
const int servoPin = 3;
const int micPin1 = 5; const int micPin2 = 6; const int AWKS = 4;
int көлемі1;
int көлемі2; float silenceTime = 0;
Серво баннері;
TMRpcm plr;
жарамсыз орнату () {
// орнату кодын бір рет іске қосу үшін осында қойыңыз: pinMode (servoPin, OUTPUT); pinMode (micPin1, INPUT); pinMode (micPin2, INPUT); Serial.begin (9600); Serial.println («SASSIE диагностикалық порталына қош келдіңіз.»); banner.attach (servoPin); banner.write (0); if (! SD.begin (10)) {Serial.println («SD сәтсіздігі»); } plr.speakerPin = 9; plr.setVolume (5); }
void loop () {
көлемі1 = digitalRead (micPin1); көлемі2 = digitalRead (micPin2); banner.write (0); if (volume1 == 0 және volume2 == 0) {silenceTime += 0,05; Serial.print («Тыныштық уақыты:»); Serial.println (silenceTime); } басқа {silenceTime = 0; banner.write (0); } кешіктіру (50); if (silenceTime> = AWKS) {құтқару (); silenceTime = 0; }}
жарамсыз құтқару () {
үшін (int бұрышы = 0; бұрыш <90; бұрыш += 1) {banner.write (бұрыш); кешіктіру (35); } Serial.println («Баннер қосулы»); кешіктіру (100); Serial.write (1); Serial.println («Ән қосулы»); plr.play («4.wav»); кешіктіру (10000); plr.stopPlayback (); цикл (); кешіктіру (10000); кешіктіру (5000); plr.play («2.wav»); кешіктіру (5000); plr.play («3.wav»); }
Екінші тақтаның коды қарапайым. Ол тек негізгі тақта оған сигнал жібергенде ғана қадамдық моторды басқарады.
#қосу
const int stepPin1 = 8;
const int stepPin2 = 9; const int stepPin3 = 10; const int stepPin4 = 11; const int motorSteps = 200;
bool motorState = жалған;
Қадамдық қозғалтқыш (моторлық қадамдар, қадамдық қадам1, адымдық 2, қадамдық қадам 3, қадамдық 4);
жарамсыз орнату () {
// бір рет іске қосу үшін орнату кодын осында қойыңыз: stepMotor.setSpeed (75); }
void loop () {
// бірнеше рет іске қосу үшін негізгі кодты осында қойыңыз: int incoming = Serial.read (); if (кіріс == 1) {Serial.println («белсендірілген»); if (motorState == 0) {stepMotor.step (1000); кешіктіру (5000); } басқа {stepMotor.step (-1000); } motorState =! motorState; } кешіктіру (500); }
Ұсынылған:
Arduino -мен өзара байланысатын газ сенсоры: 4 қадам
Arduino көмегімен интерфейсті газ сенсоры: MQ-2 түтін датчигі түтінге және келесі жанғыш газдарға сезімтал: сұйытылған газ, бутан, пропан, метан, алкоголь, сутегі. Сенсордың кедергісі газдың түріне байланысты әр түрлі болады. Түтін сенсорында кіріктірілген потенциометр бар
Raspberry Pi мен MySQL мәліметтер базасын қолданатын саусақ ізі мен RFID негізіндегі келу жүйесі: 5 қадам
Raspberry Pi мен MySQL мәліметтер базасын қолданатын саусақ ізі мен RFID негізіндегі келу жүйесі: осы жобаның бейнесі
NodeMCU көмегімен өзара әрекеттесетін серво моторы: 6 қадам (суреттермен)
NodeMCU көмегімен сервотық қозғалтқыш: баршаңызға сәлем, бұл менің бірінші нұсқаулық жобам, сондықтан сіз NodeMCU -дан бастауды қалайсыз ба? Мен сіздермен бөлісуге келдім, бүгін мен сізге NodeMCU -ны қалай бастау керектігін көрсетемін. Кеттік! NodeMCU бортында ESP8266-12E бар, ол
Физикалық өзара әрекеттесу жүйесі - PlateaPlayer: 19 қадам (суреттермен)
Физикалық өзара әрекеттесу жүйесі - PlateaPlayer: Бұл жоба бейнероликке бағытталған интерактивті бейне ойнатқыштың физикалық есептеу әрекеттестігінің аппараттық енгізілуін жобалау мен дамытуға арналған процесті сипаттайды. Universidad Aut & oacute студенттері сандық теледидар
Медиа орталықтың шешімі Тіпті әйелі мен балалары да қолданады: 9 қадам
Медиа орталықтың шешімі тіпті әйелдері мен балалары үшін де қолданылады. Бұл нұсқаулық медиа -орталықтың көптеген қосымшаларын, ОЖ -ны, аппараттық және файлдық форматтарды қолдану тәжірибемнің қысқаша мазмұны. Бұл PVR емес, сізге тікелей теледидарды жазуға немесе кідіртуге мүмкіндік бермейді, бірақ мен жақсы балама ұсынамын