
Агуулгын хүснэгт:
2025 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2025-01-23 15:00

Дээд талд нь LED цагираг, дуу чимээ гаргах дохио, дотор нь мэдрэгчтэй мэдрэгч бүхий интерактив мод нь хүрэхэд өнгө нь өөрчлөгддөг. Энэхүү бяцхан зүйлийг хөгжилтэй болгохын тулд танд дараахь зүйлс хэрэгтэй болно.
Электроникс:- 1 удаа Arduino Uno
- 15х кабель
- Дугуй үзүүртэй 1х гагнуурын төмөр
- 1 ширхэг Adafruit 8 товчлууртай олс (CAP1188)
- 1 ширхэг Arduino цахилгаан кабель
- 1x8 LED цагираг
- 1x дуут дохио
- 1х халуун цавуу буу
-CAP1188 номын санг татаж авах
- Adafruit Neopixel -ийн номын санг татаж авах
Нэмэлт (бүрхүүл):
- 1 ширхэг модны хожуул
- Дотор 1х мод
- бүгдийг байрлуулах модон таваг
- Гадна талд чихмэл амьтны чихмэл
Та бас өөр зүйлийг гадуур ашиглаж болно, бүтээлч байгаарай!
Одоо эхэлцгээе…
Алхам 1: Алхам 1: Captive Touch бүхий LED бөгж

