Sadržaj:
- Korak 1: Korisnički rad digitalnog sekvencera
- Korak 2: Tehnički detalji
- Korak 3: Tehnički detalji
- Korak 4: 7-segmentni razdjelnik sata
- Korak 5: Razdjelnik takta u minuti
- Korak 6: Podijeli razdjelnik sata
- Korak 7: Reproducirajte/pauzirajte/odaberite državnu mašinu
- Korak 8: Reproducirajte/pauzirajte/odaberite državnu mašinu
- Korak 9: Izlazni FSM
- Korak 10: Izlazni FSM
- Korak 11: Dodijelite bilješku
- Korak 12: Odabir izlaza
- Korak 13: Square Wave Gen
- Korak 14: 7-segmentni ekran
- Korak 15: Konačni odabir
- Korak 16: Vanjski uređaji: DAC
- Korak 17: Vanjski uređaji: Zvučnik
- Korak 18: Video demo
- Korak 19: VHDL kôd
Video: Digitalni sekvencer u 4 koraka: 19 koraka (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:08
CPE 133, Cal Poly San Luis Obispo
Kreatori projekta: Jayson Johnston i Bjorn Nelson
U današnjoj muzičkoj industriji jedan od najčešće korištenih "instrumenata" je digitalni sintisajzer. Svaki muzički žanr, od hip-hopa do popa, pa čak i kantri, koristi digitalni sintisajzer u studiju za stvaranje ritmova i zvukova koji su im potrebni da ožive svoju muziku. U ovom ćemo vodiču stvoriti vrlo jednostavan sintisajzer s Basys 3 FPGA pločom.
Sintisajzer će moći reproducirati četiri odabrane četvrtinske note pri konstantnom broju otkucaja u minuti. Korisnici će pomoću prekidača dodijeliti svaku notu četvrtine muzičkoj visini. Za ovaj projekt koristimo 4-bitni digitalno-analogni pretvarač (DAC) za uzimanje izlaza s ploče i pretvaranje u analogni signal. Izlaz iz DAC -a tada će se prenositi na standardni zvučnik računara, stvarajući našu muziku. Moguće je šesnaest diskretnih nagiba. Ograničit ćemo naš sintisajzer na jednu oktavu od 12 nota, koje se nalaze između sredine C (261,6 Hz) i B4 (493,9 Hz). Korisnik će također imati mogućnost dodjeljivanja više nota istovremeno, kao i dodjeljivanje odmora pritiskom na dodelu, a da nijedan prekidač tona nije pomaknut prema gore. Kako se svaka nota bira i svira, slovna nota se prikazuje na 7-segmentnom ekranu. Također ćemo koristiti tri dugmeta na ploči, jedno za reprodukciju i pauziranje muzike, jedno za resetovanje sintisajzera i stavljanje u režim „odabira“, a treće za dodjeljivanje visine tona svakoj noti u načinu odabira.
Nakon što je korisnik zadovoljan izborom nota i nakon pritiska na tipku za reprodukciju, sintisajzer će reproducirati svaku notu uzastopno sve dok korisnik ne pritisne pauzu ili odabir.
Evo spiska potrebne opreme:
- Vivado (ili bilo koji VHDL radni prostor)
- Basys 3 ili slična FPGA ploča
- Digitalno-analogni pretvarač (min. 4 bita)
- Zvučnik sa priključkom za slušalice
- Žičani vodiči
Korak 1: Korisnički rad digitalnog sekvencera
Sljedeći koraci su za upravljanje digitalnim sekvencerom. Digitalni sekvencer podržava reprodukciju 12 različitih tonova (C, Db, D, Eb, E, F, Gb, G, Ab, A, Bb, B), koji se kreću od 261,6 Hz do 493,9 Hz.
1. Pritisnite lijevo dugme da biste ploču prebacili u način odabira. U ovom načinu rada, sva četiri lijeva prekidača (prekidači od 13 do 16) će se koristiti za spremanje različite vrijednosti visine tona.
2. Za odabir, uključite jedan od lijevih prekidača, a zatim pomoću 4 krajnja desna prekidača (prekidači 1 do 4) odaberite željenu visinu. Visina tona povezana s određenom kombinacijom desnih prekidača bit će prikazana na ekranu sa sedam segmenata, a zaslon će se ažurirati na novu pridruženu visinu tona kad god se desni prekidači prebace na novu kombinaciju. Odmor se može dodijeliti tako što nikada ne dodijelite visinu tona jednom od lijevih prekidača ili dodijelite tonu noti koja je na ekranu prikazana kao 0. Nakon što je željena visina zvuka pronađena i prikazana na ekranu, pritisnite donju tipku za dodjelu kako biste toj specifičnoj visini dodijelili notu.
3. Ponovite korak 2 za tri preostale note, okretanjem svakog od preostalih lijevih prekidača pojedinačno, odabirom odgovarajuće visine sa desnim prekidačima i pritiskom na donje dugme za dodjelu visine tonu noti. Više nota može se dodijeliti istoj visini pomicanjem više od jednog lijevog prekidača prema gore u isto vrijeme.
4. Sada kada su svi tonovi dodijeljeni, digitalni sekvencer je spreman za reprodukciju. Da biste svirali note na zvučniku, jednostavno pritisnite desno dugme za reprodukciju/pauzu da biste započeli reprodukciju muzike. Redoslijed sekvence reprodukcije odražava tonove povezane s lijevim prekidačima, s lijeva na desno. Bilješke će se svirati sa zadanim brojem otkucaja u minuti, redoslijedom 1, 2, 3, 4, 1, 2…. Na ekranu će se prikazati nota koja se trenutno svira dok zvučnici puštaju muziku. Da biste pauzirali reprodukciju muzike, jednostavno pritisnite desno dugme i tada će muzika prestati da se reprodukuje i simbol pauze će se prikazati na ekranu. Ponovnim pritiskom desne tipke nastavljate reprodukciju.
Korak 2: Tehnički detalji
Naš sintisajzer koristi mnoge različite digitalne komponente. Uključeni su strojevi konačnih stanja, registri, multiplekseri, razdjelnici sata i drugo. Za izradu našeg sintetizatora koristili smo 10 jedinstvenih modularnih datoteka. Umjesto da svaki modul učinimo komponentom, razbili smo modularne datoteke prema funkciji. Kao rezultat toga, većina modula ima više od jedne komponente. Imajte na umu da gornja slika prikazuje svaki blok povezan u našem vrhunskom dizajnu.
Raspravljat ćemo o svakom modulu opisujući ulaze i izlaze, razbijajući njegove komponente i objašnjavajući njegovu svrhu u cjelokupnom dizajnu. ZIP datoteka je uključena na dnu instrukcije koja sadrži svaku datoteku VHDL koda koja se koristi u projektu.
Ulazi
- Clk (izvorni signal sata)
- PP (reprodukcija/pauza)
- Sel (stavite sintetizator u način odabira)
- Dodijeli (dodijeli korak tonu)
- Korak (napomene o položaju)
- Freq (prekidači koji stvaraju željenu visinu tona)
Izlazi
- Anoda (7-segmentne anode)
- Katoda (7-segmentne katode)
- DAC (4-bitni pogon DAC-a)
Korak 3: Tehnički detalji
Korak 4: 7-segmentni razdjelnik sata
Naš sintisajzer koristi tri razdjelnika sata, od kojih svi proizvode signale koji služe različitim namjenama u našem projektu. Razdjelnik sata uzima izvorni signal sata i proizvodi promijenjeni signal čija je frekvencija manja od izvornog signala sata. Izvorni sat Basys 3 je 100 MHz. Ovo je frekvencija koju koriste naši razdjelnici sata. Ako koristite drugu FPGA ploču s različitom izvornom frekvencijom takta, možda ćete morati promijeniti kôd.
7-segmentni razdjelnik sata proizvodi signal koji pokreće datoteku seg_display. Objasnit ćemo kako ova datoteka radi detaljnije kada dođemo do njenog odjeljka. U osnovi, ovaj razdjelnik sata proizvodi signal od 240 Hz koji će se koristiti za prebacivanje između anoda i katoda na ekranu. Signal je 240 Hz jer frekvencija na kojoj ljudsko oko ne može prepoznati odsutnost svjetla iznosi 60 Hz. Koristimo dvije znamenke, pa će udvostručenjem ove frekvencije svaka znamenka oscilirati na 60 Hz. Zatim ga udvostručujemo kako bismo dobili 240 Hz jer se sistem mijenja samo kada signal postane visok, a ne kada padne.
Da bi se to postiglo, razdjelnik uzima izvorni signal od 100 MHz i odbrojava na svakom rastućem rubu. Kad brojač dosegne 416667, izlaz će ići s niskog na visoko ili obrnuto.
Ulazi
Clk (izvorni signal sata)
Izlazi
Clk_7seg (na seg_display)
Komponente
- D register
- MUX
- Inverter
- Adder
Korak 5: Razdjelnik takta u minuti
BPM razdjelnik sata radi na sličan način. Ovaj razdjelnik proizvodi frekvenciju sata koja pokreće prebacivanje između četiri koraka prilikom emitiranja tonova u stanju reprodukcije. Odlučili smo se za prebacivanje između nota pri 100 otkucaja u minuti. Pri 100 otkucaja u minuti, svaka će se nota svirati 3/5 sekunde. Dobiveni signal bi imao frekvenciju 1,67 Hz.
Za proizvodnju signala ove frekvencije ponovo smo koristili sistem brojanja, ali ovaj put je broj bio 60 miliona. Svaki put kada brojač dosegne 60 miliona, izlazni signal bi se prebacivao visoko ili nisko.
Ulazi
Clk (izvorna frekvencija sata)
Izlazi
Clk_BPM (na izlaz_FSM)
Komponente
- D register
- MUX
- Inverter
- Adder
Korak 6: Podijeli razdjelnik sata
Razdjelnik satova Pitches najveći je od naših razdjelnika sata. Ovaj razdjelnik emitira 12 različitih signala koji odgovaraju 12 različitih nota koje naš sintisajzer može odsvirati. Koristeći osnovno znanje o teoriji muzike, zaključili smo da bit ili sabirnica mogu oscilirati brzinom koja odgovara frekvenciji muzičkih nota. Ovdje pogledajte frekvencije koje smo koristili. Koristili smo četvrtu oktavu visina.
Ovdje se koristi isti sistem brojanja. Za specifične vrijednosti na koje smo računali pogledajte datoteku označenu Clk_div_pitches.
Ulazi
Clk (izvorna frekvencija sata)
Izlazi
C, Db, D, Eb, E, F, Gb, G, Ab, A, Bb, B (za izlaz_izbor)
Komponente
- D register
- MUX
- Inverter
- Adder
Korak 7: Reproducirajte/pauzirajte/odaberite državnu mašinu
U našem projektu postoje dvije mašine konačnih stanja (FSM). FSM je logički uređaj koji može postojati samo u jednom stanju od konačnog broja stanja. Koristeći FSM, digitalno kolo može preći u novo stanje na osnovu kombinacije ulaza. Koristeći ulaznu logiku, stanje FSM -a će se promijeniti kada postoji rastuća ivica sata. Iz stanja i ulaza u kolo možete stvoriti izlaznu logiku koja daje izlaze koji postoje samo ako je FSM u određenom stanju.
Mašina stanja PPS je prvi FSM u našem krugu. U ovom FSM postoje tri države; Režim reprodukcije, pauze i odabira. Za kretanje kroz različita stanja koristili smo dugmad PP i Odabir. Pogledajte gornji dijagram stanja da vidite kako dolazi do prijelaza između stanja. Ovaj prijelaz FSM -a napravili smo na uzlaznoj ivici izvornog takta od 100 MHz, tako da bi bilo nemoguće da stroj ne prijeđe kada se pritisne jedno od dugmadi, čak i na vrlo kratko vrijeme. Trenutno stanje (P_state) je jedini izlaz iz ovog modula.
Ulazi
- Clk (izvorna frekvencija sata)
- Sel (lijevo dugme)
- PP (desno dugme)
Izlazi
P_stanje (trenutno stanje, za izlaz_FSM, napomenu_priznanja, seg_dsiplay, konačni_izbor)
Komponente
- MUX
- D register
Korak 8: Reproducirajte/pauzirajte/odaberite državnu mašinu
Korak 9: Izlazni FSM
Ovo je drugi FSM naveden u prethodnom odjeljku. Ovaj FSM ima drugačiju funkciju od druge, ali osnova za ovaj je u osnovi ista.
Izlazni FSM radi samo ako je trenutno stanje prvog FSM -a "01" (stanje reprodukcije). U osnovi, ovo je omogućavanje modula. Ako je stanje "01", tada će se FSM prebacivati između stanja na rastućoj ivici signala BPM sata. To činimo jer output_FSM kontrolira koji binarni broj za odabrani pitch se šalje na module output_select i seg_display. FSM ima 16-bitni ulaz koji dolazi iz modula za dodjelu nota, o čemu će biti riječi dalje. U stanju "00" za output_FSM, modul će prikazati "xxxx" za prvu dodijeljenu notu. Zatim će u "01" ispisati "yyyy" za drugu notu i tako dalje za svaku notu prije nego što se vrati na prvu notu. Pogledajte gornji dijagram stanja.
Ovaj se FSM razlikuje od prvog jer nema ulazne logike za kontrolu prebacivanja između stanja. Umjesto toga, FSM će raditi samo kada je stanje iz prvog FSM -a "01", a zatim će ovaj FSM prelaziti između stanja samo na rastućoj ivici signala takta. Druga razlika je u tome što ovaj modul ima izlaznu logiku, što znači da ne prikazuje trenutno stanje, već daje binarni broj za visinu tona u tom stanju.
Ulazi
- Clk_BPM (BPM signal sata sa razdjelnika sata)
- FSM1_state (PS iz PPS FSM)
- Pitch_in (parcele iz note_assign)
Izlazi
Pitch_out (jedan korak po korak, za output_select i seg_display)
Komponente
- MUX
- D register
Korak 10: Izlazni FSM
Korak 11: Dodijelite bilješku
Modul za dodjelu note odgovoran je za dodjeljivanje visine pozicijske note ili koraka. Ovaj modul je zapravo prilično jednostavan. Prvo provjerava je li krug u stanju "odabira" i je li stupnjevni prekidač (krajnje lijevo) visok. Ako je to istina i pritisnuto dugme za dodjelu, izlaz modula bit će jednak binarnom broju koji predstavljaju frekventni prekidači (krajnje desno).
U početku smo pokušali napraviti modul koji bi zapravo spremao jedan od signala takta tona na izlaz, ali smo imali problema s promjenom izlaza u skladu sa ulaznim signalima sata. Ovo je jedini modul koji se više puta koristio u konačnom dizajnu. Za svaki korak je povezan modul note_assign, pa zbog toga svaka instanca modula dobiva jedan bit sabirnice Step.
Ulazi
- P_stanje (trenutno stanje iz PPS FSM)
- Sel (lijevo dugme)
- Prekidač (prekidač u jednom koraku)
- Freq (krajnje desni prekidači za visinu tona)
- Dodeli (donje dugme, dodeljuje belešku)
Izlazi
Nagib (binarni broj, na izlaz_FSM)
Komponente
- MUX
- D resgister
Korak 12: Odabir izlaza
Odabir izlaza odgovoran je za uzimanje binarnog broja za visinu tona i njegovo povezivanje sa odgovarajućim signalom sata. Uprkos svojoj veličini, ovo je takođe relativno jednostavan modul. Output_select je u osnovi binarni dekoder, koji dekodira binarni broj za visinu tona na određeni signal sata. Zapravo, dodjeljivanje izlaza taktu frekvencije ovdje je bolje funkcioniralo u odnosu na modul note_assign, jer je sve što je ovaj modul trebao učiniti bilo MUX taktnih signala s binarnim brojem koji predstavlja upravljački ulaz.
Ispričavamo se na čudnom usmjeravanju, Vivado je organizirao signale tona po abecednom redu za datoteku clk_div_pitches, ali za ovu datoteku ih je organizirao uzlaznim binarnim brojem, zbog čega su tonovi bili u drugom redoslijedu. Također imajte na umu da ako je binarni broj iz output_FSM -a bio "0000" ili bilo što veće od "1100", tada se MUX šalje kroz ravni signal "0".
Ulaz
- Pitch (from output_FSM);
- C, Db, D, Eb, E, F, Gb, G, Ab, A, Bb, B (signali takta tona)
Output
Ton (jedan bit koji odgovara odabranom signalu sata, do kvadratnog_talasa)
Komponente
MUX
Korak 13: Square Wave Gen
Modul square_wave je generator kvadratnog vala koji se izlazi s ploče na DAC. Koristeći tonski signal iz prethodne datoteke, ovaj square_wave invertira 4 -bitni broj između "0000" i "1111" na rastućoj ivici tona. Ton je specifična frekvencija tona, pa kvadratni_talas stvara val s različitom frekvencijom kada izlazni_FSM pređe u drugo stanje. 4-bitni izlaz iz ovog modula odlazi u modul fin_sel, gdje logika diktira hoće li se ova sabirnica izlaziti na osnovu stanja iz PPS FSM-a.
Alternativa ovom generatoru kvadratnih valova je stvaranje sinusnog vala. Iako bi ovo najvjerojatnije proizvelo bolji završni ton, znatno ga je teže implementirati, pa smo se odlučili samo generirati kvadratni val.
Ulazi
Ton (oscilirajući bit iz izlaznog_izbora)
Izlazi
DAC_input (oscilirajuća 4-bitna sabirnica koja se mijenja pri istoj frekvenciji tona)
Komponente
- Inverter
- D register
Korak 14: 7-segmentni ekran
Modul seg_display kontrolira 7-segmentni zaslon na našoj basys ploči. Unutar modula javljaju se dva procesa. Prvi proces dekodira Freq u stanju "odabira" ili Pitch u načinu "reprodukcija". U načinu "pauze" modul dekodira kako bi prikazao simbol pauze. Gledajući VHDL kod, možete vidjeti da binarni dekoder zapravo dekodira ulaz u dva različita signala, katodu1 i katodu2. Katoda1 predstavlja slovo koje odgovara visini tona koji se prikazuje, a katoda 2 predstavlja ravni simbol (b) ako postoji. Razlog za to odnosi se na drugi proces koji izvodi modul seg_display.
Na basys3 ploči segmentni prikaz ima zajedničke katode. Dok anode kontroliraju koja je cifra uključena, katode kontroliraju koji su segmenti uključeni. Budući da zaslon ima zajedničke katode, to znači da možete prikazati samo jedan skup segmenata odjednom. To predstavlja problem za ovaj projekt jer želimo prikazati slovo na prvoj znamenci i ravni simbol, ako je potrebno, u isto vrijeme. Sjećate li se sada signala sata od 7 sekundi? Da bismo zaobišli ovaj problem, mijenjamo anode i katode naprijed -natrag na signalu sata od 7 sekundi. Budući da je signal sata 240 Hz i koristimo dvije znamenke, svaka će cifra oscilirati na 60 Hz. Ljudskom oku će izgledati kao da cifre uopće ne osciliraju.
Također imajte na umu da displej basys3 ploče koristi negativnu logiku. To znači da ako je anoda ili katoda postavljena na '0', ta će znamenka ili segment biti uključeni, i obrnuto.
Ulazi
- Pitch (binarni broj za notu, koristi se u stanju reprodukcije)
- Freq (frekvencijski prekidači, koriste se u stanju odabira)
- P_stanje (trenutno stanje iz PPS FSM)
- Clk_240Hz (signal sata sa Clk_div_7seg, dvostruko 120 jer koristimo samo rastuću ivicu)
Izlazi
- Katoda (sabirnica koja kontrolira segmente na ekranu, konačni izlaz)
- Anoda (sabirnica koja kontrolira znamenke na ekranu, konačni izlaz)
Komponente
- Zasun
- MUX
- D register
Korak 15: Konačni odabir
Konačni odabir je posljednji modul korišten u ovom projektu. Još jedan jednostavan modul, ovaj modul kontrolira konačni izlaz koji će ići do DAC -a. U stanju "odabira" ili "pauze", modul će emitirati statičko "0000" tako da se iz zvučnika neće reproducirati muzika. U stanju "play", modul će emitirati oscilirajuća 4-bita kako je određeno square_wave.
Ulazi
- P_stanje (trenutno stanje iz PPS FSM)
- DAC_input (oscilirajuća 4-bita iz kvadratnog_talasa)
Izlazi
DAC (jednak DAC_input u stanju reprodukcije, konačni izlaz)
Komponente
MUX
Korak 16: Vanjski uređaji: DAC
Digitalno -analogni pretvarač (DAC) uzima diskretni signal i pretvara ga u kontinuirani signal. Naš DAC ima četiri bita i napravljen je od zbrajajućeg pojačala. Koristeći omjer otpornika u petlji napajanja i povratne sprege, uspjeli smo stvoriti sistem koji emituje na 16 različitih nivoa stvaranjem "zbrajanjem" svake grane. Bit0, gornja grana, ima najmanju težinu i doprinosi najmanjem potencijalu kada je visoka zbog toga grane imaju veći otpor. Težina se povećava dok se spuštate niz grane. Ako biste računali binarno prema gore, a zatim prema nazad pomoću bitskih ulaza, izlazni naponi bi izgledali poput sinusnog koraka. Ulaz u DAC bio je spojen na jedan od PMOD-ova na ploči za prijenos 4-bitnog signala.
DAC je izvorno sastavljen za razred elektrotehnike, a mi smo ga dizajnirali i lemili, a ne kupovali u trgovini. Gore se nalazi slika dizajnerske datoteke za stvaranje tiskane ploče.
Korak 17: Vanjski uređaji: Zvučnik
Za ovaj projekt nećete htjeti kupiti super lijep par zvučnika. Kao što možete vidjeti, zvuk je prilično jednostavan. Otišli smo i kupili kompjuterske zvučnike za 8 USD od kompanije Best Buy. Sve sa priključkom za slušalice radi dobro. Monoton takođe radi dobro. Možete čak koristiti i slušalice, ali ih možete ispuhati!
Za povezivanje izlaza DAC -a sa zvučnicima koristili smo kratkospojne kabele, a zatim smo izlazni kabel držali na vrhu priključka za slušalice, a kabel za uzemljenje na podnožje. Pokušali smo koristiti električnu traku za držanje kabela na mjestu, ali to je uzrokovalo mnogo smetnji. Pokušaj drugačijeg stila trake mogao bi riješiti ovaj problem.
Za naše zvučnike, okrenuli smo ih na najveću postavku i dobili pristojno glasnu buku.
I to je posljednji korak za stvaranje digitalnog sekvencera sa FPGA ploče! Idite na sljedeća dva odjeljka da preuzmete sav naš VHDL kôd i vidite sekvencer na djelu.
Korak 18: Video demo
Ovaj video prikazuje konačnu verziju radnog projekta, uključujući proces dodjeljivanja prekidača na 4 različite visine, te zvučnike koji sviraju odgovarajuće note.
Korak 19: VHDL kôd
Evo koda za cijeli projekt, uključujući datoteke ograničenja i sim -a korištene pri izgradnji sekvencera. Imajte na umu da neiskorištene datoteke dizajna tako govore u arhitekturi.
Preporučuje se:
Jednostavan sekvencer: 16 koraka (sa slikama)
Simple Sequencer: Jedan od ključeva za stvaranje dobre muzike je bezumno ponavljanje. U tome je jednostavan sekvencer odličan. Radi istu stvar iznova i iznova u nizu od osam nota. Možete podesiti učestalost bilješke, trajanje bilješke i
Sekvencer piva: 7 koraka
Sekvencer piva: Cos'èl Sequencer piva je sekvencer i sedici korak koji aktivira tramite dei pesi. I pesi mogu koristiti sve što je potrebno da se ne primijene alogiji koji sadrže kontengono gli FSR (otpornik osjetljivog na silu) koji se koristi za otkrivanje i promjenu pesa. La variaz
Atari Punk konzola s bebom Sekvencer za 8 koraka: 7 koraka (sa slikama)
Atari Punk konzola sa Baby Step Sequencer-om: Ova srednja verzija je sve-u-jednom Atari Punk Console i Baby 8 Step Sequencer koju možete glodati na stolnoj PCB glodalici Bantam Tools. Sastoji se od dvije ploče: jedna je ploča korisničkog sučelja (UI), a druga je pomoćna bo
(skoro) Univerzalni MIDI SysEx CC programator (i sekvencer ): 7 koraka (sa slikama)
(skoro) Univerzalni MIDI SysEx CC programer (i sekvencer …): Sredinom osamdesetih proizvođači sintetičkih sintetičara počeli su s "manje je bolje" proces koji je doveo do barebones sintisajzera. To je omogućilo smanjenje troškova sa strane proizvođača, ali je učinilo proces krpanja dosadnim, ako ne i nemogućim za konačnu upotrebu
Programabilni RGB LED sekvencer (koristeći Arduino i Adafruit Trellis): 7 koraka (sa slikama)
Programabilni RGB LED sekvencer (koristeći Arduino i Adafruit Trellis): Moji sinovi su htjeli LED trake u boji da osvijetle njihove stolove, a ja nisam želio koristiti konzervirani RGB kontroler jer sam znao da će im dosaditi fiksni uzorci ovi kontroleri imaju. Takođe sam mislio da će to biti odlična prilika za stvaranje