Sisällysluettelo:
- Vaihe 1: Asioita, joita tarvitset
- Vaihe 2: Tiivistelmä
- Vaihe 3: Perusidea
- Vaihe 4: Walabot
- Vaihe 5: Aloittaminen
- Vaihe 6: Raspberry Pi: n käyttöönotto - 1
- Vaihe 7: Asenna Raspberry Pi - 2
- Vaihe 8: Asenna Raspberry Pi - 3
- Vaihe 9: Asenna Raspberry Pi - 4
- Vaihe 10: Python
- Vaihe 11: Walabot
- Vaihe 12: Servoliitäntä
- Vaihe 13: LCD -näyttö
- Vaihe 14: Blynk
- Vaihe 15: Blynk -sovelluksen määrittäminen
- Vaihe 16: Voit käyttää tätä QR -koodia Blynk -sovelluksen kanssa projektin kloonaamiseen säästääksesi aikaa
- Vaihe 17: Blynkin käyttäminen Raspberry Pi: n kanssa ja Blynk HTTPS: n käyttäminen Pythonissa
- Vaihe 18: Käynnistä komentosarja automaattisesti
- Vaihe 19: Laitteisto
- Vaihe 20: Kotelon suunnittelu
- Vaihe 21: Guts Shots
- Vaihe 22: Lopulliset kokoonpanokuvat
- Vaihe 23: Walabotin kiinnittäminen telineeseen
- Vaihe 24: Laitteiston STL -tiedostot 3D -tulostusta varten
- Vaihe 25: Kaaviot asian kytkemisestä
- Vaihe 26: Koodi
- Vaihe 27: Käytettävät Github -arkistot
- Vaihe 28: Johtopäätös
Video: Walabot FX - Guitar Effect Control: 28 vaihetta (kuvilla)
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:04
Ohjaa suosikki kitaratehosteesi käyttämällä vain mahtavia kitara -asentoja!
Vaihe 1: Asioita, joita tarvitset
Laitteiston osat
Walabot - Walabot
Raspberry Pi - Raspberry Pi 3 Malli B
Sunfounder LCD1602
SunFounder PCA9685 16-kanavainen 12-bittinen PWM-servo-ohjain Arduinolle ja Raspberry Pi: lle
Servo (yleinen) Ei linkkiä
9V akun pidike
4xAA -paristopidike
AA -paristot
Hyppyjohdot (yleinen)
DPDT Latching Action Foot -kytkin
Korg SDD3000-PDL
Ohjelmistojen käyttöjärjestelmät, sovellukset ja verkkopalvelut
Autodesk Fusion360 -
Blynk -
Työkalut yms
3D tulostin
Juotin
Vaihe 2: Tiivistelmä
Miltä tuntuisi hallita musiikillista ilmaisua käyttämällä vain kitaran asentoa 3D -tilassa? No, kirjoitetaan jotain ja selvitetään!
Vaihe 3: Perusidea
Halusin pystyä ohjaamaan 3 -tehosteparametria reaaliajassa, halusin tehdä tämän käyttämällä kitarani sijoittamista. Joten yksi asia oli selvä, tarvitsin muutamia asioita.
- Anturi, joka pystyy näkemään 3D -tilan
- Servot kääntämään nuppeja
- LCD -näyttö
- I2C Servo -ohjain
- Raspberry Pi
- Oppia Python
Vaihe 4: Walabot
Haluatko nähdä seinien läpi? Tunne esineitä 3D -tilassa? Onko järkeä, jos hengität huoneen toiselta puolelta? No, olet onnekas!
Walabot on aivan uusi tapa havaita ympärilläsi oleva tila käyttämällä pienitehoista tutkaa.
Tämä oli avain tähän projektiin, pystyisin ottamaan esineiden carteasan (X-Y-Z) -koodinaatit 3D-avaruudessa ja kartoittamaan ne servoasentoihin muuttamalla kitaratehosteen kuulosta reaaliajassa koskematta pedaaliin.
Voittaa.
Lisätietoja Walabotista löytyy täältä
Vaihe 5: Aloittaminen
Ensinnäkin tarvitset tietokoneen Walabotin ajamiseen, tässä projektissa käytän Raspberry Pi 3: ta (tässä viitaten RPi: hen) sisäänrakennetun WiFi: n ja yleisten lisäominaisuuksien vuoksi
Ostin 16 Gt: n SD -kortin, johon oli esiasennettu NOOBS, jotta asiat olisivat mukavia ja yksinkertaisia, ja päätin asentaa Raspianin Linux -käyttöjärjestelmäksi
(jos et ole perehtynyt Raspianin asentamiseen, lue hetki ja lue tämä hieman)
OK, kun Raspian on käynnissä RPi -laitteellasi, sinun on suoritettava muutama määritysvaihe, jotta asiat saadaan valmiiksi projektillemme
Vaihe 6: Raspberry Pi: n käyttöönotto - 1
Varmista ensin, että käytät uusinta ytimen versiota, ja tarkista päivitykset avaamalla komentokuori ja kirjoittamalla
sudo apt-get päivitys
sudo apt-get dist-upgrade
(sudo lisätään varmistaaksesi, että sinulla on järjestelmänvalvojan oikeudet, esim. tavarat toimivat)
Tämä voi kestää jonkin aikaa, joten mene ja nauti mukava kuppi teetä.
Vaihe 7: Asenna Raspberry Pi - 2
Sinun on asennettava Walabot SDK for RPi. Siirry RPi -selaimestasi osoitteeseen https://www.walabot.com/gettingstarted ja lataa Raspberry Pi -asennuspaketti.
Komentokuoresta:
cd -lataukset
sudo dpkg -I walabotSDK_RasbPi.deb
Vaihe 8: Asenna Raspberry Pi - 3
Meidän on aloitettava RPi: n määrittäminen käyttämään i2c -väylää.
sudo apt-get install python-smbus
sudo apt-get install i2c-tools
Kun tämä on tehty, sinun on lisättävä seuraava moduulitiedostoon
Komentokuoresta:
sudo nano /etc /modules
lisää nämä 2 merkkijonoa erillisille riveille:
i2c-dev
i2c-bcm2708
Vaihe 9: Asenna Raspberry Pi - 4
Walabot saa melko vähän virtaa, ja käytämme myös GPIO: ta tavaroiden hallintaan, joten meidän on määritettävä nämä
Komentokuoresta:
sudo nano /boot/config.txt
lisää seuraavat rivit tiedoston loppuun:
safe_mode_gpio = 4
max_usb_current = 1
RPi on erinomainen työkalu valmistajille, mutta se on rajoitettu nykyisessä Walabotille lähetettävässä virrassa. Siksi lisäämme 1 A: n maksimivirran tavallisen 500 mA: n sijasta
Vaihe 10: Python
Miksi Python? No, koska se on erittäin helppo koodata, nopea käynnistää ja saatavilla on paljon hyviä esimerkkejä pythonista! En ollut koskaan käyttänyt sitä aikaisemmin ja sain sen nopeasti käyttöön. Nyt RPi on määritetty haluamallemme tavalla, seuraava askel on määrittää Python pääsemään Walabot -sovellusliittymään, LCD Servo -rajapintoihin
Vaihe 11: Walabot
Komentokuoresta
Sudo pip -asennus”/usr/share/walabot/python/WalabotAPI-1.0.21.zip”
Vaihe 12: Servoliitäntä
Komentokuoresta
sudo apt-get install git build-essential python-dev
cd ~
git -klooni
cd Adafruit_Python_PCA9685
sudo python setup.py install
Miksi meidän on käytettävä servo -ohjainta? No, RPi: stä pari syytä.
1. Servon vetämä virta voi olla erittäin suuri, ja tämä luku kasvaa sitä enemmän, mitä enemmän servoja sinulla on (tietysti). Jos ohjaat servo -ohjainta RPi: stä, olet vaarassa tuhota sen virtalähteen
2. PWM: n (Pulse Width Modulation) ajoitukset, jotka säätelevät servoja, ovat erittäin tärkeitä. Koska RPi ei käytä reaaliaikaista käyttöjärjestelmää (voi olla keskeytyksiä ja vastaavia), ajoitukset eivät ole tarkkoja ja voivat saada servot nykimään hermostuneesti. Erillinen ohjain mahdollistaa tarkan ohjauksen, mutta mahdollistaa myös jopa 16 servon lisäämisen, joten tämä sopii erinomaisesti laajentamiseen.
Vaihe 13: LCD -näyttö
avaa RPi -selain
www.sunfounder.com/learn/category/sensor-k…
ladata
github.com/daveyclk/SunFounder_SensorKit_…
Komentokuoresta:
sudo mkdir/usr/share/sunfounder
Kopioi graafisen tutkimusohjelman avulla python -kansio zip -tiedostosta uuteen sunfounder -kansioon
Nestekidenäytöllä kehotetaan käyttäjää selvittämään, mitä tapahtuu. Näytetään määritysprosessi aina x-, y- ja z -arvoihin, jotka on kartoitettu kullekin servolle
Vaihe 14: Blynk
Blynk on loistava IoT -palvelu, jonka avulla voit luoda mukautetun sovelluksen asioidesi hallitsemiseksi. Tuntui täydelliseltä ratkaisulta antaa minulle kauko -ohjain walabotista, jotta voin todella valita asetukset …
Yksi ongelma. Blynk ei ole tällä hetkellä tuettu Python -alustalla, vika. Mutta älä pelkää! Löysin mukavan pienen työn, joka mahdollistaa kauko -ohjauksen ja etäparametrien syöttämisen! se on vähän noloa
ensimmäinen askel on ladata Blynk -sovellus suosikkisovelluskaupastasi
Toiseksi, hanki tili
Kun tämä on tehty, avaa sovellus ja aloita uusi projekti valitsemalla laitteistoksi Raspberry Pi 3.
Sovellus antaa sinulle käyttöoikeustunnuksen (tarvitset tämän koodin syöttämiseen)
Kun olet tehnyt sen. sinun on asennettava sovellus kuvien mukaisesti. Näin se liitetään walabotiin.
Vaihe 15: Blynk -sovelluksen määrittäminen
Vaihe 16: Voit käyttää tätä QR -koodia Blynk -sovelluksen kanssa projektin kloonaamiseen säästääksesi aikaa
OK Nyt kun kaikki sovellukset on määritetty, voimme määrittää Pythonin ja RPi: n puhumaan sen kanssa Internetin kautta. Taika
Vaihe 17: Blynkin käyttäminen Raspberry Pi: n kanssa ja Blynk HTTPS: n käyttäminen Pythonissa
Ensinnäkin sinun on asennettava Blynk HTTPS -kääre Pythonille
Komentokuoresta:
sudo git klooni
sudo pip asenna blynkapi
Toiseksi sinun on asennettava Blynk -palvelu RPi: hen
Komentokuoresta:
git -klooni
cd blynk-kirjasto/linux
puhdista kaikki
blynk -palvelun suorittamiseen
sudo./blynk --token = YourAuthToken
Varmistaaksesi, että Blynk -palvelu toimii käynnistyksen yhteydessä, sinun on muutettava /etc/rc.local
tekemällä
sudo nano /etc/rc.local
lisää tämä loppuun
./blynk-library/linux/blynk --token = tunnukseni &
(Olen lisännyt /etc/rc.local -tiedoston kopion koodiosaan viitteeksi)
Voit testata sen toimimisen kirjoittamalla
sudo /etc/rc.local start
Blynk -palvelun pitäisi nyt olla käynnissä
Vaihe 18: Käynnistä komentosarja automaattisesti
Nyt kun tämä kaikki on määritetty ja konfiguroitu, ja meillä on python -koodi valmiina. voimme asettaa asiat toimimaan automaattisesti, jotta voimme hylätä näppäimistön ja näytöt
Tekemistä on muutama
Luo uusi komentotiedosto, jotta Python -ohjelma loppuu
sudo nano kitaroefekti.sh
lisää nämä rivit
#!/bin/sh
python /home/pi/GuitarEffectCLI.py
muista tallentaa se
Seuraavaksi meidän on annettava komentosarjalle lupa toimia kirjoittamalla
Sudo chmod +x /home/pi/guitareffect.sh
Ja lopuksi, meidän on lisättävä tämä komentosarja /etc/rc.local -tiedostoon, jota käsitimme aiemmin.
Sudo nano /etc/rc.local
Lisätä
/home/pi/guitareffect.sh &
Muista sisällyttää "&", jolloin Python -skripti voidaan suorittaa taustalla
Oikein! Siinä kaikki kokoonpano ja ohjelmistot lajiteltu, seuraavaksi on aika kytkeä laitteisto
Vaihe 19: Laitteisto
Ensimmäinen Breadboard -prototyyppi
Vaihe 20: Kotelon suunnittelu
Kotelo on suunniteltu ja renderöity mahtavaan Fusion360: een
Vaihe 21: Guts Shots
Vaihe 22: Lopulliset kokoonpanokuvat
Vaihe 23: Walabotin kiinnittäminen telineeseen
Kiinnitä se Walabotin mukana tulevalla itseliimautuvalla metallikiekolla
Vaihe 24: Laitteiston STL -tiedostot 3D -tulostusta varten
Vaihe 25: Kaaviot asian kytkemisestä
Vaihe 26: Koodi
Käytä liitteenä olevaa Python -komentosarjaa projektillesi
from _future_ import print_functionfys sys -tuontialustalta os -tuontijärjestelmästä blynkapista tuonti Blynk -tuonti WalabotAPI -tuontiajan tuonti RPi. GPIO GPIO: na
#asettaa GPIO käyttämällä hallituksen numerointia
GPIO.setmode (GPIO. BOARD) GPIO.setup (18, GPIO. IN, pull_up_down = GPIO. PUD_UP)
#blynk -todennustunnus
auth_token = "sinun_auton_token_ täällä"
# Tuo servo -ohjaukseen tarkoitettu PCA9685 -moduuli.
Tuo Adafruit_PCA9685
#tuonti LCD -moduuli paikasta
imp imp load load_source LCD1602 = load_source ('LCD1602', '/usr/share/sunfounder/Python/LCD1602.py')
# Alusta PCA9685 käyttämällä oletusosoitetta (0x40).
pwm = Adafruit_PCA9685. PCA9685 ()
# blynk -objektia
oletusarvot = Blynk (auth_token, pin = "V9") start_button = Blynk (auth_token, pin = "V3") Rmax = Blynk (auth_token, pin = "V0") Rmin = Blynk (auth_token, pin = "V1") Rres = Blynk (auth_token, pin = "V2")
ThetaMax = Blynk (auth_token, pin = "V4")
ThetaRes = Blynk (auth_token, pin = "V5")
PhiMax = Blynk (auth_token, pin = "V6")
PhiRes = Blynk (auth_token, pin = "V7")
Kynnys = Blynk (auth_token, pin = "V8")
ServoMin = Blynk (auth_token, pin = "V10")
ServoMax = Blynk (auth_token, pin = "V11")
def LCDasetukset ():
LCD1602.init (0x27, 1) # init (orjaosoite, taustavalo)
def numMap (x, in_min, in_max, out_min, out_max): "" "käytetään walabot -lukemien kartoittamiseen servoasentoon" "" return int ((x- in_min) * (out_max - out_min) / (in_max - in_min) + out_min)
# käytä tätä pyöristettäessä raakatiedot määritettyyn arvoon
def myRound (x, base = 2): return int (base * round (float (x)/base))
#poimii numeron palautetusta blynk -merkkijonosta
def numberExtract (val): val = str (val) return int (suodatin (str. numero, val))
# Aseta taajuus 60 Hz, hyvä servoille.
pwm.set_pwm_freq (60)
# Määritä mini- ja maksimipalvelupulssien pituudet oletusarvoiksi
SERVO_MIN = 175 # Minimipulssin pituus 4096: sta SERVO_MAX = 575 # Maksimipulssin pituus 4096: sta
# walabotin oletusarvot
R_MAX = 60 R_MIN = 20 R_RES = 5
THETA_MAX = 20
THETA_RES = 5
PHI_MAX = 20
PHI_RES = 5
THRESHOLD = 1
# muuttujaa blynk -vaihdolle
päällä = "[u'1 ']"
Walabot -luokka:
def _init _ (itse):
self.wlbt = WalabotAPI self.wlbt. Init () self.wlbt. SetSettingsFolder () self.isConnected = False self.isTargets = False
def blynkConfig (itse):
load_defaults = defaults.get_val () if str (load_defaults) == on: SERVO_MAX = ServoMax.get_val () SERVO_MAX = numberExtract (SERVO_MAX) print ("Servo Max =", SERVO_MAX)
SERVO_MIN = ServoMin.get_val ()
SERVO_MIN = numberExtract (SERVO_MIN) print ("Servo MIN =", SERVO_MIN) R_MAX = Rmax.get_val () R_MAX = numberExtract (R_MAX) print ("R max =", R_MAX)
R_MIN = Rmin.get_val ()
R_MIN = numberExtract (R_MIN) print ("R Min =", R_MIN)
R_RES = Rres.get_val ()
R_RES = numberExtract (R_RES) print ("R Res =", R_RES)
THETA_MAX = ThetaMax.get_val ()
THETA_MAX = numberExtract (THETA_MAX) print ("Theta Max =", THETA_MAX) THETA_RES = ThetaRes.get_val () THETA_RES = numberExtract (THETA_RES) print ("Theta Res =", THETA_RES)
PHI_MAX = PhiMax.get_val ()
PHI_MAX = numberExtract (PHI_MAX) print ("Phi Max =", PHI_MAX) PHI_RES = PhiRes.get_val () PHI_RES = numberExtract (PHI_RES) print ("Phi Res =", PHI_RES)
THRESHOLD = Kynnys.get_val ()
THRESHOLD = numberExtract (THRESHOLD) print ("Threshold =", THRESHOLD)
else: # jos mitään blynk -sovelluksesta, lataa oletusarvot SERVO_MIN = 175 # Min. pulssin pituus 4096: sta SERVO_MAX = 575 # Maksimipulssin pituus 4096: sta
# walabotin oletusarvot
R_MAX = 60 R_MIN = 20 R_RES = 5
THETA_MAX = 20
THETA_RES = 5
PHI_MAX = 20
PHI_RES = 5
THRESHOLD = 1
def connect (self): try: self.wlbt. ConnectAny () self.isConnected = True self.wlbt. SetProfile (self.wlbt. PROF_SENSOR) #self.wlbt. SetDynamicImageFilter (self.wlbt. FILTER_TYPE_MTI) its.wlbt. (self.wlbt. FILTER_TYPE_NONE) #self.wlbt. SetDynamicImageFilter (self.wlbt. FILTER_TYPE_DERIVATIVE) self.wlbt. SetArenaTheta (-THETA_MAX, THETA_MAX, THETA_RES) self (-XI) PHILIP-PHILIP. SetArenaR (R_MIN, R_MAX, R_RES) self.wlbt. SetThreshold (THRESHOLD) paitsi self.wlbt. WalabotError as err: if err.code! = 19: # 'WALABOT_INSTRUMENT_NOT_FOUND' korotusvirhe
def start (itse):
self.wlbt. Start ()
def kalibroi (itse):
self.wlbt. StartCalibration ()
def get_targets (itse):
self.wlbt. Trigger () return self.wlbt. GetSensorTargets ()
def stop (itse):
self.wlbt. Stop ()
katkaise yhteys (itse):
self.wlbt. Disconnect ()
def main ():
flag = True check = "" LCDsetup () kun lippu: LCD1602.write (0, 0, 'Guitar') LCD1602.write (0, 1, 'Effect Control') time.sleep (2) LCD1602.write (0, 0, 'Paina Käynnistä') LCD1602. Kirjoittaa (0, 1, 'aloita') time.sleep (2) jos (str (check) == on): flag = False else: check = start_button.get_val () # tarkista blynk -käynnistyspainike paina jos (GPIO.input (18) == 0): #check footswitch flag = False
LCD1602.write (0, 0, "OK! Tehdään se")
LCD1602.write (0, 1, '') wlbt = Walabot () wlbt.blynkConfig () wlbt.connect () LCD1602.clear () jos ei wlbt.isConnected: LCD1602.write (0, 0, 'Not Connected') else: LCD1602.write (0, 0, 'Connected') time.sleep (2) wlbt.start () wlbt.calibrate () LCD1602.write (0, 0, 'Calibrating…..') time.sleep (3)) LCD1602.write (0, 0, 'Walabotin käynnistäminen')
appcheck = start_button.app_status () lippu = True # reset lippu pääohjelmalle
kun lippu: # käytetään tehon asettamiseen valmiustilaan (tehokkaasti)
if (appcheck == True): if (str (check)! = on): if (GPIO.input (18)! = 0): #check footswitch flag = False else: check = start_button.get_val () #check for Käynnistä -painike paina appcheck = start_button.app_status ()
muu:
if (GPIO.input (18)! = 0): #check footswitch flag = False
xval = 0
yval = 0 zval = 0 keskiarvo = 2 delayTime = 0
target = wlbt.get_targets ()
jos len (kohteet)> 0:
j alueella (keskiarvo):
target = wlbt.get_targets ()
jos len (kohteet)> 0: tulosta (len (kohteet)) kohteet = kohteet [0]
tulosta (str (target.xPosCm))
xval += int (target.xPosCm) yval += int (target.yPosCm) zval += int (target.zPosCm) time.sleep (delayTime) else: print ("ei tavoitteita") xval = xval/keskiarvo
xval = numMap (xval, -60, 60, SERVO_MIN, SERVO_MAX)
xval = myRound (xval), jos xval SERVO_MAX: xval = SERVO_MAX LCD1602.write (0, 0, 'x =' + str (xval) + '') pwm.set_pwm (0, 0, xval)
yval = yval/keskiarvo
yval = numMap (yval, -60, 60, SERVO_MIN, SERVO_MAX)
yval = myRound (yval) jos yval SERVO_MAX: yval = SERVO_MAX LCD1602.write (0, 1, 'y =' + str (yval)) pwm.set_pwm (1, 0, yval)
zval = zval/keskiarvo
zval = numMap (zval, R_MIN, R_MAX, SERVO_MIN, SERVO_MAX)
zval = myRound (zval) jos zval SERVO_MAX: zval = SERVO_MAX LCD1602.write (8, 1, 'z =' + str (zval)) pwm.set_pwm (2, 0, zval)
muu:
tulosta ("ei kohteita") LCD1602.write (0, 0, "Sammutus") LCD1602.write (0, 1, 'The Walabot') time.sleep (3) wlbt.stop () wlbt.disconnect ()
jos _name_ == '_main_':
kun taas totta: main ()
kitariefekti.sh
#!/bin/sh
cd /koti /pi
sudo python GuitarEffectCLI.py
Kopio paikallisesta RC -tiedostosta viitteeksi
#!/bin/sh -e # # rc.local # # Tämä komentosarja suoritetaan jokaisen monikäyttäjän ajotason lopussa. # Varmista, että komentosarja "poistuu 0" onnistumisesta tai mikä tahansa muu # arvo virheestä. # # Jotta voit ottaa tämän skriptin käyttöön tai poistaa sen käytöstä, muuta vain suoritus # bittiä. # # Oletuksena tämä skripti ei tee mitään.
# Tulosta IP -osoite
_IP = $ (isäntänimi -I) || tosi jos ["$ _IP"]; sitten printf "IP -osoitteeni on %s / n" "$ _IP" fi
./blynk-library/linux/blynk --token = "sinä tunnuksesi menee tänne" &
nukkua 10 sudo /home/pi/guitareffect.sh & exit 0
Vaihe 27: Käytettävät Github -arkistot
Käytä tätä Sunfounder -nestekidenäytössä
github.com/daveyclk/SunFounder_SensorKit_f…
Käytä tätä servo -ohjaimelle
github.com/daveyclk/Adafruit_Python_PCA968…
Käytä tätä Blynk Python HTTPS Wrapperille
github.com/daveyclk/blynkapi
Vaihe 28: Johtopäätös
Tämä on ollut jyrkkä oppimiskäyrä, mutta se on ollut sen arvoista.
Poimintani ovat
- Minun piti oppia Python.. osoittautuu, että se on ässä
- Liitetty Python Raspberry Pi: hen Blynk IoT -palvelun kanssa. Tätä ei tueta virallisesti, joten sen toiminnoilla on joitain rajoituksia. Toimii silti loistavasti!
- Osoittautuu, että Walabot soveltuu erinomaisesti musiikilliseen ilmaisuun. Käytin sitä Korg SDD3000 -laitteessa, mutta voit käyttää mitä tahansa haluamaasi tehostetta
Käy itse. Tämä ei rajoitu kitaratehosteisiin, minua voidaan käyttää minkä tahansa instrumentin kanssa, jolla on mikä tahansa vaikutus.
Toinen sija Raspberry Pi -kilpailussa 2017
Suositeltava:
Super FAST RC Ground Effect Ajoneuvo (Ekranoplan): 5 vaihetta (kuvilla)
Super FAST RC Ground Effect Ajoneuvo (Ekranoplan): Tiedätkö, kuinka lentokoneet leijuvat kosketuksen aikana muutaman metrin korkeudella maan pinnasta jonkin aikaa ennen kuin niiden pyörät osuvat kiitotielle? Tämä ei ainoastaan anna matkustajille sujuvaa laskeutumista, vaan se on myös luonnollinen tulos maan vaikutuksesta, jossa
Analogisen piirin tuntemus - DIY a Ticking Clock Sound Effect Circuit ilman IC: 7 vaihetta (kuvilla)
Analogisen piirin tuntemus - DIY tikkukellon äänitehostepiiri ilman IC: tä: Tämä tikittävä kelloäänitehostepiiri rakennettiin juuri transistoreilla, vastuksilla ja kondensaattoreilla ilman IC -komponenttia. Se on ihanteellinen sinulle, kun haluat oppia perustiedot piiristä tällä käytännöllisellä ja yksinkertaisella piirillä. Tarvittava matto
Double Delay Effect: 10 vaihetta (kuvilla)
Double Delay Effect: SUPER yksinkertainen kaksoisviive -efekti! Tavoitteeni oli rakentaa mahdollisimman kompakti ja zaniest viive mahdollinen käyttämällä vain muutamia komponentteja. Tuloksena on koteloimaton, helposti muokattava kohinakone, jolla on yllättävän massiivinen ääni.PÄIVITYS: Tiedot
DIY Mielenkiintoinen Love Heart Chasing Effect LED -valot: 8 vaihetta (kuvilla)
DIY Mielenkiintoinen Love Heart Chasing Effect LED -valot: Tämä rakenne kattaa kuinka tehdä hämmästyttäviä taikuuksia jahtaavia LED -valoja rakastajallesi, isällesi, äidillesi, luokkatovereillesi ja hyville ystävillesi. Tämä on melko helppo rakentaa niin kauan kuin sinulla on kärsivällisyyttä. Suosittelen juottokokemusta, jos rakennat
Hall Effect -anturi Arduinolla Fidget Spinnerin avulla: 3 vaihetta (kuvilla)
Hall Effect -anturi Arduinossa Fidget Spinnerin avulla: Tiivistelmä Tässä projektissa selitän, kuinka Hall -efekti -anturi toimii mitattaessa pyörimisnopeutta arduino -kortilla. työskentely: -Hall-tehosteanturi on anturi, joka muuttaa lähtöjännitettä vasteena magneettikenttään. Hall-ilmiö