Inhoudsopgave:
- Stap 1: Onderdelenlijst
- Stap 2: C-code
- Stap 3: Eerste bedrading (raadpleeg de projectfoto voor begeleiding)
Video: Midi Record/Play/Overdub met 5-pins aansluitingen - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:17
* Gebruikt een ATMega-1284-chip die draait op 8 MHz, met 4 k Bytes RAM en 4 kBytes eeprom
* Gebruikt de oude DIN 5-pins connectoren
* Maakt opnemen en afspelen mogelijk, evenals overdub: opnemen samen met iets dat u eerder hebt opgenomen.
* Volledig menu
* Mogelijkheid om een bestand een naam te geven en op te slaan in eeprom
* Bewerkbare tempo's en maatsoorten
* Rudimentaire kwantisatie
Nut* Proof of concept: misschien vind je dit project een uitdaging.
Wat houdt deze tutorial in:
* Onderdelen lijst
* Projectrapport (bijgevoegd aan dit paneel)
Bevat veel informatie die u moet weten over het project
* Link naar de C-code op GitHub
github.com/sugarvillela/ATMega1284
* Stapsgewijze instructies voor het bouwen van het project en het aanpassen van de code
Stap 1: Onderdelenlijst
Sommige onderdelen kreeg ik op school met korting. Sommige heb ik in een winkel gekocht en te veel betaald. Als je tijd hebt, kun je dit allemaal online krijgen.
1 Breadboard, elk model, ongeveer even groot als die op de introductiefoto, $ 20
1 microprocessor, model ATMega1284, $ 5
Dit is een veelzijdige chip met geweldige functies. Vind hier de datasheet:
ww1.microchip.com/downloads/en/devicedoc/atmel-42718-atmega1284_datasheet.pdf
1 5-volt voeding
1 ATMEL-IJS
Dit is de interface tussen uw computer en de microprocessor. Je hebt ook wat code-editing software (een IDE) en een compiler nodig die C kan cross-compileren naar de architectuur van de ATMega-chip. Atmel zorgt voor een omgeving, Atmel Studio, die aan deze eisen voldoet. Download het hier:
1 Opto-coupler, model 6N138 of gelijkwaardig, $ 5
Dit is voor de invoer; de midi-standaard vereist dat apparaten van elkaar worden geïsoleerd om aardlussen te voorkomen. Ik gebruikte de NEC-equivalente chip met identieke pin-out-opstelling. Zie de foto hierboven voor info of google gewoon '6n138 pinout'. Als je een model met verschillende pintoewijzingen gebruikt, zoek dan (voorzichtig) de bijbehorende pins op.
2 LCD-schermen, model 1602A1, $ 3 per stuk
Ik heb 2*16 schermen gebruikt, wat betekent dat ze 2 rijen hebben van elk 16 tekens breed. De code is speciaal hiervoor geschreven, dus probeer dezelfde te gebruiken. Aansluitingen zijn: 8 datalijnen en 2 stuurlijnen. U kunt de datalijnen tussen de twee schermen delen, maar u hebt voor elk 2 controlelijnen nodig, voor een totaal van 4 controlelijnen. Mijn project gebruikt bus C voor LCD-datalijnen en de bovenste nibble van bus D voor stuurlijnen. Als u de uwe anders bedraden, wijzigt u de uitgangsbussen in uw code.
1 luidspreker
Voor metronoomuitgang; elke spreker zal doen. Je voedt het 3-5 volt blokgolven, dus het hoeft niet mooi te klinken. U kunt ook een externe versterker aansluiten.
1 condensator, om de blokgolfuitgang naar de luidspreker te verzachten
2 5-pins DIN-connectoren, mannelijk of vrouwelijk
Ik heb mannelijke kabels gebruikt en ze op het bord aangesloten. Gebruik voor een elegantere oplossing vrouwelijke connectoren en sluit mannelijke kabels aan op andere apparaten. (Vergeet niet dat de pinnummers achterwaarts zijn, afhankelijk van de manier waarop u naar de connector kijkt!)
Weerstanden, 180-330 Ohm, 1k-10kOhm
Mogelijk moet u experimenteren met weerstandswaarden om de opto-coupler de invoer snel genoeg te laten volgen
LED's
Het ontwerp vereist een diode over de opto-isolator-ingang, maar een LED is voldoende. Gebruik een LED voor de metronoom, om op tijd te knipperen met de piepende luidspreker. Houd meer LED's bij de hand voor het debuggen van output als je ze nodig hebt.
Draden, veel draden
20-22 gauge, massieve draden, lang, kort en klein.
Stap 2: C-code
Ga naar github om de code te krijgen:
* Zorg ervoor dat u de code leest en begrijpt, want het kan zijn dat u deze moet aanpassen aan andere hardware.
* Het projectrapport op het intropaneel bevat gedetailleerde beschrijvingen van de softwaremodules en hun interactie.
* Geen copy-paste. Interactie met de code; experiment; herschrijven. Je kunt het waarschijnlijk verbeteren.
Stap 3: Eerste bedrading (raadpleeg de projectfoto voor begeleiding)
Opmerkingen over de projectfoto voordat we beginnen
Op de foto is de opto-coupler de laatste chip aan de rechterkant, en de processor is de grote chip aan de linkerkant.
Je ziet twee andere chips ertussen met een aantal weerstanden aangesloten. Negeer ze alstublieft. Dat zijn schuifregisters, die in dit project niet worden gebruikt. Als je ooit zin hebt om een LED-array toe te voegen, zul je ontdekken waar ze voor dienen.
Het ronde zwarte ding is de speaker (een piëzozoemer).
De knoppen zijn linksboven. Dat is vrij ver van bus A rechtsonder op de chip.
Het LCD-scherm aan de linkerkant is LCD 0. Het scherm aan de rechterkant is LCD 1.
In deze instructies ga ik ervan uit dat u het exacte gespecificeerde onderdeel gebruikt (overal waar een modelnummer wordt gegeven in de onderdelenlijst).
Sluit de voeding aan
Het breadboard heeft stroomrails rond de randen en tussen secties. Gebruik korte draden om ze allemaal met elkaar te verbinden, en om ze op de voeding aan te sluiten. Nu heb je overal op het bord toegang tot positive en ground.
Chips
Installeer de ATMega-chip, zorg ervoor dat u de pinnen niet buigt (een goede waarschuwing voor elke chip) en zorg ervoor dat deze er helemaal in zit.
Installeer de opto-coupler naast de processor.
Sluit de voedingsrails aan op de juiste pinnen op de processor en de opto-coupler.
LCD's
Lees het meegeleverde bestand LCDhookup.pdf (hieronder) voor hulp bij het aansluiten van een LCD.
Elk scherm heeft twee stroomaansluitingen en drie aardaansluitingen.
Pin 3 is een helderheidsregeling die, indien verkeerd ingesteld, de scherminhoud onzichtbaar maakt. Als je een potmeter bij de hand hebt, gebruik deze dan om de stuurspanning in te stellen. Je kunt ook vaste weerstanden proberen om de spanning ongeveer 1/2 van VCC te krijgen.
Pins 4 en 6 op LCD 0 verbinden met D4 en D5 op de processor. Deze worden gebruikt om het scherm in te schakelen en te resetten.
Pins 4 en 6 op LCD 1 verbinden met D6 en D7 op de processor.
Pins 7-17 op beide LCD's verbinden met C0-C7 op de processor. Dit is een gedeelde databus. Elk scherm negeert de gegevens totdat er een stuursignaal binnenkomt op pin 4 en 6.
Lees: LCD-info en meer informatie om te helpen begrijpen hoe de LCD-schermen werken.
Toetsen
Sluit de vier knoppen aan op A2-A4 op de processor. (Ik liet A1 open voor input van de A/D-converter, maar gebruikte het niet.)
Op elk type logische chip zweeft een niet-aangesloten ingang hoog, wat betekent dat de processor een 1 op die ingang ziet. Om dit te regelen, moet u pinnen via een weerstand met aarde verbinden. Ik heb de knoppen op aarde aangesloten (via de weerstand) als ze niet worden ingedrukt en hoog als ze worden ingedrukt. Gebruik hiervoor een willekeurige weerstand van 330 tot 1k.
Als alternatief, en misschien energiezuiniger, kunt u de knoppen bedraden om hoog te zijn wanneer ze niet worden ingedrukt en laag wanneer ze worden ingedrukt. U moet de code (buttonBus.c) wijzigen om te zoeken naar ~PINA in plaats van PINA.
Aanbevolen:
Digitale klok met netwerktijd met behulp van de ESP8266: 4 stappen (met afbeeldingen)
Digitale netwerkklok met de ESP8266: we leren hoe we een schattige kleine digitale klok kunnen bouwen die communiceert met NTP-servers en de netwerk- of internettijd weergeeft. We gebruiken de WeMos D1 mini om verbinding te maken met een wifi-netwerk, de NTP-tijd te verkrijgen en deze weer te geven op een OLED-module. De video hierboven
Draadloze afstandsbediening met 2,4 GHz NRF24L01-module met Arduino - Nrf24l01 4-kanaals / 6-kanaals zenderontvanger voor quadcopter - RC Helikopter - RC-vliegtuig met Arduino: 5 stappen (met afbeeldingen)
Draadloze afstandsbediening met 2,4 GHz NRF24L01-module met Arduino | Nrf24l01 4-kanaals / 6-kanaals zenderontvanger voor quadcopter | RC Helikopter | Rc-vliegtuig met Arduino: een Rc-auto besturen | Quadcopter | Drone | RC vliegtuig | RC-boot, we hebben altijd een ontvanger en zender nodig, stel dat we voor RC QUADCOPTER een 6-kanaals zender en ontvanger nodig hebben en dat type TX en RX is te duur, dus we gaan er een maken op onze
IPad Play Timer: 5 stappen (met afbeeldingen)
IPad Play Timer: ik denk dat dit een onderwerp is waar elke ouder mee worstelt. Hoeveel kunnen de kinderen spelen met hun iPads (of een andere tablet). We hebben meerdere benaderingen geprobeerd, zoals vaste tijden, maar dat werkte niet echt omdat ons kind toen altijd naar huis wilde gaan
Audio Switcher Box (1/8" stereo-aansluitingen): 3 stappen
Audio Switcher Box (1/8" stereo-aansluitingen): ik heb vele uren op internet gezocht om een soort 1/8" te kopen. jack audio switcher box, maar het mocht niet baten. Dus besloot ik er zelf een te maken, en het was verrassend eenvoudig. Voor dit project gebruikte ik: 1 - 4x4x2 pvc-aansluitdoos (van Lowes)
Soldeerloze Breadboard Layout Sheets (plug and Play Electronics): 3 stappen (met afbeeldingen)
Soldeerloze breadboard-lay-outbladen (plug-and-play-elektronica): hier is een leuk systeem dat is ontworpen om een deel van de problemen op te lossen die gepaard gaan met het breadboarden van een circuit. Het is een eenvoudige set sjabloonbestanden die op schaal zijn getekend met elektronische componenten uit de echte wereld. Met een vectortekenprogramma verplaats je eenvoudig de c