亚洲av成人精品日韩一区,97久久久精品综合88久久,玩弄japan白嫩少妇hd,亚洲av片不卡无码久久,玩弄人妻少妇500系列

電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>Arduino UNO嬰兒高腳椅音樂(lè)劇

Arduino UNO嬰兒高腳椅音樂(lè)劇

2022-12-02 | zip | 0.26 MB | 次下載 | 免費(fèi)

資料介紹

描述

如果沒(méi)有您一直在看,要讓嬰兒保持忙碌和安全絕非易事。

這個(gè)項(xiàng)目的目的是為所有年齡段的孩子創(chuàng)造一個(gè)有趣的高腳椅!

教程的主要項(xiàng)目是設(shè)置一個(gè)游戲,當(dāng)寶寶按下按鈕時(shí),同色燈亮并播放聲音

游戲可以很容易地變成更復(fù)雜的游戲,當(dāng)你的寶寶長(zhǎng)大后,他們?nèi)匀粫?huì)玩得開(kāi)心

和工作他們的記憶!

第 1 步:收集您的零件和工具

這個(gè)項(xiàng)目我們不需要太多東西,最昂貴的部分將是高腳椅。

我們會(huì)需要:

第 2 步:連接

在這一部分中,我們將看到將所有東西放在高腳椅上之前的項(xiàng)目模擬

對(duì)于LED,負(fù)極連接到電阻器,正極連接到引腳。

一旦它工作,只需要用真正的按鈕和燈焊接所有東西

第 3 步:代碼

我修改了該站點(diǎn)的代碼,以便在按下按鈕時(shí)兩個(gè)僅播放 2 個(gè)音符并打開(kāi)燈。

將代碼加載到arduino

#define NOTE_C3 131
#define NOTE_CS3 139 #define NOTE_D3 147 #define NOTE_DS3 156 #define NOTE_E3 165 #define NOTE_F3 175 #define NOTE_FS3 185 #define NOTE_G3 196 #define NOTE_GS3 208 #define NOTE_A3 220 #define NOTE_AS3 233 #define NOTE_B3 247 #define NOTE_C4 262 #define NOTE_CS4 277 #define NOTE_D4 294 #define NOTE_DS4 311 #define NOTE_E4 330 #define NOTE_F4 349 #define NOTE_FS4 370 #define NOTE_G4 392 #define NOTE_GS4 415 #define NOTE_A4 440 #define NOTE_AS4 466 #define NOTE_B4 494

// notes in the melody: from guitar study by Sor int melody[] = { NOTE_G3, NOTE_G3, };

int melody2[] = { NOTE_E3, NOTE_C4,};

int melody3[] = { NOTE_B3, NOTE_B3, };

int melody4[] = { NOTE_A3, NOTE_D4, };

//Les PIN arduino n*13,12,11,10 sont pour les leds

int ledPin = 13; int ledPin2 = 12; int ledPin3 = 11; int ledPin4 = 10; int inPin = 2; int inPin2 = 3; int inPin3 = 4; int inPin4 = 5; int val = 0; int vall = 0;

int valll = 0; int vallll = 0;

// note durations: 4 = quarter note, 8 = eighth note, etc.: int noteDurations[] = { 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2 };

void setup() { pinMode(2, INPUT_PULLUP); // push-button switch on pin 2, use internal pull-up resistor pinMode(3, INPUT_PULLUP); pinMode(4, INPUT_PULLUP); pinMode(5, INPUT_PULLUP);

pinMode(ledPin, OUTPUT); // declare LED as output

PlayTune(); // play tune at start-up }

void loop() {

// play tune again if button on digital pin 2 is pressed //pinMode(ledPin, OUTPUT); if (!digitalRead(5)) { vallll = digitalRead(inPin4); // read input value if (val == HIGH) { // check if the input is HIGH (button released) digitalWrite(ledPin4, LOW); // turn LED OFF } else { digitalWrite(ledPin4, HIGH); // turn LED ON delay(200); digitalWrite(ledPin4, LOW); } void PlayTune();

{ // iterate over the notes of the melody: for (int thisNote = 0; thisNote < 2; thisNote++) { //le chffre 2 réprésente le temps que dure la //mélodie

// to calculate the note duration, take one second // divided by the note type. //e.g. quarter note = 1000 / 4, eighth note = 1000/8, etc. int noteDuration = 1500 / noteDurations[thisNote]; tone(8, melody4[thisNote], noteDuration);

// to distinguish the notes, set a minimum time between them. // the note's duration + 30% seems to work well: int pauseBetweenNotes = noteDuration * 1.30; delay(pauseBetweenNotes); // stop the tone playing: noTone(8);

} } }

