Სარჩევი:
ვიდეო: Arduino თავსატეხი ყუთი: 7 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:17
ამ პროექტისთვის ჩვენ ვაკეთებთ თავსატეხის ყუთს, რომელიც მუშაობს მუსიკასთან. მისი ძირითადი არსი ის არის, რომ ღილაკზე დაჭერისას ის ათავისუფლებს მელოდიას და არდუინო ითვლის რომელი ღილაკები დაჭერილია ისე რომ მან იცის რა არის სწორი და რა არის არასწორი პასუხი.
მარაგები
1 x Arduino uno
1 x 1k Ohm რეზისტორი
5 x 220 Ohm რეზისტორები
1 xPiezo Buzzer
5 x ღილაკი 6x6 მმ
1 x კომპლექტი Jumper მავთულები
1 x პერფ/ზოლის დაფა
1 x solderset
1 x დამოკიდებული
1 x დამჭერი
1 x პატარა უჯრა უჯრა/ხე
1x ცხელი წებოს იარაღი + წებო ჩხირები
1 x 9 ვ ბატარეა + დამჭერი
ცოტა ვურბლა
საღებავი
Ნაბიჯი 1:
დასაწყისისთვის თქვენ უნდა დააჭიროთ თქვენს ქინძისთავებს თქვენს დაფაზე. ახლა დააკავშირეთ ანალოგი 2 მავთულით დაფის კუთხეში. ჩვენ ვაპირებთ მას დავუკავშიროთ ორი რეზისტორი ხაზში. პირველი არის 10k Ohm რეზისტორი. ამ რეზისტორის მეორე ბოლოში ჩვენ ვაკავშირებთ მავთულს ანალოგურ მიწასთან. მეორე რეზისტორი არის 220 Ohm რეზისტორი, რომელსაც ჩვენ ვუკავშირდებით პირველ ღილაკს. გამოიყენეთ იმავე მნიშვნელობის სხვა რეზისტორი, რათა დააკავშიროთ ღილაკის მეორე ღია მხარე მეორე ღილაკთან. განაგრძეთ მსგავსი ღილაკების დაკავშირება ბოლომდე. ბოლოს თქვენ აიღებთ მავთულს და უკავშირებთ მას ღილაკის შესაბამის დახურულ მხარეს და აერთებთ მას მომდევნო რიგში. თქვენ ახლა გაიმეორებთ იმ პროცესს, რაც რეზისტორებთან გააკეთეთ მხოლოდ უბრალო მავთულხლართებით. შეაერთეთ პირველი ღილაკი თქვენს Arduino– ს ანალოგიურ 3, 3V პორტთან. საერთო ჯამში თქვენ მიიღებთ ერთგვარ ჯვარცმულ მამას, როგორც ქვემოთ არის გამოსახული.
ნაბიჯი 2:
შემდეგ შეაერთეთ ზუზუნში ბორბალზე და მიამაგრეთ ერთი მხარე ციფრულ ადგილზე და მეორე 12 პორტში. გონივრულია უკვე ატვირთოთ შემდეგი კოდი თქვენს Arduino– ში, ასე რომ თქვენ შეგიძლიათ შეამოწმოთ მუშაობს თუ არა ყველაფერი სწორად. თუ ასეა, შეგიძლიათ დაიწყოთ კომპონენტების ერთმანეთთან შედუღება. გააკეთეთ ეს პურიდან ამოღებით და პირდაპირ მავთულხლართებითა და კავშირებით. თუ ფიქრობთ, რომ გჭირდებათ მეტი სიგრძე ღილაკებს შორის, შეგიძლიათ დაამატოთ დამატებითი მავთული რეზისტორებს შორის. პურის დაფა ამ ეტაპზე აღარ არის საჭირო.
ნაბიჯი 3:
მას შემდეგ რაც ყველაფერი შედუღდება დროა თავად გააკეთოთ ყუთი. მე გამოვიყენე უჯრების იაფი ნაკრები, როგორც ჩემი საფუძველი. მე უბრალოდ გავჭრა შუაზე სიგრძეზე და ამოვიღე უკანა და გვერდითი მხარე. თქვენ უნდა გქონდეთ ორი c ფორმის ნაჭერი. ერთი მათგანის ერთი მხარე გაჭერით სახურავად. ახლა გადაატრიალეთ ერთი დარჩენილი ნაჭერი ისე, რომ ისინი ერთმანეთთან ერთად მოთავსდეს უნაკლო ყუთში და დააწებოთ ისინი ერთმანეთთან. მას შემდეგ, რაც წებო სწორად დადგით, გახსენით პატარა ხვრელი ყუთის თითოეულ მხარეს ღილაკებისთვის და უფრო დიდი ზუზერისთვის სახურავზე.
ნაბიჯი 4:
ახლა თქვენ შეგიძლიათ გადახვიდეთ ყუთზე. მე გავაკეთე ჩემი ყვავილი დიზაინით, რომელიც დაფუძნებულია BOTW– ზე, მაგრამ თქვენ ნამდვილად შეგიძლიათ აირჩიოთ თქვენთვის სასურველი ნებისმიერი დიზაინი. ამის გაკეთების შემდეგ თქვენ შეგიძლიათ განათავსოთ ღილაკები ხვრელების შიგნით და განათავსოთ წებო გლობუსი ღილაკის უკანა მხარეს და მიმდებარე ხეზე. იგივე პრინციპი ვრცელდება ზუზერზე, მაგრამ ჩემი მშვენივრად ჯდება ხვრელში, რაც მას ზედმეტს ხდის. შემდეგ აიღებ ვურბლას და გააცხელებ და გაჭრი, რათა გააკეთო პატარა ღილაკები. ფრთხილად მიამაგრეთ ისინი ღილაკებზე, მაგრამ დარწმუნდით, რომ არ გამოიყენოთ ბევრი წებო, რადგან თქვენ შეიძლება შემთხვევით დაიჭიროთ ღილაკები. ახლა თქვენ შეგიძლიათ დახატოთ ისინი, რათა უფრო მეტად შეერწყას ყუთს.
ნაბიჯი 5:
ბოლოს თქვენ წებოვებით ან ხრახნით, სამაგრს და საკინძებს ყუთზე და სახურავზე აკავშირებთ ორს.
ნაბიჯი 6:
როდესაც თქვენი ყუთი დასრულებულია, თქვენ მხოლოდ უნდა ჩასვათ არდუინო და ბატარეა შიგნით და დახუროთ სახურავი.
ნაბიჯი 7: კოდი
// ეს არის კოდი ზელდას თემატური თავსატეხის/მუსიკალური ყუთისთვის.
// ეს აკავშირებს თქვენს კოდს სხვა ჩანართში შენიშვნების სიასთან
#მოიცავს "მოედნებს.ჰ"
// ეს ცვლადი უზრუნველყოფს, რომ Arduino ხედავს ღილაკის უფრო ხანგრძლივ დაჭერას, როგორც მხოლოდ ერთ დაჭერას
int იგივე = 0;
// აქედან წაიკითხავს თქვენს შეყვანას
int k = 2;
// ეს არის თქვენი გამომავალი პინი
int სპიკერი = 12;
// ქვემოთ მოცემულია ბოლო მელოდიები
int Zelda = {NOTE_B4, NOTE_D5, NOTE_A4, NOTE_G4, NOTE_A4, NOTE_B4, NOTE_D5, NOTE_A4, NOTE_G4, NOTE_A4, NOTE_B4, NOTE_D5, NOTE_A5, NOTE_G5, NOTEB5, NOTE_D5, NOTEB5, NOTE_D5, NOTE_D5, NOTE_D5, NOTEB5, NOTE_D5, NOTE_DE, NOTE_5, NOTEB5, NOTE_D5, NOTE_5, NOTEB5, NOTE4
int ZeldaTime = {2, 4, 2, 4, 4, 2, 2, 2, 4, 4, 2, 4, 2, 2, 2, 4, 4, 2};
int Epona = {NOTE_D5, NOTE_B4, NOTE_A4, NOTE_D5, NOTE_B4, NOTE_A4, NOTE_D5, NOTE_B4, NOTE_A4, NOTE_B4, NOTE_A4};
int EponaTime = {4, 4, 1.5, 4, 4, 1.5, 4, 4, 2, 2, 1};
int სარია = {NOTE_F4, NOTE_A4, NOTE_B4, NOTE_F4, NOTE_A4, NOTE_B4, NOTE_F4, NOTE_A4, NOTE_B4, NOTE_E5, NOTE_D5, NOTE_B4, NOTE_C5, NOTE_B4, NOTE44, NOTE_4, NOTE_4, NOTE_4, NOTE4, int SariaTime = {8, 8, 4, 8, 8, 4, 8, 8, 8, 8, 4, 8, 8, 8, 8, 3, 8, 8, 8, 2, 1};
// შენიშვნის ნორმალური ხანგრძლივობა
int BEATTIME = 300;
// მრიცხველი, რომელიც თვალყურს ადევნებს, თუ ჩვენ ვართ გამოსავალში
int მთქმელი = 0;
void setup () {
სერიული.დაწყება (9600);
pinMode (2, INPUT);
pinMode (1, INPUT);
}
ბათილი მარყუჟი () {
// კითხულობს ქინძისთავებიდან შეყვანას
k = analogRead (2);
int p = analogRead (1);
// თუ რაიმე ღილაკზე დაჭერილი არ უნდა იყოს ტონი
თუ (მთხრობელი == 0) {
noTone (12);
}
// თუ წაკითხული მონაცემები შეესაბამება პარამეტრებს გაუშვით აღწერილი ბიტის კოდი
თუ (k> 320 && k <350) {
rechts ();
}
//""
სხვა შემთხვევაში თუ (k 290) {
ბმულები ();
}
//""
სხვა შემთხვევაში თუ (k> 260 && k <280) {
ნაქსოვი ();
}
//""
სხვა შემთხვევაში თუ (k> 240 && k <260) {
ონდერი ();
}
//""
სხვა შემთხვევაში თუ (k> 220 && k <240) {
a ();
}
// თუ ეს ასე არ არის (როდესაც არცერთი ღილაკი არ არის დაჭერილი), გაუშვით ეს კოდი
სხვა {
// გადატვირთეთ იგივე, რომ მისი გამოყენება შესაძლებელია ღილაკზე დაჭერის შემდეგ ჯერზე
იგივე = 0;
// თუ მრიცხველი არის გარკვეულ რიცხვამდე გაუშვით აღწერილი კოდის ბიტი
თუ (მთხრობელი == 166) {
ზელდა ();
}
//""
სხვაგან თუ (მთხრობელი == 386) {
სარია ();
}
//""
სხვა შემთხვევაში (მთხრობელი == 266) {
ეპონა ();
}
//""
სხვა შემთხვევაში თუ (მთხრობელი == 999) {
// შეცვალეთ ეს ტონი შეცდომის აღსანიშნავად
ტონი (სპიკერი, NOTE_C3, BEATTIME);
// აღადგინეთ მრიცხველი 0 -ზე
მთქმელი = 0;
}
}
// შეფერხება შეყვანისას და გამომავალს შორის
დაგვიანება (100);
// ბეჭდავს თქვენი შეყვანის მნიშვნელობებს სერიულ მონიტორში
სერიული. ბეჭდვა (კ);
}
// ეს არის პირველი მელოდია
void zelda () {
// ეს ადგენს მრიცხველს, რომელიც მელოდიის დაკვრისას განახლდება და მას შეუძლია წაიკითხოს და შეწყვიტოს როცა საჭიროა
for (int i = 0; i <sizeof (Zelda); i ++) {
// ამბობს რამდენ ხანს უნდა გაგრძელდეს შენიშვნა
int ZTime = 1000 / ZeldaTime ;
// წარმოქმნის ტონებს
ტონი (სპიკერი, ზელდა , ZTime);
// ქმნის სწორ შეფერხებას
int პაუზა = ZTime * 1.30;
შეფერხება (პაუზა);
// აღადგენს მრიცხველს
მთქმელი = 0;
// ბეჭდავს თქვენი შეყვანის მნიშვნელობებს სერიულ მონიტორში
Serial.println (მთქმელი);
}
}
//""
void epona () {
for (int i = 0; i <sizeof (Epona); i ++) {
int ETime = 1000 / EponaTime ;
ტონი (სპიკერი, Epona , ETime);
int პაუზა = ETime * 1.30;
შეფერხება (პაუზა);
მთქმელი = 0;
Serial.println (მთქმელი);
}
}
//""
void saria () {
for (int i = 0; i <sizeof (სარია); i ++) {
int STime = 1000 / SariaTime ;
ტონი (სპიკერი, სარია , STime);
int პაუზა = დრო * 1.30;
შეფერხება (პაუზა);
მთქმელი = 0;
Serial.println (მთქმელი);
}
}
void rec
hts () {
// თუ ეს უკვე არ იყო დაჭერილი
თუ (იგივე == 0) {
// თუ მრიცხველს ამჟამად აქვს ერთი ამ მნიშვნელობიდან, დაამატეთ მას
თუ (მომხსენებელი == 0 || მთხრობელი == 132 || მთხრობელი == 165 || მთხრობელი == 232 || მთხრობელი == 265 || მთხრობელი == 331 || მთხრობელი == 374) {
მთქმელი = მთხრობელი + 1;
}
// სხვაგვარად დააყენეთ ის 999 -ზე, რათა მოისმინოთ შეცდომის ხმაური
სხვა {
მთქმელი = 999;
}
// დააყენეთ ერთი ისე, რომ არდუინომ არ წაიკითხოს გახანგრძლივებული პრესი მრავალჯერადი დაჭერის სახით
იგივე = 1;
}
// ტონის დაკვრა
სხვა {
ტონი (სპიკერი, NOTE_A4, BEATTIME);
}
// ბეჭდავს თქვენი შეყვანის მნიშვნელობებს სერიულ მონიტორში
Serial.println (მთქმელი); }
//""
ბათილი ბმულები () {
თუ (იგივე == 0) {
თუ (მომხსენებელი == 133 || მთხრობელი == 254 || მთხრობელი == 244 || მთხრობელი == 332 || მთხრობელი == 375 || მთხრობელი == 221) {
მთხრობელი = მთხრობელი + 11;
}
სხვა შემთხვევაში თუ (მთხრობელი == 0) {
მთქმელი = 111;
}
სხვა {
მთქმელი = 999;
}
იგივე = 1;
} სხვა {
ტონი (სპიკერი, NOTE_B4, BEATTIME);
} Serial.println (მთქმელი);
}
//""
void boven () {
თუ (იგივე == 0) {თუ (მთხრობელი == 111 || მთხრობელი == 144 || მთხრობელი == 233) {
მთხრობელი = მთხრობელი + 21;
}
სხვა შემთხვევაში თუ (მთხრობელი == 0) {
მთქმელი = 221;
}
სხვა {
მთქმელი = 999;
}
იგივე = 1;
}
სხვა {
ტონი (სპიკერი, NOTE_D5, BEATTIME);
Serial.println (მთქმელი);
}
}
//""
void onder () {
თუ (იგივე == 0) {
თუ (მთქმელი == 343) {
მთქმელი = მთქმელი + 31;
}
სხვა შემთხვევაში თუ (მთხრობელი == 0) {
მთქმელი = 331;
} სხვა {
მთქმელი = 999;
} იგივე = 1;
} სხვა {
ტონი (სპიკერი, NOTE_F4, BEATTIME);
Serial.println (მთქმელი);
}
}
//""
ბათილია a () {
თუ (იგივე == 0) {
თუ (მთხრობელი == 0) {
მთქმელი = 461;
}
სხვა {
მთქმელი = 999;
}
იგივე = 1;
}
ტონი (სპიკერი, NOTE_D4, BEATTIME);
Serial.println (მთქმელი);
}
გირჩევთ:
Crack the Code Game, Arduino დაფუძნებული თავსატეხი: 4 ნაბიჯი (სურათებით)
გატეხეთ კოდის თამაში, Arduino დაფუძნებული თავსატეხი: ამ ინსტრუქციაში მე გაჩვენებთ თუ როგორ უნდა ააწყოთ თქვენი საკუთარი ბზარი კოდის თამაში, რომელშიც თქვენ იყენებთ მბრუნავ კოდირების აკრიფეს შემთხვევით გენერირებული კოდის სეიფში გამოცნობის მიზნით. სეიფის წინა მხარეს არის 8 LED, რომ გითხრათ რამდენი
Arduino 'breadbot' თავსატეხი: 6 ნაბიჯი (სურათებით)
Arduino 'breadbot' თავსატეხი: ოჰ არა! ჩემს პატარა რობოტს სჭირდება რამდენიმე მავთული, რომ კვლავ გაცოცხლდეს! დღეს ჩვენ გავაკეთებთ თავსატეხს, რომელიც შესაძლოა არდუინოს დამწყებ მომხმარებლებს ასწავლოს პურის ბორდინგის შესახებ. ამიტომაც გავაკეთე ეს! თქვენ შეგიძლიათ გახადოთ ის რაც შეიძლება რთული, მაგრამ მე ავირჩიე
ბარბის ყუთი: შენიღბული ყუთი/ ბუმი თქვენი Mp3 მოთამაშისთვის: 4 ნაბიჯი (სურათებით)
Barbie Box: შენიღბული კამერის/ ბუმის ყუთი შენი Mp3 მოთამაშისთვის: ეს არის თქვენი mp3 პლეერის დამცავი ჩანთა, რომელიც ყურსასმენის ჯეკს გარდაქმნის მეოთხედ ინჩზე, შეუძლია იმოქმედოს როგორც ბუმის ყუთი გადამრთველის გადასაბრუნებლად და შენიღბავს თქვენს mp3 პლეერს, როგორც ადრეული ოთხმოცდაათიანი წლების მაგნიტოფონი ან მსგავსი დაბალი ქურდობა
ააშენეთ სიგარის ყუთი ბატარეის ყუთი მილის რადიოებისთვის: 4 ნაბიჯი
ააშენეთ სიგარეტის კოლოფი ბატარეის ყუთი მილის რადიოებისთვის: თუ თქვენ აპირებთ აშენებას და თამაშობთ ჩემს მსგავსად მილის რადიოებით, თქვენ ალბათ გექნებათ მსგავსი პრობლემა, როგორც მე მათ ჩართვასთან დაკავშირებით. ძველი სქემების უმეტესობა შეიქმნა მაღალი ძაბვის b ბატარეებზე, რომლებიც აღარ არის ხელმისაწვდომი. Ისე
კედარი (სიგარა?) ყუთი სპიკერი ყუთი: 8 ნაბიჯი (სურათებით)
Cedar (Cigar?) ყუთის სპიკერი ყუთი: შთაგონებული Munny– ის დინამიკებით, მაგრამ არ სურს 10 დოლარზე მეტის დახარჯვა, აქ არის ჩემი ინსტრუქცია ძველი კომპიუტერის დინამიკების გამოყენებით, ხის ყუთი ტექნიკის მაღაზიიდან და ბევრი ცხელი წებო