Хэрэв та азтай бол таны LED бөгж аль хэдийн хавчуулагдсан байна. Үгүй бол гагнах цаг болжээ!
Энэ төсөлд ашиглах зүйлүүд нь:
- DI (Дижитал оролт, зүү 6 ~
- 5V (тэжээлийн хувьд, 5V зүү)
- GND (Газар, GND зүү)
Энэ бол одоогоор LED бөгж юм.
Үүнийг самбар дээр байрлуулаад бүгдийг дараах байдлаар холбоно уу: SDA/MISO зүү (аналог) A4SCK зүү (аналог) A5VIN (хүч) 5VGND нь GND pin1x кабелиар C1 (Captive touch өөрөө)
Одоо туршихын тулд дараах кодыг Arduino -д байршуулна уу.
// Жулиа Эмминк // Интерактив модны гэрэл ба мэдрэгчтэй код 19 /// Adafruit Neopixel болон Adafruit -ийн ашиглалтын мэдрэгч (CAP1188) (суурилуулах ёстой) ашиглан хийгдсэн бөгөөд LED нь ямар ч сааталгүйгээр анивчдаг.
// NEOPIXEL ~~~~~~~~~~~~~~~~~
#оруулах
#dexPIXELSPIN 6 // LED бөгжийг хаана холбосон бэ
#NUMPIXELS 8 -ийг тодорхойлох // Таны бөгж дээр байгаа LED -ийн хэмжээг #тодорхойлох CALIBRATIONTIME 20000
Adafruit_NeoPixel пиксел = Adafruit_NeoPixel (NUMPIXELS, PIXELSPIN, NEO_GRB + NEO_KHZ800);
гарын үсэг зураагүй урт пиксел Интервал = 500; // бид хүлээх хэрэгтэй цаг
тэмдэггүй урт өнгөWipePreviousMillis = 0; гарын үсэг зураагүй урт театрChasePreviousMillis = 0; гарын үсэг зураагүй урт солонгоPreviousMillis = 0; гарын үсэг зураагүй урт солонгоCyclesPreviousMillis = 0;
int театрChaseQ = 0;
uint16_t currentPixel = 0; // бид ямар пиксел дээр ажиллаж байна
// ХҮРЭЭ ~~~~~~~~~~~~~~~~~~~~~~
#оруулах #оруулах #оруулах
// Дахин тохируулах пин нь I2C эсвэл SPI -д ашиглагддаг
CAP1188_RESET 9 -ийг тодорхойлох
// CS pin нь програм хангамж эсвэл техник хангамжийн SPI -д ашиглагддаг
#тодорхойлох CAP1188_CS 10
// Эдгээр нь програм хангамжийн SPI, тоног төхөөрөмжийн SPI -ийн хувьд тодорхойлогдсон болно
// Arduino баримт бичигт байгаа ТУЗ -ийн SPI зүү #CAP1188_MOSI 11 -ийг тодорхойлох #CAP1188_MISO 12 -ийг тодорхойлох #CAP1188_CLK 13 -ийг тодорхойлох.
// I2C ашиглана уу, дахин тохируулах зүү байхгүй байна!
Adafruit_CAP1188 cap = Adafruit_CAP1188 ();
хүчингүй тохиргоо () {
// NEOPIXEL ~~~~~~~~~~~~~~~~~~ currentPixel = 0; пиксел.begin (); // Энэ нь NeoPixel номын санг эхлүүлдэг. пиксел.шоу (); // Энэ нь шинэчлэгдсэн пикселийн өнгийг техник хангамж руу илгээдэг.
// ХҮРЭЭ ~~~~~~~~~~~~~~~~~~~~~~
Цуваа.begin (300); Serial.println ("CAP1188 тест!");
if (! cap.begin ()) {
Serial.println ("CAP1188 олдсонгүй"); байхад (1); } Serial.println ("CAP1188 олдсон!"); }
void loop () {
// TOUCH + NEOPIXEL ~~~~~~~~~~~~~~~~~~~~~~~ uint8_t touch = cap.touched (); if (хүрсэн == 0) {if ((гарын үсэг зураагүй урт) (миллис () - colorWipePreviousMillis)> = пикселийн интервал) {colorWipePreviousMillis = millis (); colorWipe (пиксел. Өнгө (0, 255, 125)); }} өөр {if ((гарын үсэг зураагүй урт) (millis () - colorWipePreviousMillis)> = пикселийн интервал) {colorWipePreviousMillis = millis (); colorWipe (пиксел. Өнгө (100, 0, 150)); }}
}
хүчингүй colorWipe (uint32_t c) {
// NEOPIXEL ~~~~~~~~~~~~~~~~~ // Өнгө пикселээс сална.setPixelColor (currentPixel, c); piksel.setPixelColor (currentPixel - 1, пиксел. Өнгө (0, 0, 0)); пиксел.шоу (); currentPixel ++; if (currentPixel == NUMPIXELS) {currentPixel = 0; piksel.setPixelColor (7, пиксел. Өнгө (0, 0, 0));
}
}
Үүнийг туршиж үзээрэй, хөгжилтэй байгаарай! Таны харж байгаагаар C1 утсанд хүрэхэд өнгө өөрчлөгддөг. (Хэрэв энэ нь анх удаа болохгүй бол Arduino -г салгаад компьютер дээрээ дахин залгаарай.)
Алхам 2: Алхам 2: Дуу нэмэх
Гарын авлага ашиглан би үүнийг хийлээ. Хичээлийг доор харуулав.
github.com/xitangg/-Pirates-of-the-Caribbe…
Дуугаруулагчаа авах цаг боллоо! Дуугаруулагчийн (-) GND зүүгүүдийн нэгэнд (+) зүү 10 ~ -д оруулна уу
Энэ бол одоо л кодоо дахин ажиллуулж, Карибын тэнгисийн дээрэмчид гэсэн сайхан аялгууг сонсох цаг боллоо! Одоо туршилтаа хөгжилтэй өнгөрүүлээрэй!
// Жулиа Эмминк // Интерактив модны гэрэл, мэдрэгч, хөгжмийн код 2018-01-19 // Adafruit Neopixel болон Captive Touch (CAP1188) (суурилуулах болно) ашиглан хийгдсэн бөгөөд LED нь ямар ч сааталгүйгээр анивчдаг.
// NEOPIXEL ~~~~~~~~~~~~~~~~~#оруулах
PIXELSPIN 6 -ийг тодорхойлох
#тодорхойлох NUMPIXELS 8 #тодорхойлох калибрын цаг 20000
Adafruit_NeoPixel пиксел = Adafruit_NeoPixel (NUMPIXELS, PIXELSPIN, NEO_GRB + NEO_KHZ800);
гарын үсэг зураагүй урт пиксел Интервал = 500; // бид хүлээх хэрэгтэй цаг
тэмдэггүй урт өнгөWipePreviousMillis = 0; гарын үсэг зураагүй урт театрChasePreviousMillis = 0; гарын үсэг зураагүй урт солонгоPreviousMillis = 0; гарын үсэг зураагүй урт солонгоCyclesPreviousMillis = 0;
int театрChaseQ = 0;
uint16_t currentPixel = 0; // бид ямар пиксел дээр ажиллаж байна
// MUSIC ~~~~~~~~~~~~~~~~~~~~~~
const int buzzer = 10; // Pin 10 -ийг тодорхойлно уу, бусад ХОУХ -ны зүүг ашиглаж болно (5, 6 эсвэл 9) // Тэмдэглэлийн 3 ба 11 -р зүүг Arduino Uno const int songspeed = 1.5 дахь дууны функцийг ашиглах үед ашиглах боломжгүй; // Дууны удаан хувилбарыг 2 болгон өөрчилнө үү, том байх тусам дуу нь удааширна *************************** ************** #тодорхойлох NOTE_C4 262 // Тэмдэглэлийн давтамжийг тодорхойлох #тодорхойлох NOTE_D4 294 #Тодорхойлох NOTE_E4 330 #Тодорхойлох NOTE_F4 349 #Тодорхойлох NOTE_G4 392 #Тодорхойлох NOTE_A4 440 #Тодорхойлох NOTE_B4 494 #Тодорхойлох NOTE_C5 523 #тодорхойлох NOTE_D5 587 #тодорхойлох NOTE_E5 659 #тодорхойлох NOTE_F5 698 #тодорхойлох NOTE_G5 784 #тодорхойлох NOTE_A5 880 #тодорхойлох NOTE_B5 988 // *********************** ****************** int notes = {// Дууны тэмдэглэл, 0 бол амрах/импульс NOTE_E4, NOTE_G4, NOTE_A4, NOTE_A4, 0, NOTE_A4, NOTE_B4, NOTE_C5, NOTE_C5, 0, NOTE_C5, NOTE_D5, NOTE_B4, NOTE_B4, 0, NOTE_A4, NOTE_G4, NOTE_A4, 0}; // *************************************** int үргэлжлэх хугацаа = { / /тэмдэглэл бүрийн үргэлжлэх хугацаа (мс -ээр) Улирлын тэмдэглэлийг 250 ms 125, 125, 250, 125, 125, 125, 125, 125, 250, 125, 125, 125, 125, 125, 250, 125, 125, 125, 125, 375, 125};
// ХҮРЭЭ ~~~~~~~~~~~~~~~~~~~~~~
#оруулах #оруулах #оруулах
// Дахин тохируулах зүүг I2C эсвэл SPI -д ашигладаг
CAP1188_RESET 9 -ийг тодорхойлох
// CS pin нь програм хангамж эсвэл техник хангамжийн SPI -д ашиглагддаг
#тодорхойлох CAP1188_CS 10
// Эдгээр нь програм хангамжийн SPI, тоног төхөөрөмжийн SPI -ийн хувьд тодорхойлогдсон болно
// Arduino баримт бичигт байгаа ТУЗ -ийн SPI зүү #CAP1188_MOSI 11 -ийг тодорхойлох #CAP1188_MISO 12 -ийг тодорхойлох #CAP1188_CLK 13 -ийг тодорхойлох.
// I2C ашиглана уу, дахин тохируулах зүү байхгүй байна!
Adafruit_CAP1188 cap = Adafruit_CAP1188 ();
хүчингүй тохиргоо () {
// MUSIC ~~~~~~~~~~~~~~~~~~~~~~~ for (int i = 0; i <203; i ++) {// 203 бол хөгжмийн тэмдэглэлийн нийт тоо юм. дуу int wait = үргэлжлэх хугацаа * дууны хурд; ая (дуугаралт, тэмдэглэл , хүлээх); // ая (зүү, давтамж, үргэлжлэх хугацаа);} // саатал ашиглагддаг тул аяыг тоглож дуусаагүй байхад дараагийн давталт руу орохгүй // Та дууг дахин тоглуулахын тулд Arduino дээр дахин тохируулах дээр дарж болно // NEOPIXEL ~~~ ~~~~~~~~~~~~~~~~ currentPixel = 0; пиксел.begin (); // Энэ нь NeoPixel номын санг эхлүүлдэг. пиксел.шоу (); // Энэ нь шинэчлэгдсэн пикселийн өнгийг техник хангамж руу илгээдэг.
// ХҮРЭЭ ~~~~~~~~~~~~~~~~~~~~~~
Цуваа.begin (300); Serial.println ("CAP1188 тест!"); if (! cap.begin ()) {Serial.println ("CAP1188 олдсонгүй"); байхад (1); } Serial.println ("CAP1188 олдсон!");
}
void loop () {
// TOUCH + NEOPIXEL ~~~~~~~~~~~~~~~~~~~~~~~ uint8_t touch = cap.touched (); if (хүрсэн == 0) {if ((гарын үсэг зураагүй урт) (миллис () - colorWipePreviousMillis)> = пикселийн интервал) {colorWipePreviousMillis = millis (); colorWipe (пиксел. Өнгө (0, 255, 125)); }} өөр {if ((гарын үсэг зураагүй урт) (millis () - colorWipePreviousMillis)> = пикселийн интервал) {colorWipePreviousMillis = millis (); colorWipe (пиксел. Өнгө (100, 0, 150)); }}
for (int i = 0; i = пикселийн интервал) {
colorWipePreviousMillis = millis (); colorWipe (пиксел. Өнгө (0, 255, 125)); }} өөр {if ((гарын үсэг зураагүй урт) (millis () - colorWipePreviousMillis)> = пикселийн интервал) {colorWipePreviousMillis = millis (); colorWipe (пиксел. Өнгө (100, 0, 150)); }}
хойшлуулах (хүлээх);
}
}
хүчингүй colorWipe (uint32_t c) {
// NEOPIXEL ~~~~~~~~~~~~~~~~~ // Өнгө пикселээс сална.setPixelColor (currentPixel, c); piksel.setPixelColor (currentPixel-1, piksel. Color (0, 0, 0)); пиксел.шоу (); currentPixel ++; if (currentPixel == NUMPIXELS) {currentPixel = 0; piksel.setPixelColor (7, пиксел. Өнгө (0, 0, 0));
}
}
Алхам 3: Нэмэлт алхам: хожуулыг 'Arduino бэлэн болгох'



