Სარჩევი:
- ნაბიჯი 1: ნაბიჯი 1: LED ბეჭედი ტყვე შეხებით
- ნაბიჯი 2: ნაბიჯი 2: ხმის დამატება
- ნაბიჯი 3: დამატებითი ნაბიჯი: Stump მზადდება Arduino– სთვის
ვიდეო: Arduino MusicStump: Light, Captive Touch and Buzzer: 3 Steps
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:20
ინტერაქტიული ხე, რომელსაც აქვს LED ბეჭედი ზედა ნაწილში, ზარის გასაძლიერებლად და შიგნით შეხების სენსორი, რომელიც იცვლის ფერს შეხებისას. ამ სახალისო პატარა ნივთის გასაკეთებლად დაგჭირდებათ შემდეგი:
ელექტრონიკა:- 1x Arduino Uno
- 15x კაბელი
- 1x soldering რკინის ერთად მრგვალი წვერი
- 1x Adafruit 8-გასაღები ტყვეობაში შეხება (CAP1188)
- 1x Arduino დენის კაბელი
- 1x8 LED ბეჭედი
- 1x Buzzer
- 1x ცხელი წებოს იარაღი
-ჩამოტვირთეთ ბიბლიოთეკა CAP1188
- ჩამოტვირთეთ Adafruit Neopixel ბიბლიოთეკა
დამატებითი (გარსაცმები):
- 1x ხის stump
- 1x ჯოხი შიგნით
- ხის ლანგარი, რომ ყველაფერი მოათავსოთ/ჩასვათ
- გარედან ცხოველების ჩაყრილი შიგთავსი
თქვენ ასევე შეგიძლიათ გამოიყენოთ რაიმე სხვა, როგორც გარეთ, იყავით შემოქმედებითი!
ახლა დავიწყოთ…
ნაბიჯი 1: ნაბიჯი 1: LED ბეჭედი ტყვე შეხებით
ახლა თუ გაგიმართლათ, თქვენს LED ბეჭედს უკვე აქვს მიმაგრებული ქინძისთავები. თუ არადა დროა შედუღების!
ის, რასაც ჩვენ გამოვიყენებთ ამ პროექტისთვის, არის:
- DI (ციფრული შეყვანა, პინ 6 ~
- 5V (სიმძლავრისთვის, 5V pin)
- GND (მიწა, GND pin)
ეს არის LED ბეჭედი ახლა. ახლა ტყვეობაში შეხება.
მოათავსეთ იგი დაფაზე და შეაერთეთ ყველაფერი შემდეგნაირად: SDA/MISO პინში (ანალოგიში) A4SCK პინში (ანალოგიში) A5VIN in (ძალა) 5VGND GND pin1x კაბელში C1 (თავად ტყვეობის შეხებაზე)
ახლა შესამოწმებლად ატვირთეთ შემდეგი კოდი თქვენს არდუინოში:
// ჯულია ემინკი // სინათლისა და შეხების კოდი ინტერაქტიული ხის 19 /// დამზადებულია Adafruit Neopixel და Adafruit captive touch (CAP1188) (დაინსტალირდება) და LED მოციმციმე დაყოვნების გარეშე
// NEOPIXEL
#ჩართეთ
#განსაზღვრეთ PIXELSPIN 6 // სად შეაერთეთ LED ბეჭედი
#განსაზღვრეთ NUMPIXELS 8 // LED- ების რაოდენობა, რომლებიც თქვენს ბეჭედზეა #განსაზღვრეთ კალიბრაცია დრო 20000
Adafruit_NeoPixel პიქსელი = Adafruit_NeoPixel (NUMPIXELS, PIXELSPIN, NEO_GRB + NEO_KHZ800);
ხელმოუწერელი გრძელი პიქსელი ინტერვალი = 500; // დრო, რომელიც უნდა დაველოდოთ
ხელმოუწერელი გრძელი ფერიWipePreviousMillis = 0; ხელმოუწერელი გრძელი თეატრი ChasePreviousMillis = 0; ხელმოუწერელი გრძელი ცისარტყელა წინასწარიმილის = 0; ხელმოუწერელი გრძელი ცისარტყელა CyclesPreviousMillis = 0;
int theaterChaseQ = 0;
uint16_t currentPixel = 0; // რა პიქსელზე ვმუშაობთ
// შეხება
#ჩართეთ #ჩართეთ #ჩართეთ
// გადატვირთვა Pin გამოიყენება I2C ან SPI
#განსაზღვრეთ CAP1188_RESET 9
// CS პინი გამოიყენება SPI პროგრამული უზრუნველყოფის ან ტექნიკისათვის
#განსაზღვრეთ CAP1188_CS 10
// ესენი განსაზღვრულია პროგრამული უზრუნველყოფის SPI– სთვის, ტექნიკური SPI– სთვის, შეამოწმეთ თქვენი
// დაფის SPI ქინძისთავები Arduino დოკუმენტაციაში #განსაზღვრეთ CAP1188_MOSI 11 #განსაზღვრეთ CAP1188_MISO 12 #განსაზღვრეთ CAP1188_CLK 13
// გამოიყენეთ I2C, გადატვირთვის პინის გარეშე!
Adafruit_CAP1188 cap = Adafruit_CAP1188 ();
void setup () {
// NEOPIXEL ~~~~~~~~~~~~~~~~~~ currentPixel = 0; pixels.begin (); // ეს ინიციალებს NeoPixel ბიბლიოთეკას. pixels.show (); // ეს აგზავნის განახლებული პიქსელის ფერს აპარატურაზე.
// შეხება
სერიული. დასაწყისი (300); Serial.println ("ტესტი CAP1188!");
თუ (! cap.begin ()) {
Serial.println ("CAP1188 ვერ მოიძებნა"); ხოლო (1); } Serial.println ("ნაპოვნია CAP1188!"); }
ბათილი მარყუჟი () {
// შეხება + NEOPIXEL ~~~~~~~~~~~~~~~~~~~~~~ uint8_t შეეხო = cap.touched (); if (შეეხო == 0) {if ((ხელმოუწერელი გრძელია) (მილილი () - colorWipePreviousMillis)> = pixelsInterval) {colorWipePreviousMillis = millis (); colorWipe (პიქსელი. ფერი (0, 255, 125)); }} სხვა {if ((ხელმოუწერელი გრძელი) (მილილი () - colorWipePreviousMillis)> = pixelsInterval) {colorWipePreviousMillis = millis (); colorWipe (პიქსელი. ფერი (100, 0, 150)); }}
}
ბათილი ფერიWipe (uint32_t გ) {
// NEOPIXEL ~~~~~~~~~~~~~~~~~~ // ათავისუფლებს ფერს pixels.setPixelColor (მიმდინარე პიქსელი, გ); pixels.setPixelColor (მიმდინარე პიქსელი - 1, პიქსელი. ფერი (0, 0, 0)); pixels.show (); მიმდინარე Pixel ++; if (currentPixel == NUMPIXELS) {currentPixel = 0; pixels.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; ხელმოუწერელი გრძელი ცისარტყელა წინამილის = 0; ხელმოუწერელი გრძელი ცისარტყელა CyclesPreviousMillis = 0;
int theaterChaseQ = 0;
uint16_t currentPixel = 0; // რა პიქსელზე ვმუშაობთ
// მუსიკა ~~~~~~~~~~~~~~~~~~~~~~
const int buzzer = 10; // განსაზღვრეთ პინ 10, შეგიძლიათ გამოიყენოთ სხვა PWM ქინძისთავები (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 #define 523 #განსაზღვრეთ NOTE_D5 587 #განსაზღვრეთ NOTE_E5 659 #განსაზღვრეთ NOTE_F5 698 #განსაზღვრეთ NOTE_G5 784 #განსაზღვრეთ NOTE_A5 880 #განსაზღვრეთ NOTE_B5 988 // *********************** ****************** int შენიშვნები = {// სიმღერის შენიშვნა, 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 = { / /თითოეული ნოტის ხანგრძლივობა (ms) მეოთხედი შენიშვნა არის 250 ms 125, 125, 250, 125, 125, 125, 125, 250, 125, 125, 125, 125, 250, 125, 125, 125, 125, 375, 125};
// შეხება
#ჩართეთ #ჩართეთ #ჩართეთ
// გადატვირთვა Pin გამოიყენება I2C ან SPI
#განსაზღვრეთ CAP1188_RESET 9
// CS პინი გამოიყენება SPI პროგრამული უზრუნველყოფის ან ტექნიკისათვის
#განსაზღვრეთ CAP1188_CS 10
// ესენი განსაზღვრულია პროგრამული უზრუნველყოფის SPI– სთვის, ტექნიკური SPI– სთვის, შეამოწმეთ თქვენი
// დაფის SPI ქინძისთავები Arduino დოკუმენტაციაში #განსაზღვრეთ CAP1188_MOSI 11 #განსაზღვრეთ CAP1188_MISO 12 #განსაზღვრეთ CAP1188_CLK 13
// გამოიყენეთ I2C, გადატვირთვის პინის გარეშე!
Adafruit_CAP1188 cap = Adafruit_CAP1188 ();
void setup () {
// MUSIC ~~~~~~~~~~~~~~~~~~~~~~ for (int i = 0; i <203; i ++) {// 203 არის მუსიკალური ნოტების საერთო რაოდენობა სიმღერა int ლოდინი = ხანგრძლივობა * სიმღერების სიჩქარე; ტონი (ზუზუნი, შენიშვნები , ლოდინი); // ტონი (პინი, სიხშირე, ხანგრძლივობა);} // შეფერხება გამოიყენება, რათა ის არ გადავიდეს მომდევნო მარყუჟზე ტონის დამთავრებამდე // თქვენ შეგიძლიათ დააწკაპუნოთ Arduino– ზე გადატვირთვა სიმღერის გასახსნელად // NEOPIXEL ~~~~~~~~~~~~~~~ მიმდინარე პიქსელი = 0; pixels.begin (); // ეს ინიციალებს NeoPixel ბიბლიოთეკას. pixels.show (); // ეს აგზავნის განახლებული პიქსელის ფერს აპარატურაზე.
// შეხება
სერიული. დასაწყისი (300); Serial.println ("ტესტი CAP1188!"); if (! cap.begin ()) {Serial.println ("CAP1188 ვერ მოიძებნა"); ხოლო (1); } Serial.println ("ნაპოვნია CAP1188!");
}
ბათილი მარყუჟი () {
// შეხება + NEOPIXEL ~~~~~~~~~~~~~~~~~~~~~~ uint8_t შეეხო = cap.touched (); if (შეეხო == 0) {if ((ხელმოუწერელი გრძელია) (მილილი () - colorWipePreviousMillis)> = pixelsInterval) {colorWipePreviousMillis = millis (); colorWipe (პიქსელი. ფერი (0, 255, 125)); }} სხვა {if ((ხელმოუწერელი გრძელი) (მილილი () - colorWipePreviousMillis)> = pixelsInterval) {colorWipePreviousMillis = millis (); colorWipe (პიქსელი. ფერი (100, 0, 150)); }}
for (int i = 0; i = pixelsInterval) {
colorWipePreviousMillis = millis (); colorWipe (პიქსელი. ფერი (0, 255, 125)); }} სხვა {if ((ხელმოუწერელი გრძელი) (მილილი () - colorWipePreviousMillis)> = pixelsInterval) {colorWipePreviousMillis = millis (); colorWipe (პიქსელები. ფერი (100, 0, 150)); }}
დაგვიანება (ლოდინი);
}
}
ბათილი ფერიWipe (uint32_t გ) {
// NEOPIXEL ~~~~~~~~~~~~~~~~~~ // ათავისუფლებს ფერს pixels.setPixelColor (მიმდინარე პიქსელი, გ); pixels.setPixelColor (მიმდინარე Pixel-1, pixels. Color (0, 0, 0)); pixels.show (); მიმდინარე Pixel ++; if (currentPixel == NUMPIXELS) {currentPixel = 0; pixels.setPixelColor (7, პიქსელი. ფერი (0, 0, 0));
}
}
ნაბიჯი 3: დამატებითი ნაბიჯი: Stump მზადდება Arduino– სთვის
თუ თქვენ გადაწყვეტთ ხის ღეროს გამოყენებას, თქვენ უნდა გააკეთოთ შემდეგი.
- მიიღეთ ხის ჩეხი (მე მივიღე ერთი ძველი ნაძვის ხისგან უფასოდ)
- გაზომეთ თქვენი არდუინო და ნახეთ, თუ როგორ გსურთ გაყვანილობა ხის ღეროში
- ამოიღეთ მუწუკი (სკოლიდან გამოვიყენე საბურღი მანქანა)
- ქვიშა უხეში კიდეები
- დაამატეთ სახალისო მცირე დეტალები
დეტალები, რომლებიც მე დავამატე, იყო პატარა ლოგო, რომელიც მე გავაკეთე ლაზერული საჭრელით. მე ასევე დავდე ჩემი ყველა ელექტრონიკა შიგნით ჩხირზე, ჩემი ხის შიგნით და გარედან დავამატე ცხოველების შიგთავსით შიგთავსები, რათა შუქი გაშვებულიყო და მიეცა ეს პატარა დამატებითი რბილობა.
გირჩევთ:
Node Mcu Indian Car Central Lock With Rfid and Blynk Timer Unlock: 9 Steps
Node Mcu Indian Car Central Lock With Rfid and Blynk Timer Unlock: მე დღეს გაჩვენებთ ინდური სტილის ავტომობილს სრულად ავტომატიზირებული ცენტრალური საკეტი rfid tag blynk wifi კონტროლით და დროის განბლოკვით. მას ასევე აქვს ნორმალური ცენტრალური საკეტის ყველა მახასიათებელი. ეს მანქანა ცენტრალური საკეტი მუშაობს ოფლაინ აქტივაცია მოითხოვს ქსელის საკეტებს
Heatpump Error Detection and Alarm ESP8266, Openhab, Telegram, Battery Powered MQTT: 5 Steps
Heatpump Error Detection and Alarm ეს შეცდომა არ არის ადვილად შესამჩნევი, ვინაიდან არ არის წითელი შუქი ან რამე, მხოლოდ მცირე 'P' პატარა LCD ეკრანზე. ამიტომ მე გავაკეთე ეს დეტექტორი შეცდომის გამოსავლენად და
IoT- Ubidots- ESP32+Long-Range-Wireless-Vibration-And-Temperature-Sensor: 7 Steps
IoT- Ubidots- ESP32+Long-Range-Wireless-Vibration-And-Temperature-Sensor: ვიბრაცია ნამდვილად არის მანქანების და კომპონენტების მოძრაობა ან მოძრაობა მოტორიზებულ მოწყობილობებში. ვიბრაცია ინდუსტრიულ სისტემაში შეიძლება იყოს პრობლემის სიმპტომი ან მოტივი, ან ის შეიძლება იყოს დაკავშირებული ყოველდღიურ მუშაობასთან. მაგალითად, ოსცი
Roll and Pitch Axis Gimbal for GoPro Arduino Using - Servo and MPU6050 Gyro: 4 Steps
Roll and Pitch Axis Gimbal for GoPro გამოყენება Arduino - Servo და MPU6050 Gyro: ეს ინსტრუქცია შეიქმნა სამხრეთ ფლორიდის უნივერსიტეტის Makecourse– ის პროექტის მოთხოვნის შესასრულებლად (www.makecourse.com) ამ პროექტის მიზანი იყო ავაშენოთ 3 ღერძიანი გიმბალი GoPro– სთვის Arduino nano + 3 servo ძრავის გამოყენებით +
Arduino Light Sensor Buzzer: 3 ნაბიჯი
Arduino Light Sensor Buzzer: ეს დიზაინი გამოიყენება ბნელ ადგილას ჩასასმელად და განგაშის ხმა გაისმის, როდესაც ბნელ ადგილს გახსნით. ის იყენებს სინათლისადმი მგრძნობიარე რეზისტორს და ჩუმად არის, როცა ბნელია და ხმაურს გამოსცემს, როცა სინათლეა. ეს დაგეხმარებათ დაიცვათ თქვენი