if (!digitalRead(4)) {

val = digitalRead(inPin3); // read input value if (valll == HIGH) { // check if the input is HIGH (button released) digitalWrite(ledPin3, LOW); // turn LED OFF } else { digitalWrite(ledPin3, HIGH); // turn LED ON delay(200); digitalWrite(ledPin3, LOW); } void PlayTune();

{ // iterate over the notes of the melody: for (int thisNote = 0; thisNote < 2; thisNote++) {

// to calculate the note duration, take one second // divided by the note type. //e.g. quarter note = 1000 / 4, eighth note = 1000/8, etc. int noteDuration = 1500 / noteDurations[thisNote]; tone(8, melody3[thisNote], noteDuration);

// to distinguish the notes, set a minimum time between them. // the note's duration + 30% seems to work well: int pauseBetweenNotes = noteDuration * 1.30; delay(pauseBetweenNotes); // stop the tone playing: noTone(8); } } }

if (!digitalRead(3)) {

vall = digitalRead(inPin2); // read input value if (val == HIGH) { // check if the input is HIGH (button released) digitalWrite(ledPin2, LOW); // turn LED OFF } else { digitalWrite(ledPin2, HIGH); // turn LED ON delay(200); digitalWrite(ledPin2, LOW); } void PlayTune();

{ // iterate over the notes of the melody: for (int thisNote = 0; thisNote < 2; thisNote++) {

// to calculate the note duration, take one second // divided by the note type. //e.g. quarter note = 1000 / 4, eighth note = 1000/8, etc. int noteDuration = 1500 / noteDurations[thisNote]; tone(8, melody2[thisNote], noteDuration);

// to distinguish the notes, set a minimum time between them. // the note's duration + 30% seems to work well: int pauseBetweenNotes = noteDuration * 1.30; delay(pauseBetweenNotes); // stop the tone playing: noTone(8); } } } if (!digitalRead(2)) { val = digitalRead(inPin); // read input value if (val == HIGH) { // check if the input is HIGH (button released) digitalWrite(ledPin, LOW); // turn LED OFF } else { digitalWrite(ledPin, HIGH); // turn LED ON delay(200); digitalWrite(ledPin, LOW); } PlayTune(); } }

// a function that plays the tune void PlayTune() { // iterate over the notes of the melody: for (int thisNote = 0; thisNote < 2; thisNote++) {

// to calculate the note duration, take one second // divided by the note type. //e.g. quarter note = 1000 / 4, eighth note = 1000/8, etc. int noteDuration = 1500 / noteDurations[thisNote]; tone(8, melody[thisNote], noteDuration);

// to distinguish the notes, set a minimum time between them. // the note's duration + 30% seems to work well: int pauseBetweenNotes = noteDuration * 1.30; delay(pauseBetweenNotes); // stop the tone playing: noTone(8); }

}

第 4 步:安裝

?
?
?
?
pYYBAGOIpJqAetr8AAAS_uMfwRQ918.png
?
1 / 2
?

一切都完成了,只需要在桌子上為按鈕/led 做一些孔(我用的烙鐵可能不是最好的),然后把 arduino 粘在下面。

當(dāng)您放置 arduino 和按鈕時(shí),請(qǐng)仔細(xì)考慮寶寶的腿不要弄斷任何東西,就我而言,我用了一些紙板來(lái)保護(hù)

按鈕

- 對(duì)于按鈕,底部的電線連接到 arduino 上的引腳,另一根連接到 GND

引領(lǐng):

  • 對(duì)于 LED,我將電阻器焊接到 LED,然后將所有 LED 的電阻器焊接到連接 GND 的一根導(dǎo)線
  • 實(shí)際上所有的 GND 都焊接到連接到 arduino 的 GND 的同一根線上

演講者

一根電纜焊接到連接到 arduino 的電容器

另一個(gè)焊料連接到 arduino 的 GND 的電線

第 5 步:結(jié)論

最煩人的是燈,當(dāng)它發(fā)光時(shí)它們不夠亮,我仍在尋找解決方案。

這是我的第一個(gè) instrucables 期待您的反饋或改進(jìn)椅子!

第 6 步:記憶游戲

當(dāng)您的孩子長(zhǎng)大后,您可以像Simon 所說(shuō)的那樣將游戲升級(jí)為更復(fù)雜的游戲。

您不需要按鈕的更改引腳,但是揚(yáng)聲器和 LED 不在正確的引腳上

您可以更改代碼或更改引腳 13 上的揚(yáng)聲器

以及引腳 8、9、10、11 上的 LED。

#include 
Tone speakerpin;
int starttune[] = {NOTE_C4, NOTE_F4, NOTE_C4, NOTE_F4, NOTE_C4, NOTE_F4, NOTE_C4, NOTE_F4, NOTE_G4, NOTE_F4, NOTE_E4, NOTE_F4, NOTE_G4}; int duration2[] = {100, 200, 100, 200, 100, 400, 100, 100, 100, 100, 200, 100, 500}; int note[] = {NOTE_C4, NOTE_C4, NOTE_G4, NOTE_C5, NOTE_G4, NOTE_C5}; int duration[] = {100, 100, 100, 300, 100, 300}; boolean button[] = {2, 3, 4, 5}; //The four button input pins boolean ledpin[] = {8, 9, 10, 11}; // LED pins int turn = 0; // turn counter int buttonstate = 0; // button state checker int randomArray[100]; //Intentionally long to store up to 100 inputs (doubtful anyone will get this far) int inputArray[100];

void setup() { Serial.begin(9600); speakerpin.begin(12); // speaker is on pin 13

for(int x=0; x<4; x++) // LED pins are outputs { pinMode(ledpin[x], OUTPUT); } for(int x=0; x<4; x++) { pinMode(button[x], INPUT); // button pins are inputs digitalWrite(button[x], HIGH); // enable internal pullup; buttons start in high position; logic reversed }

randomSeed(analogRead(0)); //Added to generate "more randomness" with the randomArray for the output function for (int thisNote = 0; thisNote < 13; thisNote ++) { // play the next note: speakerpin.play(starttune[thisNote]); // hold the note: if (thisNote==0 || thisNote==2 || thisNote==4 || thisNote== 6) { digitalWrite(ledpin[0], HIGH); } if (thisNote==1 || thisNote==3 || thisNote==5 || thisNote== 7 || thisNote==9 || thisNote==11) { digitalWrite(ledpin[1], HIGH); } if (thisNote==8 || thisNote==12) { digitalWrite(ledpin[2], HIGH); } if (thisNote==10) { digitalWrite(ledpin[3], HIGH); } delay(duration2[thisNote]); // stop for the next note: speakerpin.stop(); digitalWrite(ledpin[0], LOW); digitalWrite(ledpin[1], LOW); digitalWrite(ledpin[2], LOW); digitalWrite(ledpin[3], LOW); delay(25); } delay(1000); }

void loop() { for (int y=0; y<=99; y++) { //function for generating the array to be matched by the player digitalWrite(ledpin[0], HIGH); digitalWrite(ledpin[1], HIGH); digitalWrite(ledpin[2], HIGH); digitalWrite(ledpin[3], HIGH); for (int thisNote = 0; thisNote < 6; thisNote ++) { // play the next note: speakerpin.play(note[thisNote]); // hold the note: delay(duration[thisNote]); // stop for the next note: speakerpin.stop(); delay(25); } digitalWrite(ledpin[0], LOW); digitalWrite(ledpin[1], LOW); digitalWrite(ledpin[2], LOW); digitalWrite(ledpin[3], LOW); delay(1000); for (int y=turn; y <= turn; y++) { //Limited by the turn variable Serial.println(""); //Some serial output to follow along Serial.print("Turn: "); Serial.print(y); Serial.println(""); randomArray[y] = random(1, 5); //Assigning a random number (1-4) to the randomArray[y], y being the turn count for (int x=0; x <= turn; x++) { Serial.print(randomArray[x]); for(int y=0; y<4; y++) { if (randomArray[x] == 1 && ledpin[y] == 8) { //if statements to display the stored values in the array digitalWrite(ledpin[y], HIGH); speakerpin.play(NOTE_G3, 100); delay(400); digitalWrite(ledpin[y], LOW); delay(100); }

if (randomArray[x] == 2 && ledpin[y] == 9) { digitalWrite(ledpin[y], HIGH); speakerpin.play(NOTE_A3, 100); delay(400); digitalWrite(ledpin[y], LOW); delay(100); } if (randomArray[x] == 3 && ledpin[y] == 10) { digitalWrite(ledpin[y], HIGH); speakerpin.play(NOTE_B3, 100); delay(400); digitalWrite(ledpin[y], LOW); delay(100); }

if (randomArray[x] == 4 && ledpin[y] == 11) { digitalWrite(ledpin[y], HIGH); speakerpin.play(NOTE_C4, 100); delay(400); digitalWrite(ledpin[y], LOW); delay(100); } } } } input(); } }

void input() { //Function for allowing user input and checking input against the generated array

for (int x=0; x <= turn;) { //Statement controlled by turn count

for(int y=0; y<4; y++) { buttonstate = digitalRead(button[y]); if (buttonstate == LOW && button[y] == 2) { //Checking for button push digitalWrite(ledpin[0], HIGH); speakerpin.play(NOTE_G3, 100); delay(200); digitalWrite(ledpin[0], LOW); inputArray[x] = 1; delay(250); Serial.print(" "); Serial.print(1); if (inputArray[x] != randomArray[x]) { //Checks value input by user and checks it against fail(); //the value in the same spot on the generated array } //The fail function is called if it does not match x++; } if (buttonstate == LOW && button[y] == 3) { digitalWrite(ledpin[1], HIGH); speakerpin.play(NOTE_A3, 100); delay(200); digitalWrite(ledpin[1], LOW); inputArray[x] = 2; delay(250); Serial.print(" "); Serial.print(2); if (inputArray[x] != randomArray[x]) { fail(); } x++; }

if (buttonstate == LOW && button[y] == 4) { digitalWrite(ledpin[2], HIGH); speakerpin.play(NOTE_B3, 100); delay(200); digitalWrite(ledpin[2], LOW); inputArray[x] = 3; delay(250); Serial.print(" "); Serial.print(3); if (inputArray[x] != randomArray[x]) { fail(); } x++; }

if (buttonstate == LOW && button[y] == 5) { digitalWrite(ledpin[3], HIGH); speakerpin.play(NOTE_C4, 100); delay(200); digitalWrite(ledpin[3], LOW); inputArray[x] = 4; delay(250); Serial.print(" "); Serial.print(4); if (inputArray[x] != randomArray[x]) { fail(); } x++; } } } delay(500); turn++; //Increments the turn count, also the last action before starting the output function over again }

void fail() { //Function used if the player fails to match the sequence

for (int y=0; y<=2; y++) { //Flashes lights for failure digitalWrite(ledpin[0], HIGH); digitalWrite(ledpin[1], HIGH); digitalWrite(ledpin[2], HIGH); digitalWrite(ledpin[3], HIGH); speakerpin.play(NOTE_G3, 300); delay(200); digitalWrite(ledpin[0], LOW); digitalWrite(ledpin[1], LOW); digitalWrite(ledpin[2], LOW); digitalWrite(ledpin[3], LOW); speakerpin.play(NOTE_C3, 300); delay(200); } delay(500); turn = -1; //Resets turn value so the game starts over without need for a reset button }


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1DD3118電路圖紙資料
  2. 0.08 MB   |  1次下載  |  免費(fèi)
  3. 2AD庫(kù)封裝庫(kù)安裝教程
  4. 0.49 MB   |  1次下載  |  免費(fèi)
  5. 3PC6206 300mA低功耗低壓差線性穩(wěn)壓器中文資料
  6. 1.12 MB   |  1次下載  |  免費(fèi)
  7. 4網(wǎng)絡(luò)安全從業(yè)者入門(mén)指南
  8. 2.91 MB   |  1次下載  |  免費(fèi)
  9. 5DS-CS3A P00-CN-V3
  10. 618.05 KB  |  1次下載  |  免費(fèi)
  11. 6海川SM5701規(guī)格書(shū)
  12. 1.48 MB  |  次下載  |  免費(fèi)
  13. 7H20PR5電磁爐IGBT功率管規(guī)格書(shū)
  14. 1.68 MB   |  次下載  |  1 積分
  15. 8IP防護(hù)等級(jí)說(shuō)明
  16. 0.08 MB   |  次下載  |  免費(fèi)

本月

  1. 1貼片三極管上的印字與真實(shí)名稱(chēng)的對(duì)照表詳細(xì)說(shuō)明
  2. 0.50 MB   |  103次下載  |  1 積分
  3. 2涂鴉各WiFi模塊原理圖加PCB封裝
  4. 11.75 MB   |  89次下載  |  1 積分
  5. 3錦銳科技CA51F2 SDK開(kāi)發(fā)包
  6. 24.06 MB   |  43次下載  |  1 積分
  7. 4錦銳CA51F005 SDK開(kāi)發(fā)包
  8. 19.47 MB   |  19次下載  |  1 積分
  9. 5PCB的EMC設(shè)計(jì)指南
  10. 2.47 MB   |  16次下載  |  1 積分
  11. 6HC05藍(lán)牙原理圖加PCB
  12. 15.76 MB   |  13次下載  |  1 積分
  13. 7802.11_Wireless_Networks
  14. 4.17 MB   |  12次下載  |  免費(fèi)
  15. 8蘋(píng)果iphone 11電路原理圖
  16. 4.98 MB   |  6次下載  |  2 積分

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935127次下載  |  10 積分
  3. 2開(kāi)源硬件-PMP21529.1-4 開(kāi)關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
  4. 1.48MB  |  420064次下載  |  10 積分
  5. 3Altium DXP2002下載入口
  6. 未知  |  233089次下載  |  10 積分
  7. 4電路仿真軟件multisim 10.0免費(fèi)下載
  8. 340992  |  191390次下載  |  10 積分
  9. 5十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
  10. 158M  |  183342次下載  |  10 積分
  11. 6labview8.5下載
  12. 未知  |  81588次下載  |  10 積分
  13. 7Keil工具M(jìn)DK-Arm免費(fèi)下載
  14. 0.02 MB  |  73815次下載  |  10 積分
  15. 8LabVIEW 8.6下載
  16. 未知  |  65989次下載  |  10 積分