Хэрэв та модны хожуул ашиглахаар шийдсэн бол дараахь зүйлийг хийх хэрэгтэй.
- Модны хожуул ав (би хуучин зул сарын гацуур модноос үнэ төлбөргүй авсан)
- Arduino -г хэмжиж, модны хожуулд утсыг хэрхэн яаж хийхийг хүсч байгаагаа үзээрэй
- Хожуулыг нүхлэх (би сургуулиас өрмийн машин ашиглаж байсан)
- Барзгар ирмэгийг зүлгүүрээр арчина
- Хөгжилтэй жижиг нарийн ширийн зүйлийг нэмж оруулаарай
Миний нэмж оруулсан мэдээлэл бол лазер таслагчаар хийсэн жижиг лого юм. Би бас бүх электроникуудаа модныхоо дотор модонд хийж, гаднаа чихмэл амьтдын чихмэл нэмж, гэрлийг нэвтрүүлж, жижигхэн зөөлөн байдлыг өгчээ.
Зөвлөмж болгож буй:
Arduino Piezo Buzzer төгөлдөр хуур: 5 алхам

Arduino Piezo Buzzer төгөлдөр хуур: Энд бид пьезо дуугаруулагчийг чанга яригч болгон ашигладаг Arduino төгөлдөр хуур хийх болно. Энэхүү төсөл нь өргөжүүлэх боломжтой бөгөөд танаас хамаарч их эсвэл бага тэмдэглэлтэй ажиллах боломжтой! Бид үүнийг хялбарчлахын тулд зөвхөн дөрвөн товчлуур/түлхүүрээр бүтээх болно. Энэ бол хөгжилтэй, хялбар төсөл юм
Magicbit дээрх Buzzer -ийг ашиглаарай [Magicblocks]: 4 алхам
![Magicbit дээрх Buzzer -ийг ашиглаарай [Magicblocks]: 4 алхам Magicbit дээрх Buzzer -ийг ашиглаарай [Magicblocks]: 4 алхам](https://i.howwhatproduce.com/images/002/image-3511-j.webp)
Magicbit дээр Buzzer ашиглах [Magicblocks]: Энэхүү заавар нь Magicbit дээр дуугарагчийг Magicblocks ашиглан ашиглахыг заах болно. Бид ESP32 дээр суурилсан энэхүү төсөлд magicbit -ийг хөгжлийн самбар болгон ашиглаж байна. Тиймээс энэ төсөлд ESP32 хөгжүүлэх самбарыг ашиглаж болно
ATMEGA328P (Arduino) DIY ашиглан Quiz Buzzer: 3 алхам

ATMEGA328P (Arduino) DIY ашиглан Quiz Buzzer: Асуулт хариултын уралдааны үеэр бүх багуудад асуулт нээлттэй байдаг. Хариултыг мэддэг хүн эхлээд дуугарагчийг цохиж, дараа нь асуултанд хариулдаг. Заримдаа хоёр ба түүнээс дээш тоглогч дуугарагчийг нэгэн зэрэг дардаг бөгөөд энэ нь үнэхээр
ESP32 Captive Portal нь статик болон DHCP IP тохиргоог тохируулах: 8 алхам

Статик болон DHCP IP тохиргоог тохируулах ESP32 Captive Portal: ESP 32 бол нэгдсэн WiFi ба BLE бүхий төхөөрөмж юм. Энэ нь IoT төслүүдийн хувьд сайн зүйл юм. Зүгээр л SSID, нууц үг, IP -ийнхээ тохиргоог өгөөд үүлэн доторх зүйлсийг нэгтгээрэй. Гэхдээ IP тохиргоо болон хэрэглэгчийн итгэмжлэлийг удирдах нь толгой болж чадна
Arduino Quiz Buzzer: 8 алхам (зурагтай)

Arduino Quiz Buzzer: Сайн байна уу! Энэ бол миний анхны зааварчилгаа юм. Тоглоомын шоу хөтлөгч мэргэжил нэгт маань Quiz Buzzer хийж чадах хүмүүсийг асуухад Quiz -ийн дохионы төлөвлөгөө эхэлсэн. Би энэ төслийг хэдхэн найзуудынхаа тусламжтайгаар авсан (Блэйз ба Эррол) ба