Granska befintlig kod och kommentarer Testa loopbackfunktionen
|
|
- Martin Sandberg
- för 6 år sedan
- Visningar:
Transkript
1 Lab 5 I denna laboration ska ni testa på hårdvarunära programmering och realtidsprocessning av ljud. Till er hjälp har ni ett enkelt shield till Arduino. Ett shield är som ett skal som man trycker på Arduino för att få extra funktioner. Så här är shieldet konfigurerat: I huvudsak kommer ni att använda er av ljudingången, potentiometern i mitten mellan ingång och utgång för att justera ljudnivån på ingången och som leder ljudsignalen till analogingång 0, samt potentiometern nere till vänster som är kopplad till analogingång 1. Arduino är enkel och billig, men egentligen inte så väl lämpad för denna uppgift. Klockfrekvensen i ett Arduino är 16MHz, och den har bara 32kB i minne för program och 2kB SRAM, men för denna uppgift är den lagom utmanande och tillräcklig. I ovanstående schema ser ni kopplingarna mellan shield (dvs alla komponenter förutom Arduinot) och de olika in- och utgångarna på Arduinot. Ingångssignalen dämpas med potentionmeter R4, passerar genom DC-blockerare C1 och lyfts sedan med kopplingen kring R7 (dvs DC-offseten förändras), och går sedan till analogingång 0. Signalen måste lyftas DCmässigt eftersom Arduinot (som har enkel spänningsmatning) samplar inkommande signal
2 mellan 0 och +5V. Genom R7 lyfts signalens mittpunkt till +2.5V. Lägg märke till att ett lågpassfilter saknas på ingången, och fundera över vad det innebär i sammanhanget. Utgången, pulsebreddsmodulation (PWM) på digitalpin 11, passerar genom ett lågpassfilter, passerar sedan genom en kondensator C7 som flyttar signalen till att svänga runt 0V igen, och passerar sedan ett notchfilter som filterar bort rester från DA-omvandlingen. Arduinos funktioner för att läsa och skriva information från de analoga ingångarna till de digitala PWM-utgångarna är inte så bra eller i alla fall inte så snabba. Därför körs denna del av koden direkt mot Atmega32-processorn med AVR-kod genom nedanstående interruptprocess. Då denna del av laborationen är lite utanför focus för kursen är koden färdigskriven, men vill ni och kan ni så skriv gärna om och förbättra. Ert focus för laborationen är att skriva huvudprogrammet som utför själva signalbehandlingen. I interruptprocessen sätts en flagga (sampleflag) som talar om för huvudloopen att en ny sample har tagits. När denna flagga är 1, sätts den till 0 och signalbehandlingen utförs. Beroende på vilken typ av signalbehandling ni utför så sker olika saker i huvudloopen, men den slutar alltid med att ett värde skrivs till digitalutgång 11 som har PWM. Vanligtvis skulle vi använda analogwrite i Arduino, men då det är lite för långsamt använder vi OCR2A. I
3 huvudloopen har ni redan fått kontroll av flaggan samt loopbackfunktion av sampling till utgången. För att laborationen ska gå att genomföra skapas en SRAM-buffert dit vi kan skriva samplevärden och läsa samplevärden från. Vi använder en buffert på 512 steg (eller 512 bytes). Arduinot har sammanlagt 2kB SRAM, och detta minne ska räcka till alla variabler som används av programmet. SRAM bufferten läser vi från 0 till 511 och så runt från 0 igen. Vi lagrar ett samplevärde på varje position så det ryms 512 samplingsvärden eller knappt sekunder ljud i bufferten. Uppgiften Ni ska med hjälp av Arduinot skapa en realtidseffekt, först en overdrive/distorsion och sedan väljer ni en av följande ljudeffekter: flanger, ringmodulator, reverb. Blir uppgiften för enkel gör ni ljudeffekten bättre och/eller smartare, eller så gör ni mer än en typ av ljudeffekt. Granska befintlig kod och kommentarer Innan ni börjar koda. Bekanta er med den befintliga koden och strukturen. Börja med de olika globala variablerna, kolla sedan framför allt på funktionen fillsrambufferwithsinus och på Timer2-interrupten (som ligger längst ned i koden). Kolla sedan in på den korta och torftiga void loop-funktionen. Egentligen behövs inte funktionen fillsrambufferwithsinus till mer än ringmodulatorn, men kanske kan ni komma på ytterligare användning av den funktionen i de övriga ljudeffekterna. Testa loopbackfunktionen När ni känner att ni har ok koll på den befintliga koden, och kanske har kollat in för att ha bättre koll på kod och struktur i Arduino, och kanske till och med kollat igenom länkarna i slutet av detta dokument, kan ni börja med att koppa ihop ett Arduino med en av de analoga småsyntarna och högtalaren. Det är lite ont om utrustning tyvärr, så samsas med de övriga är ni snälla. Den globala variabeln sampleflag är en boolean, och deklareras som en volatile. Det innebär att variabeln kan komma att ändras bortom kontrollen av koddelen där den används. I Arduino kan detta betyda att variabeln kan ändras i exempelvis en interrupt vilket är fallet här (kolla bilden ovan om interruptprocessen). Ljudet, dvs den globala variabeln badc0 som är en volatile byte, skrivs till den analoga utgången (PWM på digitalpin 11).
4 Om allt funkar som det ska och ni har kopplat det hela rätt ska ni höra ljudet, samplat genom Arduinot i högtalaren. Skapa en overdrive Även om det kan tyckas vara lite onödigt att göra en overdrive av en 8-bitars samplad signal med ett Arduino är det trots allt en ganska trevlig inkörsport till denna laboration. Vi kommer att använda några globala variabler, fixa DC-offset och hårdlimitera ljudet, samt skriva det bearbetade ljudet till utgången igen. Genomgående i laborationen har jag försökt att använda soundsamplefromadc som en samplecontainer för inkommande ljudsample och srambuffersamplevalue som en samplecontainer för utgående ljudsample. Det innebär dock att det blir lite krystat med dessa variabelnamn ibland. Stoppa först inkommande ljudsample i soundsamplefromadc och ta bort DC-offseten. Tänk efter var DC-offseten borde ligga om vi har samplat med 8 bitar och ingångsnivån var mellan 0 och +5V. Värdet på potentiometern stopps i variabeln badc1, kolla i Timer2-interrupten. Värdet på badc1 är ett 8-bitarsvärde. Multiplicera soundsamplefromadc med det värdet men skala om det till en fjärdedel och se till att det som lägst är 1. Om badc1 är 0 så får ni ju inte ut något ljud alls Eftersom ni har fixat DC-offseten på ljudet så att det nu har 0 i mitten kan ni hårdlimitera det för att undvika att utgången överstyr. Vi vill förvisso ha overdrive, men inte fulöverstyrning. Ljudsamplen är ett 8-bitarstal med 0 i mitten. Så, skriv två if-satser som tar ljud över och under max och sätter dem till max. Avslutningsvis ska ni lyfta upp ljudet, soundsamplefromadc, till rätt DC-offset igen och lägg det i srambuffersamplevalue, för att sedan skicka det till PWM-utgången OCR2A. med inställbar mängd overdrive/distorsion i högtalaren. Välj sedan en av följande effekter att jobba vidare med: flanger, ringmodulator, reverb. Skapa en flanger En flanger är enkel att skapa utifrån detta ganska enkla ramverk. Börja med att kommentera bort koden till overdriven, eller spara om projektet i ett nytt filnamn. Flangern är faktiskt den enda av dessa ljudeffekter där DC-offseten inte har någon betydelse, å andra sidan lär det inte förstöra effekten om ni tar hänsyn till DC-offseten heller. Kom ihåg hur en flanger fungerar. Kort uttryckt så mixas originalljudet med en fördröjd signal av densamma, och där mängden fördröjning varieras. När originalljud och fördröjt ljud summeras uppstår kamfilter effekter med fasutsläckning respektive fasförstärkning. Stoppa först inkommande ljudsample i soundsamplefromadc och skriv den till srambuffer på position bufferindex. Läs sedan position bufferindex2 från srambuffer och stoppa det samplevärdet i soundsamplefromsrambuffer. Räkna sedan upp bufferindex, och sätt bufferindex2 till bufferindex med fördröjningen enligt potentiometerns värde, badc1.
5 Eftersom srambuffer har 512 positioner måste vi anpassa bufferindex och bufferindex2 så att dessa inte blir för höga. Detta görs enkelt med modulo (%) för bufferindex, och med & 511 för bufferindex2. Dessa två metoder är lite olika, fundera på vad skillnaden är och varför dessa två olika sätt används. När våra index är korrekta ska de två ljudsamplen, originalsamplen och den fördröjda sampeln, summeras. Tänk på att anpassa ljudnivån så att det inte överstyr då ni summerar två samples. Därefter skickar ni det summerade ljudet, dvs srambuffersamplevalue, till utgången, som ni gjort i de tidigare övningarna ovan. med inställbar fördröjning av det buffrade ljudet i högtalaren. Det kommer att låta som ett kamfilter om ni inte vrider potentiometern fram och tillbaka och skapar den riktiga flangereffekten för hand. Fundera på hur detta skulle gå att snygga till och skapa en automatisk flangingeffekt. I stället skulle i så fall potentiometerns värde kunna användas till att ställa hur mycket effekt som ska användas, eller till att sätta frekvensen på LFOn som skapar den automatiska effekten. Skapa en ringmodulator Även ringmodulatorn är tämligen enkel att skapa utifrån detta ramverk. Börja med att kommentera bort koden från föregående övning, eller spara om projektet i ett nytt filnamn. I denna effekt behöver ni ta hänsyn till DC-offseten i 8-bitars samplevärdet. Stoppa först inkommande ljudsample i soundsamplefromadc och ta bort DC-offseten. Läs sedan sinusvågen på position bufferindex till srambuffersamplevalue och ta bort DCoffset även från den. Ringmodulation är detsamma som en multiplikation av två vågformer, dvs en frekvensmix. Multiplicera därför de två ljudsampelna med varandra. Sedan måste ni skala om till max i 8- bitars tal, och därefter lägga till DC-offseten igen. Stoppa summan i utgångsvariabeln. När de två vågformerna, eller de samplevärdena i detta fall, är multiplicerade med varandra så har vi skapat en enkel ringmodulator. Men, för att denna effekt ska bli lite mer intressant så ska potentiometerns värde sätta frekvensen för sinusvågen. Detta görs genom att förändra bufferindex genom summera bufferindex med värdet i badc1. Dock måste bufferindex öka i normalt tempo (dvs som i de övriga övningarna) med 1 även om bufferindex är inställd på 0. Detta görs väldigt enkelt med en ökning med 1 på liknande sätt som i övriga övningar, eller genom att använda map enligt: map(value, fromlow, fromhigh, tolow, tohigh). Att använda map vore kanske en bra pedagogisk övning för att testa på den funktionen, men det är tämligen onödigt krångligt i detta fall. Glöm avslutningsvis inte att begränsa räkningen av bufferindex med modulo (%) så att inte indexet överstiger antalet positioner i srambuffer. Avslutningsvis ska ni skicka det nya ljudet, dvs srambuffersamplevalue, till utgången. med inställbar frekvens av ringmodulationen. Det kommer nog inte att låta så vackert, men härligt knasigt ringmodulerat. Fundera på hur ringmodulatoreffekten kunde förbättras. Kanske kunde påverkan av sinusvågen påverkas, men hur skulle detta kunna lösas och vilken effekt på slutljudet skulle det få?
6 Skapa ett reverb Reverbet är nog den mest komplicerade uppgiften att skapa utifrån detta ramverk, men personligen tycker jag att det också är det mest belönande. Det är till och med så att jag har funderat på att faktiskt bygga in reverbet i en av modularsyntarna. Börja med att kommentera bort koden från föregående övning, eller spara om projektet i ett nytt filnamn. I denna effekt behöver ni ta hänsyn till DC-offseten i 8-bitars samplevärdet. Läs först position bufferindex från srambuffer och stoppa det samplevärdet i soundsamplefromsrambuffer. Ta bort DC-offseten från samplevärdet från buffern. Men gör detta och vänd samtidigt på fasen. Klura lite extra på detta steg, skillnaden mellan att bara ta bort DC-offset som vi gjort i tidigare övningar ovan och att både ta bort DC-offset och vända fasen är faktiskt väldigt liten. Sedan ska ni öka värdet på samplen från buffern genom att multiplicera det med värdet från potentiometern, badc1. Skala sedan ned värdet igen till rätt nivå för 8-bitar. Stoppa sedan inkommande ljudsample i soundsamplefromadc och ta bort DC-offseten, och summera inkommande ljudsample med det skalade värdet från buffern. Egentligen kunde vi dividera ljudet med 2 för att undvika att det överstyr, men nu vill vi faktiskt pressa upp nivån på ljudet. Gör därför en hård limitering på samma sätt som vid overdriven ovan. Därefter ska ni lägga till DC-offset igen och spara det nya samplevärdet i srambuffer på position bufferindex. Tänk nu efter hur detta reverb fungerar. Varje sample blandas med en tidigare sample och sparas sedan ned i buffern igen, så efter ett kort tag kommer den första samplen att blandas med en ny sample och sparas, och sedan kommer den blandningen att blandas med en ny sample och sparas, och runt och runt och runt. Därför kan det vara bra att sänka samplevärdet något innan den skrivs till buffern, exempelvis med samplevärde * 0.9. Därefter ska bufferindex räknas upp och begränsas med modulo (%) så att inte indexet överstiger antalet positioner i srambuffer. Avslutningsvis ska ni skicka det samplevärdet i srambuffersamplevalue till utgången. med inställbar mängd/längd av reverbet. Fundera på om reverbljudet kunde förbättras? Kanske kunde den ljudsample som läses från buffern lågpassfiltreras för ett mjukare reverbljud? Hur kunde ett större reverb kunna skapas, med längre efterklangstid? Om ni har gjort allt och ändå har tid kvar Ett delay bygger på liknande teknik som en flanger, men med längre tidsskillnad mellan originalljud och fördröjt ljud. Hur skulle det vara möjligt att skapa ett delay? Vilka utmaningar och problem skulle vi stöta på? Även ett chorus bygger på en liknande teknik som en flanger, men med en fast tidsskillnad mellan originalljud och effektljud. Det som skapar effekten i ett chorus är att effektljudet är i en annan pitch/frekvens (eller åtminstone en pitchmodulerad variant av originalljudet) vid summering med originalljud. Hur kunde denna effekt skapas? Kunde det pitchmodulerade ljudet skapas med hjälp av ringmodulation? Vilka utmaningar och problem skulle vi stöta på?
7 Vidare läsning Arduino Arduino, referense för den C-aktia koden Arduino, IDE (programmeringsmiljön) Secrets of Arduino PWM ADC (Analog To Digital Converter) of AVR Microcontroller The ADC of the AVR, Analog to Digital Conversion ATmega32, datablad Low-level ADC control: ADMUX CBI - Clear Bit in I/O Register SBI - Set Bit in I/O Register
AVR 3 - datorteknik. Avbrott. Digitala system 15 hp. Förberedelser
Namn: Laborationen godkänd: Digitala system 15 hp AVR 3 - datorteknik LTH Ingenjörshögskolan vid Campus Helsingborg Avbrott. Syften med den här laborationen är att introducera avbrott. Avbrott som uppkommer
Effektpedal för elgitarr
EITF11 - Digitala Projekt Effektpedal för elgitarr Handledare: Bertil Lindvall Ivan Rimac (I05) Jimmy Lundberg (I08) 2011-05-10 Contents Bakgrund... 3 Kravspecifikation... 3 Kravspecifikation Effektpedal...
Enchipsdatorer med tillämpningar LABORATION 7, ROBOT
Enchipsdatorer med tillämpningar LABORATION 7, ROBOT Laborationsansvariga: Anders Arvidsson Utskriftsdatum: 2005-05-14 Laboranter: 1 Syfte Denna laboration syftar till att introducera interrupt och watchdog
Laboration 5. Temperaturmätning med analog givare. Tekniska gränssnitt 7,5 p. Förutsättningar: Uppgift: Temperatur:+22 C
Namn: Laborationen godkänd: Tekniska gränssnitt 7,5 p Vt 2014 Laboration 5 LTH Ingenjörshögskolan vid Campus Helsingborg Temperaturmätning med analog givare. Syftet med laborationen är att studera analog
Träff 1 - Introduktion
Arduino Arduino är den lilla mikroprocessorn, baserad på ATmega chipet, som man med små C-skript kan få liv i sina hemprojekt och experiment. Arduino-kortet ansluts till datorns USB-port för både strömförsörjning
Lab lanserade R.A. Moog Inc. en ny synt: Minimoog. Den var designad av Bill Hemsath och Robert Moog och kom att revolutionera musikhistorien.
Lab 1 1970 lanserade R.A. Moog Inc. en ny synt: Minimoog. Den var designad av Bill Hemsath och Robert Moog och kom att revolutionera musikhistorien. Minimoogen var egentligen en ganska enkel synt. Den
Datorteknik 2 (AVR 2)
Namn: Laborationen godkänd: Digitala system 15 hp Datorteknik 2 (AVR 2) LTH Ingenjörshögskolan vid Campus Helsingborg Enkel in- och utmatning. Drivrutiner. Bithantering. I denna laboration ska vi förbättra
PROJEKT LJUD. KOPIERINGSUNDERLAG Martin Blom Skavnes, Staffan Melin och Natur & Kultur Programmera i teknik ISBN
PROJEKT LJUD PROJEKT LJUD s 1 I det här projektet ska du koppla en krets som innehåller en högtalare och skriva ett program som får högtalaren att spela toner och melodier. Materiel Arduino dator kopplingsdäck
Studera databladen för LCD på sid 4, 5, 7, 8, 14, 18, 19, 20 och 23. Datablad finns på kurshemsidan.
Namn: Laborationen godkänd: Digitala system 15 p Datorprojekt, del 2 L T H I n g e n j ö r s h ö g s k o l a n v i d C a m p u s H e l s i n g b o r g Projektlaboration 2, skrivning till LCD. Förberedelser:
PROJEKT STAFFAN STALLEDRÄNG
PROJEKT STAFFAN STALLEDRÄNG PROJEKT STAFFAN STALLEDRÄNG s 1 I det här projektet ska du koppla en krets som innehåller en högtalare och en lysdiod, samt skriva ett program som får högtalaren att spela en
Laboration 4: Knappstuds Drivrutiner för att eliminera störningar.
ATMega16 Laborationer av Kjell 2 Rev:5 Datum: 29.09.2010 Page 1 of 7 Laboration 4: Knappstuds Drivrutiner för att eliminera störningar. Inledning: Laborationskortet EasyAVR6 har bland annat tryckknappar
JavaScript del 3 If, Operatorer och Confirm
JavaScript del 3 If, Operatorer och Confirm Under förra uppgiften så kollade vi på hur användaren kan ge oss information via promt(), vi använde den informationen både för att skriva ut den och för att
Ett urval D/A- och A/D-omvandlare
Ett urval D/A- och A/D-omvandlare Om man vill ansluta en mikrodator (eller annan digital krets) till sensorer och givare så är det inga problem så länge givarna själva är digitala. Strömbrytare, reläer
Laboration 3 HI1024, Programmering, grundkurs, 8.0 hp
Laboration 3 HI1024, Programmering, grundkurs, 8.0 hp Dataingenjörsprogrammet, elektroingenjörsprogrammet och medicinsk teknik KTH Skolan för Teknik och Hälsa Redovisning: Se Kurs-PM om hur redovisningen
22/02/16. Arduino Introduktion till Arduino. Arduino. Microcontroller - Embedded systems. Historia Organisation - Ekosystem
22/02/16 Arduino Introduktion till Arduino Historia Organisation - Ekosystem ANDERS J JOHANSSON Hårdavara Mjukvara Kringkomponenter Tips Demos! Microcontroller - Embedded systems Inbyggda system Processing
Elektro och Informationsteknik LTH. Laboration 6 A/D- och D/A-omvandling. Elektronik för D ETIA01
Elektro och Informationsteknik LTH Laboration 6 A/D- och D/A-omvandling Elektronik för D ETIA01 Peter Hammarberg Anders J Johansson Lund April 2008 Mål Efter laborationen skall du ha studerat följande:
Digitala Projekt (EITF11)
Digitala Projekt (EITF11) Temperaturgivare med larm Handledare: Bertil Lindvall 2014-05-20 Erik Hellered, I-11 Andreas Sjöblom, I-11 Philip Dahlström, I-11 Table of Contents Inledning... 1 Kravspecifikation...
AVR 5. Styrning av trafikljus. Digitala system 15 p
Namn: Laborationen godkänd: Digitala system 15 p AVR 5 LTH Ingenjörshögskolan vid Campus Helsingborg Styrning av trafikljus. Syftet med laborationen är att styra en trafikkorsning med hjälp av en mikroprocessor.
Enchipsdatorns gränssnitt mot den analoga omvärlden
Agenda Enchipsdatorns gränssnitt mot den analoga omvärlden Erik Larsson Analog/Digital (AD) omvandling Digital/Analog (DA) omvandling Sampling, upplösning och noggrannhet Laborationsuppgift.5 Motivation.5.5
Signalbehandling Röstigenkänning
L A B O R A T I O N S R A P P O R T Kurs: Klass: Datum: I ämnet Signalbehandling ISI019 Enk3 011211 Signalbehandling Röstigenkänning Jonas Lindström Martin Bergström INSTITUTIONEN I SKELLEFTEÅ Sida: 1
Design av inbyggda system
Design av inbyggda system Innehåll Hårdvarunära design Erfarenhet värd att tänka på Avbrottsrutiner och huvudloopar hantering av gemensamma data Kopplingsschema hur och varför Designspecar bra / dåligt
TNMK054 - LJUDTEKNIK 1 RUM, REVERB,
TNMK054 - LJUDTEKNIK 1 RUM, REVERB, TNMK054 - LJUDTEKNIK 1 SUSTAIN SUSTAIN Pianosustain SUSTAIN Pianosustain Analog sustain Uppåtkompression Distortion Brus Brum SUSTAIN Stråke och fiol Stråken skapar
LEU240 Mikrodatorsystem Laboration 2: Ett komplett avbrottsstyrt system med in- och utenheter
Institutionen för data- och informationsteknik 2011-11-07 : Ett komplett avbrottsstyrt system med in- och utenheter Inledning Vid resten av kursens labtillfällen så kommer vi att steg för steg bygga upp
TUTORIAL: SAMLING & KONSOLL
TUTORIAL: SAMLING & KONSOLL Denna tutorial är en fortsättning på den tutorial där vi skapade klassen Car och sedan objekt av denna klass. Vi skall nu lära oss att lagra dessa objekt i en samling och även
Projekt EITA15. Väckarklocka. LTH Ingenjörshögskolan vid Campus Helsingborg Datateknik
Projekt Väckarklocka LTH Ingenjörshögskolan vid Campus Helsingborg Datateknik Grupp:, och Handledare: Bertil Lindvall och Lars Göran Larsson Kurs: EITA 15 Lunds Tekniska Högskola Datum: 2019-05-21 Sammanfattning
Växtviskaren EITF11 Digitala projekt VT15, I12
Växtviskaren EITF11DigitalaprojektVT15,I12 NathalieLiljebrunn,EbbaRiismark,AnnaNorelius LundsTekniskaHögskola Institutionenförelektro ochinformationsteknik Handledare:BertilLindvall,AndreasJohansson 2015
Laboration 3 HI1024, Programmering, grundkurs, 8.0 hp
Laboration 3 HI1024, Programmering, grundkurs, 8.0 hp Dataingenjörsprogrammet, elektroingenjörsprogrammet och medicinsk teknik KTH Skolan för Teknik och Hälsa Redovisning: Se Kurs-PM om hur redovisningen
Laboration 3 HI1024, Programmering, grundkurs, 8.0 hp
Laboration 3 HI1024, Programmering, grundkurs, 8.0 hp Dataingenjörsprogrammet, elektroingenjörsprogrammet och medicinsk teknik KTH Skolan för Teknik och Hälsa Redovisning: Se Kurs-PM om hur redovisningen
IKUSI STG Produktöversikt
Produktöversikt Följande moduler finns att tillgå i STG serien: Typ Benämning Art. nr. BAS-120 Basplatta 715201 COF-120 Skåp 715202 SPI-300 Programmeringsenhet 709009 STG-200 Nätdel/kontrollenhet 715200
Grunderna i stegkodsprogrammering
Kapitel 1 Grunderna i stegkodsprogrammering Följande bilaga innehåller grunderna i stegkodsprogrammering i den form som används under kursen. Vi kommer att kort diskutera olika datatyper, villkor, operationer
Innehållsförteckning. Figur- och tabellförteckning. Figure 1 Blockschema över hårdvaran...4 Figure 2 Blockschema över programet...
Abstract Syftet var att konstruera en väder station som håller koll på temperaturen. Huvudfunktionen var att få en grafisk visning av temperaturen över ett visst tidsintervall eftersom vi valde den grafiska
Introduktion till Arduino
Introduktion till Arduino CHRISTIAN ANTFOLK Faculty of Engineering LTH Dept of. Biomedical Engineering Christian Antfolk Slide 1 Preliminärt schema Faculty of Engineering LTH Dept of. Biomedical Engineering
Design av inbyggda system
Design av inbyggda system Innehåll Hårdvarunära design Erfarenhet/Utmaningar värda att tänka på Avbrottsrutiner och huvudloopar hantering av gemensamma data Kopplingsschema hur och varför Designspecar
Introduktion till Arduino
Introduktion till Arduino CHRISTIAN ANTFOLK Faculty of Engineering LTH Dept of. Biomedical Engineering Christian Antfolk Slide 1 Preliminärt labschema LV4 LV5 LV6 7 Lab 1 Töjning & flöde? / Tobias Måndag
- Digitala ingångar och framförallt utgångar o elektrisk modell
Elektroteknik för MF1016. Föreläsning 8 Mikrokontrollern ansluts till omvärden. - Analoga ingångar, A/D-omvandlare o upplösningen och dess betydelse. o Potentiometer som gasreglage eller volymratt. o Förstärkning
Övningsuppgifter till föreläsning 2 Variabler och uttryck
Sid 1 (5) Övningsuppgifter till föreläsning 2 Variabler och uttryck Syfte Syftet med övningsuppgifterna är att träna på: Aritmetik, variabler, tilldelning, scanf och printf Generellt Diskutera gärna uppgifterna
Robotfotboll med Arduino
Robotfotboll med Arduino Av Staffan Melin och Martin Blom Bild & form-skolan, Masthugget, Göteborg 2015 Staffan Melin, staffan.melin@oscillator.se Martin Blom, martinblomblom@hotmail.com Detta verk är
Faltningsreverb i realtidsimplementering
Faltningsreverb i realtidsimplementering SMS45 Lp1 26 DSP-system i praktiken Jörgen Anderton - jorand-3@student.ltu.se Henrik Wikner - henwik-1@student.ltu.se Introduktion Digitala reverb kan delas upp
Projektlaboration 4, synkronisering av klockan
Namn: Laborationen godkänd: Digitala system 15 p L T H I n g e n j ö r s h ö g s k o l a n v i d C a m p u s H e l s i n g b o r g Datorprojekt, del 4 Projektlaboration 4, synkronisering av klockan Asynkron
Konstruktion av en radiostyrd legobil. Digitala projekt av Arbon Vata Leonardo Vukmanovic Amid Bhatia
Konstruktion av en radiostyrd legobil Digitala projekt av Arbon Vata Leonardo Vukmanovic Amid Bhatia 1 1.Innehållsförtäckning Rapport Radiostyrd LEGO bil...1 1. Innehållsförtäckning...2 2.0 Inledning...3
Styrteknik: MELSEC FX och numeriska värden
PLC2C:1 MELSEC FX I kursen styrteknik används styrsystemet FX1S som är ett litet system i MELSEC FX-serien. Vår version av FX1S har endast digitala in- och utgångar men oftast finns det både digitala och
Systemkonstruktion LABORATION REALTIDSPROGRAMMERING
Systemkonstruktion LABORATION REALTIDSPROGRAMMERING Laborationsansvariga: Anders Arvidsson, Björn Lundblad Utskriftsdatum: 2002-10-31 Laboranter: 1 Syfte Denna laboration syftar till att öva användningen
CPU. Carry/Borrow IX. Programräknare
Laboration:. Jämförelser mellan assembler och C. CPU ACCA ACCD ACCB 8-bitars ackumulatorer eller 16- bitars ackumulator CCR 1 1 1 SXH I NZVC Flaggregister Carry/Borrow IX IY PC Indexregister X Indexregister
Enchipsdatorns gränssnitt mot den analoga omvärlden
Enchipsdatorns gränssnitt mot den analoga omvärlden Erik Larsson Analog/Digital (A/D) och Digital/Analog (D/A) omvandling AD omvandling DA omvandling Motivation - -.2.4.6.8 -.2.4.6.8 - -.2.4.6.8 Analog/Digital
TEMPERATUR OCH VINDMÄTARE MED HÖGTALARFUNKTION
TEMPERATUR OCH VINDMÄTARE MED HÖGTALARFUNKTION Digitala Projekt EITF 11, 18 maj 2015 Grupp 13; Morten Rosén, Henrik Boris-Möller, Christoffer Nordberg Projekthandledare: Bertil Lindvall Innehållsförteckning
Digitala projekt, EDI021 Rapport Handledare: Bertil Lindvall
Digitala projekt, EDI021 Rapport Handledare: Bertil Lindvall Zoltan Darvas (dt06zd8) Nicklas Nidhögg(dt06nn8) 2010-03-01 1 Abstract I detta project har vi skapat ett huslarm där det finns två stycken sensorer,
Moment 1 - Analog elektronik. Föreläsning 3 Transistorförstärkare
Moment 1 - Analog elektronik Föreläsning 3 Transistorförstärkare Jan Thim 1 F3: Transistorförstärkare Innehåll: Introduktion GE-steget EF-steget GB-steget Flerstegsförstärkare Felsökning 2 1 Förstärkare
TENTAMEN Datorteknik (DO2005) D1/E1/Mek1/Ö1
Halmstad University School of Information Science, Computer and Electrical Engineering Tomas Nordström, CC-lab TENTAMEN Datorteknik (DO2005) D1/E1/Mek1/Ö1 Datum: 2012-05- 23 Tid och plats: 9:00 13:00 i
Experiment med schmittrigger
dlab00a Experiment med schmittrigger Namn Datum Handledarens sign. Varför denna laboration? Schmittriggern är en mycket användbar koppling inom såväl analog- som digitaltekniken. Ofta används den för att
Att använda pekare i. C-kod
Att använda pekare i C-kod (Bör användas av de som känner sig lite hemma med C-programmering!) Rev 1, 2005-11-23 av Ted Wolfram www.wolfram.se Syfte: Man kan tycka att det är komplicerat att använda pekare
Design av inbyggda system
Design av inbyggda system Innehåll Hårdvarunära design Erfarenhet/Utmaningar värda att tänka på Avbrottsrutiner och huvudloopar hantering av gemensamma data Kopplingsschema hur och varför 10 sätt att lyckas
Digitala kretsars dynamiska egenskaper
dlab00a Digitala kretsars dynamiska egenskaper Namn Datum Handledarens sign. Laboration Varför denna laboration? Mycket digital elektronik arbetar med snabb dataöverföring och strömförsörjs genom batterier.
Systemkonstruktion SERIEKOMMUNIKATION
Systemkonstruktion SERIEKOMMUNIKATION Laborationsansvariga: Anders Arvidsson Utskriftsdatum: 2005-04-26 Syfte Laborationen syftar till att ge studenten tillfälle att närmare bekanta sig med RS-232-protokollet,
Mixern. Ingångskanal. Vi tänker oss att vi ska följa signalen genom en typisk mixer, från mikrofon till utgång.
2008-09-29 Mixern Mixern är PA-systemets centrala enhet. Här har man den största möjligheten att kontrollera ljudet. Mixern har i huvudsak dessa funktioner: Förstärkning av mikrofonsignaler. Klangbearbetning
Kapitel 2 o 3 Information och bitar Att skicka signaler på en länk. Jens A Andersson
Kapitel 2 o 3 Information och bitar Att skicka signaler på en länk Jens A Andersson Att göra Kursombud Williams bok???? Kolla schemat: Övningar flyttade Labanmälan ska funka nu 2 Att sända information
Datorprojekt, del 1. Digitala system 15 p
Namn: Laborationen godkänd: Digitala system 15 p L T H I n g e n j ö r s h ö g s k o l a n v i d C a m p u s H e l s i n g b o r g Datorprojekt, del 1 Projektet består i att skapa en klocka där tiden visas
Tentamen PC-teknik 5 p Lösningar och kommentarer
Tentamen PC-teknik 5 p Lösningar och kommentarer Program: Di2, Em3, Et3 Datum: 04-08-10 Tid: 13:30-18:30 Lokal E171 Hjälpmedel: Linjal, miniräknare, Instruktionsrepertoar för 8086 (utdelas), Lathund, Pacific
Spänningsstyrd Oscillator
Spänningsstyrd Oscillator Referat I det här projektet byggs en delkrets till frekvensneddelare för oscilloskop som inte har tillräcklig bandbredd för dagens höga frekvenser. Kretsen som byggs är en spänningsstyrd
KUNGLIGA TEKNISKA HÖGSKOLAN. Linefollower. Med LEGO Mindstorms och NXC. Paul Coada 2012-08-29 coada@kth.se Introduktion i datateknik II1310
KUNGLIGA TEKNISKA HÖGSKOLAN Linefollower Med LEGO Mindstorms och NXC Paul Coada 2012-08-29 coada@kth.se Introduktion i datateknik II1310 Sammanfattning Rapporten är för labbmomentet som utförs i introduktionskursen
Kapitel 2 o 3 Information och bitar Att skicka signaler på en länk. Att sända information mellan datorer. Information och binärdata
Kapitel 2 o 3 Information och bitar Att skicka signaler på en länk Jens A Andersson (Maria Kihl) Att sända information mellan datorer värd 11001000101 värd Två datorer som skall kommunicera. Datorer förstår
Moment 1 - Analog elektronik. Föreläsning 4 Operationsförstärkare
Moment 1 - Analog elektronik Föreläsning 4 Operationsförstärkare Jan Thim 1 F4: Operationsförstärkare Innehåll: Introduktion Negativ återkoppling Applikationer Felsökning 2 1 Introduktion Operationsförstärkaren
DIGITALTEKNIK I. Laboration DE1. Kombinatoriska nät och kretsar
UMEÅ UNIVERSITET Tillämpad fysik och elektronik Digitalteknik Björne Lindberg/Håkan Joëlson John Berge 2013 DIGITALTEKNIK I Laboration DE1 Kombinatoriska nät och kretsar Namn... Personnummer... Epost-adress...
Att fånga den akustiska energin
Att fånga den akustiska energin När vi nu har en viss förståelse av vad ljud egentligen är kan vi börja sätta oss in i hur det kan fångas upp och efterhand lagras. När en ljudvåg sprider sig är det inte
Undersökning av logiknivåer (V I
dlab002a Undersökning av logiknivåer (V I Namn Datum Handledarens sign. Laboration Varför denna laboration? Vid såväl konstruktion som felsökning och reparation av digitala kretskort är det viktigt att
Lathund för Bose T1 ToneMatch engine
Lathund för Bose T1 ToneMatch engine ÖVERSIKT...2 Framsida T1...2 Baksida T1...2 ToneMatch väljaren (hjulet)...3 Delar som ingår i ToneMatch...3 T1 TONEMATCH FRÅN BOSE...4 Kort information...4 Ställ in
LABORATIONSINSTRUKTION DIGITAL REGLERTEKNIK. Lab nr. 3 DIGITAL PI-REGLERING AV FÖRSTA ORDNINGENS PROCESS
LABORATIONSINSTRUKTION DIGITAL REGLERTEKNIK Lab nr. 3 DIGITAL PI-REGLERING AV FÖRSTA ORDNINGENS PROCESS Obs! Alla förberedande uppgifter skall vara gjorda innan laborationstillfället! Namn: Program: Laborationen
TETRIS. LTH, Campus Helsingborg EITA15 Digitala System
TETRIS LTH, Campus Helsingborg EITA15 Digitala System Handledare: Bertil Lindvall Författare: Isak Shamun, Viktor Kulle, Mark Slipac och Dennis Järnåsen Datum: 2019-05-09 Abstract This report concerns
Laborationsrapport. Kurs Elinstallation, begränsad behörighet. Lab nr 2. Laborationens namn Växelströmskretsar. Kommentarer. Utförd den.
Laborationsrapport Kurs Elinstallation, begränsad behörighet Lab nr 2 version 3.1 Laborationens namn Växelströmskretsar Namn Kommentarer Utförd den Godkänd den Sign 1 Inledning I denna laboration skall
Grundläggande programmering, STS 1, VT Sven Sandberg. Föreläsning 12
Grundläggande programmering, STS 1, VT 2007. Sven Sandberg Föreläsning 12 I torsdags: Klassen TelefonKostnad Exemplifierar objektorienterad design, metoder, konstruktorer static Standardklassen Math Matematiska
Laboration 1 Introduktion till Visual Basic 6.0
Laboration 1 Introduktion till Visual Basic 6.0 Förberedelse Förbered dig genom att läsa föreläsningsanteckningar och de kapitel som gåtts igenom på föreläsningarna. Läs även igenom laborationen i förväg.
Laborationens mål är att få displayen att visa timmar, minuter och sekunder samt att kunna ställa klockan.
Namn: Laborationen godkänd: Digitala system 15 p L T H I n g e n j ö r s h ö g s k o l a n v i d C a m p u s H e l s i n g b o r g Datorprojekt, del 3 Projektlaboration 3, hantering av klocka. Laborationsuppgifter:
Övning2 Datorteknik, HH vt12 - Programmering
Övning2 Datorteknik, HH vt12 - Programmering För denna övning behöver man adresskarta och beskrivning av laborationsplattform. Finns bland föreläsningsanteckning samt i bilaga l till Lab l. Använd även
Grundläggande A/D- och D/A-omvandling. 1 Inledning. 2 Digital/analog(D/A)-omvandling
Grundläggande A/D- och D/A-omvandling. 1 Inledning Datorer nns nu i varje sammanhang. Men eftersom vår värld är analog, behöver vi något sätt att omvandla t.ex. mätvärden till digital form, för att datorn
Digitalteknik: CoolRunner-II CPLD Starter Kit Med kommentarer för kursen ht 2012
Med kommentarer för kursen ht 2012 2012 CR:1 CoolRunner-II CPLD Starter Kit är ett litet utvecklingssystem för Xilinx-kretsen XC2C256. Utvecklingskortet kommer från företaget Digilent. Vid laborationerna
TDDC74 Lab 04 Muterbara strukturer, omgivningar
TDDC74 Lab 04 Muterbara strukturer, omgivningar 1 Översikt I den här laborationen kommer ni att lära er mer om: Tillstånd, och skillnader mellan ren funktionell programmering och imperativ. Skillnaden
Pulsmätare med varningsindikatorer
Pulsmätare med varningsindikatorer Elektro- och informationsteknik Projektrapport, EITF11 Digitala Projekt Charlie Hedhav Sofia Johansson Louise Olsson 2016-05-17 Abstract During the course Digitala Projekt
Per Holm Lågnivåprogrammering 2014/15 24 / 177. int och double = = 2, 147, 483, 647
Lågnivåprogrammering Föreläsning 2 Lågnivåprogrammering Förberedelse inför laboration 2. Maskinspråk, assemblerspråk Talrepresentation En enkel dator, komponenter Instruktionsformat, instruktionscykel
Programmering med Arduino
Programmering med Arduino Av Staffan Melin och Martin Blom Bild & form-skolan, Masthugget, Göteborg 2015 Staffan Melin, staffan.melin@oscillator.se Martin Blom, martinblomblom@hotmail.com Detta verk är
2 Laborationsutrustning
Institutionen för data- och elektroteknik 2002-02-11 1 Inledning Denna laboration syftar till att illustrera ett antal grundbegrepp inom digital signalbehandling samt att närmare studera frekvensanalys
Analog till Digitalomvandling
CT3760 Mikrodatorteknik Föreläsning 8 Tisdag 2005-09-20 Analog till Digitalomvandling Om man har n bitar kan man uttrycka 2 n möjligheter. Det största nummeriska värdet är M = 2 n -1 För tre bitar blir
Effekter och ljudprocessorer
2008-09-22 Effekter och ljudprocessorer Mixern är ljudteknikerns främsta elektriska redskap för att påverka ljudet. Den ger möjlighet att justera nivå och klangfärg (med EQ). Men det kan behövas fler möjligheter
Kapitel 2 o 3. Att skicka signaler på en länk. (Maria Kihl)
Kapitel 2 o 3 Information och bitar Att skicka signaler på en länk Jens A Andersson (Maria Kihl) Att sända information mellan datorer värd äd 11001000101 värd äd Tåd Två datorer som skall kllkommunicera.
Lab 3. Några slides att repetera inför Lab 3. William Sandqvist
Lab 3 Några slides att repetera inför Lab 3 Medelvärde och effektivvärde Alla rena växelspänningar har medelvärdet 0. Intressantare är effektivvärdet det kvadratiska medelvärdet. U med T 0 = 1 T u( t)dt
Analog till Digitalomvandling
CT3760 Mikrodatorteknik Föreläsning 8 Tisdag 2006-09-21 Analog till Digitalomvandling Vi börjar med det omvända. Digital insignal och analog utsignal. Digital in MSB D/A Analog ut LSB Om man har n bitar
Signalbehandling, förstärkare och filter F9, MF1016
Signalbehandling, förstärkare och filter F9, MF1016 Signalbehandling, inledning Förstärkning o Varför förstärkning. o Modell för en förstärkare. Inresistans och utresistans o Modell för operationsförstärkaren
Digital Signalbehandling i Audio/Video
Digital Signalbehandling i Audio/Video Institutionen för Elektrovetenskap Laboration 1 (del 2) Stefan Dinges Lund 25 2 Kapitel 1 Digitala audioeffekter Den här delen av laborationen handlar om olika digitala
Programmera i Block Editor
Programmera i Block Editor Översikt av programmeringsfönstret Sida 1 av 13 Blocken och deras funktioner show number _ Siffra 1-9 visas mitt på LED displayen. Vid flersiffriga tal scrollas dessa in på displayen,
Talsystem Teori. Vad är talsystem? Av Johan Johansson
Talsystem Teori Av Johan Johansson Vad är talsystem? Talsystem är det sätt som vi använder oss av när vi läser, räknar och skriver ner tal. Exempelvis hade romarna ett talsystem som var baserat på de romerska
Mekanisk solros, Digitala projekt(edi021) Kristoer Nordvall, Stefan Windfeldt, Inlämmnad: 4 december 2006
Mekanisk solros, Digitala projekt(edi021) Kristoer Nordvall, d03kn@student.lth.se Stefan Windfeldt, d03sw@student.lth.se Inlämmnad: 4 december 2006 Innehåll 1 Problembeskrivning 3 2 Teknisk beskrivning
I denna laboration undersöker vi hur aritmetiska beräkningar utförs. Vi tittar på olika variabeltyper: 8-bitars, 16-bitars, 32-bitars och flyttal.
Laboration:. Jämförelser mellan assembler och C. I denna laboration undersöker vi hur aritmetiska beräkningar utförs. Vi tittar på olika variabeltyper: 8-bitars, 16-bitars, 32-bitars och flyttal. Förberedelser:
Design av inbyggda system. Innehåll. Hårdvarunära design. Hårdvarunära design. Hårdvarunära design. Hårdvarunära design TDD
Innehåll Design av inbyggda system Erfarenhet/Utmaningar värda att tänka på Avbrottsrutiner och huvudloopar hantering av gemensamma data hur och varför Designspecar bra / dåligt / hur / varför / när Inbyggt
A/D- och D/A- omvandlare
A/D- och D/A- omvandlare Jan Carlsson 1 Inledning Om vi tänker oss att vi skall reglera en process så ställer vi in ett börvärde, det är det värde som man vill processen skall åstadkomma. Sedan har vi
HI1024 Programmering, grundkurs TEN
HI1024 Programmering, grundkurs TEN2 2014-10-27 KTH STH Haninge 13.15-18.00 Tillåtna hjälpmedel: En A4 handskriven på ena sidan med egna anteckningar Kursboken C PROGRAMMING A Modern Approach K. N. King
Elektronik Elektronik 2019
2019 Analogt Digital Erik Lind Viktor Öwall Bertil Larsson 2019 Analogt Digital Hur kommunicerar digitala system (0101010) med analoga signaler v o t? Komplicerat! Kräver kunskap om signalbehandling, analog
Programmera i teknik - kreativa projekt med Arduino
NYHET! Utkommer i augusti 2017 Smakprov ur boken Programmera i teknik - kreativa projekt med Arduino av Martin Blom Skavnes och Staffan Melin PROJEKT LJUS s 1 I det här projektet kommer du att bygga en
Minneselement,. Styrteknik grundkurs. Digitala kursmoment. SR-latch med logiska grindar. Funktionstabell för SR-latchen R S Q Q ?
Styrteknik grundkurs Digitala kursmoment Binära tal, talsystem och koder Boolesk Algebra Grundläggande logiska grindar Minneselement, register, enkla räknare Analog/digital omvandling SR-latch med logiska
DIGITALTEKNIK. Laboration D161. Kombinatoriska kretsar och nät
UMEÅ UNIVERSITET Tillämpad fysik och elektronik Digitalteknik jörne Lindberg/Håkan Joëlson 2003-09-15 v 2.2 DIGITALTEKNIK Laboration D161 Kombinatoriska kretsar och nät Innehåll Uppgift 1...Grundläggande
Lågnivåprogrammering. Föreläsning 2 Lågnivåprogrammering. Binära tal. En enkel modell av datorns inre
Lågnivåprogrammering Föreläsning 2 Lågnivåprogrammering Förberedelse inför laboration 2. Maskinspråk, assemblerspråk Talrepresentation En enkel dator, komponenter Instruktionsformat, instruktionscykel
Design vid utveckling av inbyggda system
Design vid utveckling av inbyggda system Föreläsning i KMM, 2013-10-11 Innehåll Hårdvarunära design Avbrottsrutiner och huvudloopar Kopplingsschema Designspec Dagens föreläsning Hårdvarunära design - värt
[] Arrayer = Indexerad variabel
[] Arrayer = Indexerad variabel Lagra många värden i en variabel Jmfr inom matematiken, variabler x 0, x 1, x 2, I detta dokument tas upp hur man skapar och hanterar sådana variabler i java. Dessa kallas