Съдържание:
- Стъпка 1: Получаване на частите
- Стъпка 2: Окабеляване
- Стъпка 3: Предварително кодирайте нещата
- Стъпка 4: Код
- Стъпка 5: Делото
Видео: Шеговит танк: 5 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:52
Това е проект, който направих в моето училище HKU, който изискваше да направим нещо с Arduino Uno. Исках да направя нещо, което да направи любимото ми нещо, да разсмее хората. Затова реших да направя кутия за шега, която да ви хвърли на шега, но каква шега ще ви даде, ще зависи от това какво измерват няколко сензорни модула в този определен момент от времето. За да стане по -лично, реших да го направя танк.
Стъпка 1: Получаване на частите
Частите, които биха ви били необходими, за да пресъздадете този проект, биха били
- 1x компютър, който може да работи с Arduino IDE
- 1x Arduino Uno
- 1x USB съединителен кабел за Arduino Uno
- 1x сензор за сонар
- 1x високоговорител (за предпочитане един с прилично качество (използвах такъв, който извадих от Bluetooth високоговорител)).
- 1x усилвател LM386 (възможно е да направите това сами, но използвах модул).
- 1x LM393 Микрофон
- 1x LDR
- 1x LED (всеки цвят ще е подходящ, но аз използвах син).
- 4x 1kΩ резистор
- 1x 2, 7kΩ резистор
- 1x платка
- 1x micro SD карта (за предпочитане малка (1 или 2 gb)).
- 1x Електрическа бормашина.
- 1x 16 мм пробивна глава (за предпочитане за пробиване на метал).
- 1x 9 мм пробивна глава (също за предпочитане за пробиване на метал).
- 1x 1 мм бормашина (за предпочитане отново за пробиване на метал).
- 1x модел резервоар (използвах 1:35 мащаб леопард 2, но и други случаи трябва да са добре).
- Суперлепило / горещо лепило
- и доста жици за предпочитане в различни цветове.
- кабелни връзки (по избор).
Стъпка 2: Окабеляване
Трябва да започнем с окабеляването, изображението е технически чертеж за това как всичко трябва да бъде свързано. Това трябва да служи като ваш план. Забележка: Всички портове на Arduino са наречени AP# за всеки порт. Така че четвъртият порт на Arduino е AP4, порт A0 е APA0, а порт 6 ~ е AP6 ~ и т.н. Всички останали портове са наименувани така, както се появяват на самите модули.
Стъпка 3: Предварително кодирайте нещата
Сега, преди да можем да започнем да използваме кода, имаме нужда от малко. Препоръчвам ви сега да следвате този урок за човека от стъпка 2 до 4
www.electronoobs.com/eng_arduino_tut8.php
Въпреки това няма да използваме неговия код, тъй като ще използваме нашия собствен Моля, имайте предвид, че някои високоговорители използват различни честоти. Моят говорител използва 16-битови 32kHz аудио файлове. Така че, ако вашето говорене създава някакъв шум, но не възпроизвежда вашите файлове, опитайте да играете с вашата честота.
Стъпка 4: Код
Сега ще качим кода в arduino, Копирайте всичко това и го прехвърлете в Arduino IDE и го качете във вашия Arduino.
// включва библиотеката за четеца на SD карти.#include "Wtv020sd16p.h" // включва библиотеката, необходима за сензора на сонара. #include // Задава щифтовете за Arduino. int resetPin = 4; int clockPin = 5; int dataPin = 6; int busyPin = 7; int soundDetectedPin = 12; int lightDetectedPin = A0; // Задава пиновете за библиотеката на SD картата. Wtv020sd16p wtv020sd16p (resetPin, clockPin, dataPin, busyPin); // Задава пиновете за библиотеката на сензора за сонар. Сонар NewPing (11, 10); // Задава другите входове и задава битрейта на програмата. void setup () {wtv020sd16p.reset (); pinMode (lightDetectedPin, INPUT); pinMode (soundDetectedPin, INPUT); Serial.begin (9600); } // Основна част от програмата. void loop () {// Задава междинните числа int lightDetectedVal = analogRead (lightDetectedPin); int distanceVal = sonar.ping_cm (); int soundDetectedVal = digitalRead (soundDetectedPin); // Забавяне, така че проектът проектът да не използва безкрайно високоговорителя. забавяне (30000); // Сериен печат и линии за печат, за да можете лесно да видите какви стойности се приемат от сензорните модули. Serial.print ("Звукова стойност:"); // Множествени оператори if, така че програмата да възпроизвежда различни аудио файлове в зависимост от стойностите се измерват от сензорните модули. if (soundDetectedVal == 0) {Serial.println (soundDetectedVal); Serial.print ("Разстояние:"); if (distanceVal == 0) {Serial.println (distanceVal); Serial.print ("Светлинна стойност:"); if (lightDetectedVal> = 1000) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (1); // Друг сериен печат, така че да можете да видите какъв точно аудио файл е възпроизведен. Serial.println ("1 --------"); // Още едно забавяне за възпроизвеждане на аудио файла с пълна дължина. забавяне (5000); } иначе ако (lightDetectedVal> = 900) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (2); Serial.println ("2 --------"); забавяне (5000); } иначе ако (lightDetectedVal> = 800) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (3); Serial.println ("3 --------"); забавяне (5000); } иначе ако (lightDetectedVal> = 700) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (4); Serial.println ("4 --------"); забавяне (5000); } иначе ако (lightDetectedVal> = 600) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (5); Serial.println ("5 --------"); забавяне (5000); } иначе ако (lightDetectedVal> = 500 || lightDetectedVal 0 || distanceVal == NULL) {Serial.println (distanceVal); Serial.print ("Светлинна стойност:"); if (lightDetectedVal> = 1000) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (7); Serial.println ("7 --------"); забавяне (5000); } иначе ако (lightDetectedVal> = 900) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (8); Serial.println ("8 --------"); забавяне (8000); } иначе ако (lightDetectedVal> = 800) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (9); Serial.println ("9 --------"); забавяне (5000); } иначе ако (lightDetectedVal> = 700) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (10); Serial.println ("10 -------"); забавяне (8000); } иначе ако (lightDetectedVal> = 600) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (11); Serial.println ("11 -------"); забавяне (6000); } иначе ако (lightDetectedVal> = 500 || lightDetectedVal <= 1000) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (13); Serial.println ("13 -------"); забавяне (5000); } иначе ако (lightDetectedVal> = 900) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (14); Serial.println ("14 -------"); забавяне (5000); } иначе ако (lightDetectedVal> = 800) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (15); Serial.println ("15 -------"); забавяне (5000); } иначе ако (lightDetectedVal> = 700) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (16); Serial.println ("16 -------"); забавяне (5000); } иначе ако (lightDetectedVal> = 600) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (17); Serial.println ("17 -------"); забавяне (5000); } иначе ако (lightDetectedVal> = 500 || lightDetectedVal 0 || distanceVal == NULL || distanceVal> = 150) {Serial.println (distanceVal); Serial.print ("Светлинна стойност:"); if (lightDetectedVal> = 1000) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (19); Serial.println ("19 -------"); забавяне (5000); } иначе ако (lightDetectedVal> = 900) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (20); Serial.println ("20 -------"); забавяне (5000); } иначе ако (lightDetectedVal> = 800) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (21); Serial.println ("21 -------"); забавяне (5000); } иначе ако (lightDetectedVal> = 700) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (22); Serial.println ("22 -------"); забавяне (5000); } иначе ако (lightDetectedVal> = 600) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (23); Serial.println ("23 -------"); забавяне (5000); } иначе ако (lightDetectedVal> = 500 || lightDetectedVal << 500) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (24); Serial.println ("24 -------"); забавяне (5000); }}}}
Стъпка 5: Делото
Сега идва същинската сложна част.
Поставянето на всичко в кутията може да е малко сложно, това зависи от това как сте монтирали всичко на вашата дъска или как сте запоявали нещата заедно. Но ще трябва да направите няколко дупки, за да могат сензорите да се залепят. Сложих микрофона (необходима е 9 мм бормашина) и сонарния модул (необходима е 6 мм бормашина) отзад и LDR отпред на резервоара, но можете да ги поставите ефективно, ако имате място.
Не забравяйте да изрежете дупка в тялото на модела, за да можете да свържете вашия arduino с конекторния кабел.
Бих препоръчал поставянето на високоговорителя в кулата. тъй като там трябва да остане много място.
Лявото изображение по -горе е начинът, по който монтирах arduino и отпечатъка, който запоех вътре в модела Leopard 2. Дясното изображение е едно с повечето монтирани кабели.
Това, което можете да направите, е да пробиете малки дупки в долната част на модела, за да закрепите Arduino с кабелни връзки.
Но ако не греша, сега трябва да свършите.
Препоръчано:
Първи стъпки с безжични сензори за температура и вибрации на дълги разстояния: 7 стъпки
Първи стъпки с безжични сензори за температура и вибрации на дълги разстояния: Понякога вибрациите са причина за сериозни проблеми в много приложения. От валове и лагери на машината до работа на твърдия диск, вибрациите причиняват повреда на машината, ранна подмяна, ниска производителност и нанасят сериозен удар върху точността. Мониторинг
Първи стъпки с STM32f767zi Cube IDE и качване на персонализирана скица: 3 стъпки
Първи стъпки с STM32f767zi Cube IDE и качване на персонализирана скица: КУПЕТЕ (щракнете върху теста, за да закупите/посетете уеб страницата) STM32F767ZISUPPORTED SOFTWARE · STM32CUBE IDE · KEIL MDK ARM µVISION · EWARM IAR EMBEDDED WORKBENCH използва се за програмиране на STM микроконтролери
Как да направите 4G LTE двойна BiQuade антена Лесни стъпки: 3 стъпки
Как да направя 4G LTE двойна BiQuade антена лесни стъпки: През повечето време, с което се сблъсквах, нямам добра сила на сигнала за ежедневните ми работи. Така. Търся и опитвам различни видове антени, но не работи. След загубено време намерих антена, която се надявам да направя и изпробвам, защото тя не градивен принцип
Танк: 4 стъпки
Tankie: Въведение: Този робот резервоар е за много хора, които са доста мързеливи или не могат да извлекат нещата сами. Този резервоар ще позволи на потребителя си да извлича неща за тях с контролер от станция за видеоигри. Роботният резервоар ще се използва и за въвеждане
Танк Halo Scorpion: 5 стъпки
Halo Scorpion Tank: Тази инструкция е създадена в изпълнение на проектните изисквания на Makecourse в Университета на Южна Флорида (www.makecourse.com). Това е моят стъпка по стъпка процес на проектиране и изработване на напълно функционален танк Halo Scorpion