Orodha ya maudhui:
- Hatua ya 1: Sehemu ya Verzamelen
- Hatua ya 2: Mfano Bouwen
- Hatua ya 3: Mfano wa Msimbo
- Hatua ya 4: Mfano Uittesten
- Hatua ya 5: Behuizing "ontmantelen" En Kijken Welke Componenten Gebruikt Gaan Worden
- Hatua ya 6: Werking Originele Buttons + Dremelen
- Hatua ya 7: Matandiko ya Solderen + Vifungo Vastlijmen
- Hatua ya 8: Plaats Imefanywa katika De Behuizing
- Hatua ya 9: Bedrading Aansluiten Op Protobord
- Hatua ya 10: Verstevigen
- Hatua ya 11: Code Voor Het Communiceren Met Reaper
- Hatua ya 12: Mdhibiti Uittesten
Video: Mradi wa Guitar Hero Arduino: Hatua 12 (na Picha)
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:54
Wij zijn Maarten Vrebos, Justin Cavanas en Wannes Stroobandt en sisi studio multimedia & mawasiliano ya teknolojia. Sauti ya bure ya mradi wa kazi kwa njia ya Usikilizaji na Kanuni za IT hebben wij een Guitar Hero-gitaar gehackt en gebruikt als behuizing voor onze MIDI-controller. Het alikuwa akijaribu kupigia debe juu ya njia bora za kufanya mazoezi ya ndani. Mtawala wa Onze anaweza kupata habari zaidi kupitia ujumbe wa maneno yote. Aangezien tunapata hebben gehackt hebben sisi ni veel veel ziada nyenzo katika moeten verwerken.
Katika tukio lililokuwa likifanywa hapo awali watu wote walipewa barua kwa waandishi wa habari zien van hoe het eindproduct er zou moeten uitzien met daarnaast een foto van de gitaar die als behuizing zal worden gebruikt.
Wij hebben on voor dit mradi gebaseerd op volgende bronnen:
slapyak.wordpress.com/guitar-hero-midi-con…
www.instructables.com/id/Converting-a-rescu…
gizmodo.com/391834/turn-your-guitar-hero-g…
Mradi wa Benodigdheden voor dit
- 6 kleine pushbuttons
- Vipinga 7 1kohm
- 1 gele LED 1
- blauwe LED
- 1 Arduino Uno R3
- 1 Groene LED
- LED 2 zilizopanda
- 1 schuifschakelaar
- 1 mkate wa mkate
- 1 potentiometer
- Mfano 1
- 1 Gitaar shujaa wa gitaa
- Kitanda cha Voldoende
- Materiaal om te solderen / dremelen /
- Schroevendraaier
Hatua ya 1: Sehemu ya Verzamelen
Mfano wa voor (opboardboard) hebben we volgende componenten gebruikt:
6 Pushbuttons
Resistors 7 1kohm
1 Njano ya LED
1 LED ya Bluu
1 Arduino Uno R3
1 Kijani cha LED
2 Nyekundu LED
1 Schuifschakelaar
1 Bodi ya mkate
1 Potentiometer
Hatua ya 2: Mfano Bouwen
Mfano wa mfano wa bouwen hebben sisi ni sehemu zote za bodi ya mkate, hati ya mikate ya mikate na hati zote za majaribio, tunapata hali ya kutamka wakati wa kushawishi watu wengine. Mfano wa hebben tunatumia njia tofauti kupitia tinkercad.com, kwa njia nyingine tunaweza kupata habari zaidi juu ya mfano wa aina moja ya vifaa vya kupigia debe.
Maneno 5 ya msukumo wa mabomu ya kusukuma gebruikt die fungeren als 5 snaren en een grote pushbutton die in combinatie met one of meerdere 'snaren' moet worden ingedrukt om een auditief effect te krijgen. Kutumia vifaa vya taa vya taa vya LED vinaweza kutekelezwa kila siku ikiwa ni pamoja na sheria za kufanya kazi.
Hatua ya 3: Mfano wa Msimbo
Globale variabelen
Katika orodha ya watu wanaosimamia msimbo wa kanuni na orodha ya vifaa mbalimbali pini za watu wanaofanya kazi hii ni pamoja na vifungo vya kufanya hivyo.
// nambari za pini za waar mainButton (snaar) en andere vifungo a verbonden zijn: const int mainButton = A1; // gitaar snaar const int mwangaSensor = A0; kifungo cha int intPin1 = 2; // nummer van pushbutton1 const int kifungoPin2 = 3; // nummer van pushbutton2const int buttonPin3 = 4; // nummer van pushbutton3const int buttonPin4 = 5; // nummer van pushbutton4const int buttonPin5 = 6; // nummer van pushbutton5
Hierna worden er twee arrays aangemaakt voor de namen van de pushbuttons en hun pinnummer.
const int aantalKnoppen = 5; const String namenKnoppen [aantalKnoppen] = {"knop 1", "knop 2", "knop 3", "knop 4", "knop 5"}; const int knopPinnen [aantalKnoppen] = {2, 3, 4, 5, 6};
Kwa njia tofauti tofauti za pini za vifaa vya LED.
const int ledPin1 = 13; // idadi ya pini ya LED 13
const int ledPin2 = 12; // idadi ya pini ya LED 12 const int ledPin3 = 11; // idadi ya pini ya LED 11 const int ledPin4 = 10; // idadi ya pini ya LED 10 const int ledPin5 = 9; // idadi ya pini ya LED 9 const int potPin = A5; // idadi ya pini ya LED A5
De laatste globale variabelen dienen als 'states' voor de sensors (zijn de pushbuttons ingedrukt of niet? Potentiometer, lichtsensor).
// kitufe cha kuanzisha haliHali za knoppen (ingedrukt of niet) int mainButtonState = 0; kifungo cha ndaniState1 = 0; kifungo cha ndaniState2 = 0; kifungo cha ndaniState3 = 0; kifungo cha ndaniState4 = 0; kifungo cha ndaniState5 = 0; mwanga lightSensorState = 0; Thamani ya Thamani = 0; int lightValue = 0;
Sanidi
Sasa volgt de batili kuanzisha functie. Deze ni van het aina batili (geeft geen waarde terug) en de mafundisho hierin worden maar 1 keer uitgevoerd.
Bij elke functie ni maoni ya geschreven wat er concreet gedaan wordt. Uitleg zaidi juu ya utaftaji maalum wa functie concet doet ni te vinden katika rejea ya arduino
kuanzisha batili () {// kiwango cha data kwa sekunde (baud) voor seriele data transmissie Serial.begin (9600); // Initialiseer de ledPin variabelen als pato pinMode (ledPin1, OUTPUT); pinMode (ledPin2, OUTPUT); pinMode (ledPin3, OUTPUT); pinMode (ledPin4, OUTPUT); pinMode (ledPin5, OUTPUT); // initialiseer alle pushbuttons als input: pinMode (mainButton, INPUT); pinMode (kifungoPin1, INPUT); pinMode (kifungoPin2, INPUT); pinMode (kifungoPin3, INPUT); pinMode (kifungoPin4, INPUT); pinMode (kifungoPin5, INPUT); pinMode (sufuriaPin, INPUT); pinMode (lightSensor, INPUT); }
Functie tupu
Kuanzisha () functie volgt de kitanzi () functie, kwa maagizo kufa kwa hierin staan gaan herhaald uitgevoerd worden.
kitanzi batili () {// lees de staat van de pushbuttons uit (ingedrukt of niet) mainButtonState = digitalRead (mainButton); kifungoState1 = digitalRead (buttonPin1); buttonState2 = digitalRead (buttonPin2); buttonState3 = digitalRead (buttonPin3); buttonState4 = digitalRead (buttonPin4); kifungoState5 = digitalRead (buttonPin5);
// kila hali ya kifungo cha kushinikiza kwa safu
kifungo cha ndaniStates = {buttonState1, buttonState2, buttonState3, buttonState4, buttonState5};
// leest de waarde uit van de potentiometer en de lichtsensor
sufuriaValue = AnalogRead (potPin); mwangaValue = AnalogRead (lightSensor);
// mtangazaji na safu kuu za Jimbo juu ya kifo cha mkuu wa waangalizi 0 ndani.
int mainStates = {0, 0, 0, 0, 0};
// kitanzi juu ya safu ya juu aantalKnoppen
kwa (int i = 0; i <aantalKnoppen; i ++) {pinMode (knopPinnen , INPUT); // mwanzilishi kila knopPinnen als pembejeo ya digitalRead (knopPinnen ); // lees de waarde van alle knoppinnen uit // indien de mainswitch (snaar) ingedrukt ni, chapa kila knopnamen, vifungo vyote ikiwa (mainButtonState == HIGH) {Serial.print (namenKnoppen ); Serial.print (","); Serial.println (kifungo cha Jimbo ); }}
Hatua ya 4: Mfano Uittesten
Mfano wa nadharia ya gebouwd ni volgens on mfano wa nambari ya geschreven iko katika Usindikaji, ni mfano tu wa mfano wa majaribio. Video zote zinaonekana kila siku ikiwa inahusika na majibu ya habari kutoka kwa wahusika wengine katika siku ambazo wanachanganya pamoja.
Katika video ya watu wawili ni video ya mtu mmoja anayetumia nguvu ya mkono katika eneo la nguvu katika hatua ya kushughulikia maneno katika ufuatiliaji.
Hatua ya 5: Behuizing "ontmantelen" En Kijken Welke Componenten Gebruikt Gaan Worden
Als de code sahihi werkte op het prototype zijn we begonnen met het "ontmantelen" van onze Guitar Hero-gitaar. Sisi hebben de gitaar opengemaakt tulikutana na mafunzo juu ya mpango wa kukaribisha asili ya sehemu ya tukio tukifanya tukio hili kwa sababu ya kudhibiti mtawala. Uiteindelijk hebben tunatumia vifungo vya eigen kwenye vifungo bora zaidi vya gekregen (zie volgende stap). Tunatumia njia moja au zaidi kuwa bidhaa zinazozalishwa na bidhaa zinazozalishwa kwa muda mrefu (kitufe cha kuanzisha kila kitu kinachounganishwa na sehemu moja) tunatumia vifungo kadhaa vya asili kutoka kwenye picha (zie vierde foto). De LEDjes zullen verdwijnen (Deze waren enkel ter indicatie zodat we zagen dat alle knoppen sahihi werkten.
Hatua ya 6: Werking Originele Buttons + Dremelen
Video ya bijhorende ni ya wijze te zien waarop de twee originele knoppen werken als een soort van schakelaar die wij gebruiken om een effect te genereren bij combinatie van knoppen.
Vifungo vyako vyote vinaweza kutekelezwa kwenye asili ya kisukuli kutoka kwa watoto wetu kutoka kwa waanzilishi wa sehemu za uitgehaald zoals ni picha.
Hatua ya 7: Matandiko ya Solderen + Vifungo Vastlijmen
Siku hizi tulikutana na ubao wa mikate kwa njia ya mikate wakati wa mkutano uliofanywa na watu wengi. Nadat dit gebeurd is kunnen we de buttons vastlijmen zoals te zien is op de foto's. Eens dit gebeurd ni kunnen we doorgaan naar de volgende stap.
Hatua ya 8: Plaats Imefanywa katika De Behuizing
Omdat dit Guitar Hero-model redelijk krap was om mee te werken hebben we extra plaats moeten maken d.m.v. dremelen. Tunaweza kuona kwamba tunajua kwamba kuna watu wengi watatumia mkondo ili kuhakikisha kuwa kuna maeneo mengi ambayo yatafikia mahali hapo. Kuingia kwa idadi kubwa ya vizuizi vya wahusika, waaronder veel buisjes om de vijzen in te bevestigen, hebben we die ook verwijderd on optimaal van de gegeven ruimte gebruik te kunnen maken. Op de vierde en vijfde picha ni habari za sisi katika vyombo vya habari vya vyombo vya habari na mlango wa mlango wa habari ambao utafanyika kwa vifungo kutoka kwa vitufe vya kutolea maoni na habari zaidi. Picha ya picha ni picha tu ambazo tutapata watu wanaotumia neno versten kwa njia ya mlango wa Arduino ambao wameingia kwenye uwanja wa habari.
Hatua ya 9: Bedrading Aansluiten Op Protobord
Om alle componenten met elkaar te verbinden hebben we gebruik gemaakt van een protobord. Hii ni habari zaidi juu ya mpango wa wavuti kwa njia ya upeanaji wa mkate wa mkate, maar dan betrouwbaarder en efficiënter. Sisi hebben de bedrading aan het bordje gesoldeerd zoals te zien ni op de derde picha. Bord is het centrale punt van waaruit al onze verbindingen vertrekken en samenkomen (picha 2).
Hatua ya 10: Verstevigen
Als kumaliza kugusa ni moja ya sababu za msingi wa kufanya hivyo kwa sababu ya utulivu zaidi. Picha ya picha ni tee jembe sisi tunajua jinsi sisi tunavyofanya kazi d.m.v. dremelen achteraan de vifungo verstevigen met stukjes karton.
Hatua ya 11: Code Voor Het Communiceren Met Reaper
Nambari ya Deze imejumuishwa katika orodha mbili, mwongozo ni katika IDE ya arduino (mazingira ya maendeleo ya maingiliano) geschreven. Nambari ya maandishi inaweza kupakuliwa kwa njia ya maandishi kwa kila msimamizi wa vyombo vya sensorer kutoka kwa mtawala wa midi ambayo inaweza kutumia mlango wa usindikaji.
Usindikaji ni het tweede gedeelte. Hati ya kificho ya kumbukumbu ya siku zote watazamaji wa milango ya mlango wa mlango na mlango wa uvunaji.
Arduino
/ * Nambari hii ni mchoro wa msingi wa kuwasiliana na Usindikaji kupitia Serial.
Ni mpango ambao unaweza kuweka nambari yako mwenyewe
maalum kwa vifungo vyako mwenyewe, potentiometers au sensorer.
Inapeana mikono ili kuhakikisha tuna mawasiliano
na muundo ambao tunawasiliana umeamuliwa
Ni muhimu kujenga ujumbe kwa njia hiyo hiyo, ili Usindikaji ujue kuijenga upya na kutuma ujumbe sahihi wa OSC kwa DAW yetu
imetengenezwa kwa werkcollege AV&IT
oct 2017
*
/ kiwango cha baud
mrefu baudRate = 115200;
// wakati wa kusubiri kwa ms kati ya kura hadi pini
const int loopPauseTime = 200; sekunde // milli
// kuanza na kumaliza maadili kwa ujumbe uliotumwa kwenye Serial
Kamba ya KuanzaString = "*", endString = "#";
mawasiliano ya const charCharacter = '|';
// kitambulisho cha siri
// anuwai zingine za ulimwengu
const int aantalKnoppen = 5; Kamba Kamba NamenKnoppen [aantalKnoppen] = {"knop 1", "knop 2", "knop 3", "knop 4", "knop 5"}; const int knopPinnen [aantalKnoppen] = {2, 3, 4, 5, 6}; const int kuuButton = A1;
int kuuButtonState = 0;
Thamani ya Thamani = 0;
// sensorer za analoge
const int potPin = A5; // pini voor tremolo
// Tunahitaji kazi hii kuanzisha mawasiliano na Mchoro wa Usindikaji
// Itunze hapa batili kuanzishaContact () {wakati (Serial haipatikani () <= 0) {Serial.print (contactCharacter); // tuma char na subiri majibu… kuchelewa (loopPauseTime); } Serial.read (); }
usanidi batili () {
// weka alama za siri kwa pini zote za (int i = 0; i <aantalKnoppen; i ++) {pinMode (knopPinnen , INPUT); } pinMode (kitufe kuu, INPUT); // kukomesha ikiwa unatumia sensorer zinazofanya kazi kwenye 3V badala ya 5V // itabidi uweke waya wa 'ext' kwa 3.3V vile vile // analogReference (NJE);
// kuanzisha comms Serial
Anzisha Serial (baudRate); wakati (! Serial); // subiri kusalimiana kwa mikonoContact (); }
kitanzi batili () {
// HATUA YA 1: SOMA VITUKO // pigia pini zote na uweke ramani kusoma kwa kitufe kinachofaa cha masafa [aantalKnoppen]; / * kifungoStates [0] = Digital Read (knopPinnen [0]); buttonStates [1] = DigitalRead (knopPinnen [1]); kifungoStates [2] = DigitalRead (knopPinnen [2]); buttonStates [3] = DigitalRead (knopPinnen [3]); kifungoStates [4] = DigitalRead (knopPinnen [4]); * / kuuButtonState = DigitalRead (kifungo kikuu); kwa (int i = 0; i <aantalKnoppen; i ++) {buttonStates = digitalRead (knopPinnen ); } sufuriaValue = AnalogRead (potPin); // mifano: // kuelea v0 = ramani (bpm, 0, 1023, 60, 250); // ikiwa unataka kutumia kuelea kwa kawaida (kwa mfano. kwa sauti) // kuelea v1 = ramani (AnalogRead (pin2), fromMin, fromMax, 0, 100) / 100.0;
// HATUA YA 2: JUA UJUMBE
Serial.print (startString); // anza mlolongo wa ujumbe wa (int i = 0; i <aantalKnoppen; i ++) {if (mainButtonState == HIGH) {Serial.print (namenKnoppen ); Serial.print (","); Serial.print (kifungo cha Jimbo ); ikiwa (i <aantalKnoppen - 1) {Serial.print (","); }} mwingine {buttonStates = 0; Printa ya serial (namenKnoppen ); Serial.print (","); Serial.print (kifungo cha Jimbo ); ikiwa (i <aantalKnoppen - 1) {Serial.print (","); }}} Serial.print (","); Serial.print ("tremolo"); Serial.print (","); Rekodi ya serial (ramani (potValue, 0, 1023, 0, 100)); // andika mwisho wa ujumbe Serial.print (endString);
// subiri kwa muda..
kuchelewesha (loopPauseTime); }
Inasindika
Kanusho: Niet alle code van de processing sketch hier hier in geschreven, voor de volledige code zie het bestand: ProcessingSoundControl_handout_v6_1.pde in bijlage
De volgende maagizo moeten aangepast worden (indien nodig):
// Baudrate moet hetzelfde zijn zoals katika mchoro wa arduino
mwisho int baudRate = 115200;
// Tafuta anwani ya IP ya IP kwa kuvuna (picha za skrini kwa bijlage)
// Inasindika stuurt naar dit andres en reaper luistert hier naar //
// mwisho Kamba ya mbaliIP = "192.168.1.43"; // mfano. "127.0.0.1";
Kamba ya mwishoIP = "10.3.209.60";
// Angalia PostPort na ujaze hii katika Reaper.
// Huu ndio Usindikaji wa bandari unaotuma na Kuvuna unasikiliza.
mwisho int listenPort = 12000, tumaPort = 12000;
// ThePortPort hapa ni kufanya utatuzi kikamilifu.
// bandariMajina yako hapa kutatua pia.
// mwisho String portName = "/ dev / ttyACM0";
String portName ya mwisho = "COM5"; // "/ dev / ttyUSB0";
////////////////////// END of USER PARAMETERS ////////////////////////////////// ////
usindikaji wa kuagiza.serial. *;
kuagiza java.util. *;
kuagiza oscP5. *;
kuagiza netP5. *;
OscP5 oscP5;
NetAddress myRemoteLocation;
Serial commsPort; // Bandari ya serial
ujumbe wa booleanArrived = uongo;
Kamba inayoingia = "", InayoOSCMessage = "";
mwisho char charChar = '*', endChar = '#'; mawasiliano ya mwisho ya charCharacter = '|';
// Ili kuhakikisha tunatuma tu vigezo (maadili) zinazobadilika
// hizi anuwai za ulimwengu zimedanganywa hapa lakini hazipaswi kuzinduliwa hapa! HashMap oldParams, newParams, toSendParams;
// Tunahitaji kugawanya ujumbe katika kila koma
mchakato batiliIncoming () {String resVec = incoming.split (","); // tunapata jozi za thamani ya jina // hivyo kwa kila jina (+ 2)… jaribu {kwa (int i = 0; i <resVec.length; i + = 2) {float value = Float.parseFloat (resVec [i + 1]); // ziweke kwenye Hashtable newParams.put (resVec , thamani); }} // ikiwa hitilafu inatokea, wacha tuigundue na tuondoke. kukamata (Exception ex) {println ("Ujumbe wa Isipokuwa:" + ex); chapaArray (resVec); Utgång(); }}
// Kuchuja ujumbe wetu
/ * Tunahakikisha kuwa kuna ujumbe wa OSC tu wakati * ujumbe wa kuingiza (Serial) unabadilika * Hiyo ni: ikiwa tunageuka / kushinikiza kitufe na inabadilisha thamani. * Kwa hivyo tunachuja nambari zinazoingia ambazo hubadilika * kumbuka: hatutaepuka maadili ya kuruka * kama hutoka kwa mfano accelerometers au sensorer za umbali * utahitaji kulainisha hizo wewe mwenyewe katika Arduino * / batili filterParams () {toSendParams = new HashMap (); ya (Kitufe cha kamba: Usawa (newParams.get (ufunguo))) {toSendParams.put (key, newParams.get (key)); }} mwingine {// ufunguo haupo katika vifungu vya zamani, kwa hivyo uweke! toSendParams.put (ufunguo, newParams.get (ufunguo)); } OldParams.put (ufunguo, newParams.get (ufunguo)); }}
batili makeOSC () {
kwa (Kitufe cha Kamba: toSendParams.keySet ()) {OscMessage myMessage = new OscMessage ("/" + key); myMessage.add (toSendParams.get (ufunguo)); / * tuma ujumbe * / oscP5.send (myMessage, myRemoteLocation); }}
batili translateMessage () {
mchakatoIngenayo (); filterParams (); fanyaOSC (); } // Wakati tunataka kuchapisha kwenye dirisha tupu la ShowIncoming () {// kuona ujumbe unaoingia, kama ilivyo kwenye maandishi ya HashMap ("Incoming from Arduino", 20, 20); int y = 20; kwa (Kitufe cha Kamba: newParams.keySet ()) {y = y + 20; maandishi (ufunguo, 20, y); maandishi (newParams.get (ufunguo), 300, y); }}
onyesha batiliOsc () {
maandishi (IncomingOSCMessage, 300, 200); InayoOSCMessage = ""; }
usanidi batili () {
saizi (1000, 800); // Ukubwa wa hatua ya kujaza (255); msingi (0); oldParams = mpya HashMap (); newParams = mpya HashMap (); // kuchapaArray (Serial.list ()); commsPort = mpya Serial (hii, portName, baudRate);
/ * anza oscP5, sikiliza ujumbe unaoingia * /
oscP5 = OscP5 mpya (hii, sikilizaPort);
/ * myRemoteLocation ni NetAddress. NetAddress inachukua vigezo 2, * anwani ya ip na nambari ya bandari.myRemoteLocation hutumiwa kama kigezo katika * oscP5.send () wakati wa kutuma pakiti za osc kwa kompyuta nyingine, kifaa, * programu. matumizi angalia hapa chini. kwa madhumuni ya upimaji bandari ya kusikiliza na bandari ya anwani ya eneo la mbali ni sawa, kwa hivyo utatuma * ujumbe kwenye mchoro huu. * / myRemoteLocation = NetAddress mpya (remoteIP, sendPort); }
chora batili () {
ikiwa (messageArrived) {background (0); translateMessage (); Onyesha Inayoingia (); messageArrived = uongo; } onyeshaOsc (); }
tupu serialEvent (Serial commsPort) {
// soma ka kutoka bandari ya serial: char inChar = commsPort.readChar (); kubadili (inChar) {kesi contactCharacter: commsPort.write (contactCharacter); // kuuliza println zaidi ("kuanzia …"); kuvunja; kesi ya kuanzaChar: incoming = ""; kuvunja; mwisho wa kesiChar: messageArrived = kweli; // println ("mwisho wa msg"); kuvunja; chaguo-msingi: inayoingia + = inChar; kuvunja; }}
/ * ujumbe unaoingia wa osc hupelekwa kwa njia ya oscEvent. * /
batili oscEvent (OscMessage theOscMessage) {thamani ya kuelea = theOscMessage.get (0). FloatValue (); // pata hoja ya 1 osc
ZinazoingiaOSCMessage + = "\ n" +
String.format ("### ilipokea ujumbe wa osc:" + "addrpattern:" + theOscMessage.addrPattern () + ":% f", value); println (InayoOSCMessage); }
Hatua ya 12: Mdhibiti Uittesten
Alles ni aangesloten, nambari zote ni geschreven en all is is gedubbelcheckt is het eindelijk tijd om de controller z'n werk te laten doen. Tazama njia mpya za kuvuna na kuvuna kwa aina nyingi za voltooide Gitaa ya Usimamizi wa MIDI Mdhibiti!
Ilipendekeza:
Kutumia Guitar Hero Guitar Kudhibiti Zoom (Windows Tu): Hatua 9
Kutumia Guitar Hero Guitar Kudhibiti Zoom (Windows Tu): Kama tuko katikati ya janga la ulimwengu, wengi wetu tumekwama kusafisha nyumba na kujiunga na mikutano kwenye Zoom. Baada ya muda, hii inaweza kuwa mbaya na ya kuchosha. Wakati nilikuwa nikisafisha nyumba yangu, nikapata gitaa ya zamani ya Guitar Hero ambayo ilitupwa ndani
Mradi wa Arduino-Tamagotchi (Mimi ni Tamagotchi): Hatua 5 (na Picha)
Mradi wa Arduino-Tamagotchi (Mimi ni Tamagotchi): Nilichoshwa na karantini na niliamua kutengeneza Arduino Tamagotchi. Kwa sababu nachukia wanyama wengi ninajichagua mwenyewe kama Tamagotchi. Kwanza ninaunda kiweko changu kwenye ubao wa mkate. Wiring ni rahisi sana. Kuna vifungo vitatu tu, buzzer na
WIND - Mradi wa kuongeza kasi kwa Mradi wa Adafruit: Hatua 9 (na Picha)
Upepo - Mradi wa kuongeza kasi kwa Manyoya ya Adafruit: Nimekuwa nikikusanya polepole wadhibiti wa manyoya wa Adafruit na bodi za sensorer ambazo zinapatikana kutoka Adafruit. Wanafanya prototyping na upimaji kuwa rahisi sana, na mimi ni shabiki mkubwa wa mpangilio wa bodi. Kwa kuwa nilijikuta tumetumia
Mradi wa Picha ya Kusonga ya Harry Harry Potter: Hatua 9 (na Picha)
Mradi wa Picha ya Kusonga ya Harry Harry Potter: Ifuatayo ni mafundisho yaliyokusudiwa kwa wachawi wa damu safi tu. Ikiwa wewe sio damu safi, Slytherin haswa, umeonywa juu ya kutoweza kuepukika na kushindwa utakutana na squib, muggle, Hufflepuff, au damu ya matope
Mchomaji umeme wa USB! Mradi huu unaweza kuchoma kupitia Plastiki / Mbao / Karatasi (Mradi wa kufurahisha Pia Inapaswa Kuwa Kuni Nzuri Sana): Hatua 3
Mchomaji umeme wa USB! Mradi huu unaweza kuchoma kupitia Plastiki / Mbao / Karatasi (Mradi wa kufurahisha Pia Inapaswa Kuwa Mti Mzuri Sana): USIFANYE KUTUMIA USB HII !!!! niligundua kuwa inaweza kuharibu kompyuta yako kutoka kwa maoni yote. kompyuta yangu ni sawa tho. Tumia chaja ya simu ya 600ma 5v. nilitumia hii na inafanya kazi vizuri na hakuna kitu kinachoweza kuharibika ikiwa unatumia kuziba usalama kukomesha nguvu