V ≈ N × Vref / 1024154 × 5,000 / 1024 ≈ 0,752 V
NANO GENETICSSWEDEN AB
EN ↗
NANO GENETICS / PRAKTISK KUNSKAP
En signal blir användbar först när vi vet vad den betyder. Här följer du hela vägen: välj en sensor, koppla den, läs av den och bedöm hur mycket du kan lita på resultatet.
01 / VAD ÄR EN SENSOR?
En sensor reagerar på en mätbar egenskap och gör förändringen till en signal som kan avläsas. Den egenskap vi faktiskt vill mäta kallas mätstorhet.
”Hur varmt är det på skrivbordet?” kräver en temperaturmätning. ”Finns någon nära robotens arm?” kräver en annan mätning. En kamera, en accelerometer och en temperatursensor ger olika slags information. Ingen av dem vet automatiskt vad en människa menar.
Sensorn är en del av ett system. Strömförsörjningen driver den, en krets läser signalen och programvara sätter signalen i ett sammanhang. En biosensor har dessutom en biologisk igenkänningsdel, till exempel en molekyl som binder ett visst ämne, kopplad till en avläsning. Alla sensorer som används nära en människa är alltså inte biosensorer.
En accelerometer registrerar acceleration. Ett program kan försöka tolka ett mönster som ett steg, men vibrationer kan skapa liknande mönster. En ljussensor registrerar ljus vid sin placering. Den säger inte av sig själv hur en människa upplever ett rum. Beskriv därför både den direkta mätningen och antagandet bakom varje tolkning.
I vårt exempel är frågan avgränsad: kan vi registrera en långsam temperaturförändring och bevara råvärdet så att beräkningen går att kontrollera? Den enkla frågan gör varje led synligt. Samma arbetssätt behövs när fler sensorer eller en modell läggs till.
| Sensortyp | Direkt signal | Det du måste kontrollera |
|---|---|---|
| Temperatur | En temperaturberoende elektrisk egenskap | Placering, värmeöverföring och tid till jämvikt. |
| Optisk | Ljus som når en detektor | Omgivningsljus, geometri och detektorns känslighet för olika våglängder. |
| Tröghet / IMU | Acceleration och, med gyroskop, rotationshastighet | Axelriktningar, montering, rörelseartefakter och drift. |
| Kraft / tryck | Förändring vid mekanisk belastning | Kontaktarea, förspänning, hysteres och kalibreringslast. |
| Kemisk / biologisk | En signal kopplad till en kemisk reaktion eller igenkänning | Selektivitet, provmiljö, interferenser och referensmetod. |
02 / BYGG EN TYDLIG FÖRSTA MÄTNING.
Vi använder Arduino UNO R3 och en TMP36 i trebenad TO-92-kapsel. Det här är ett utbildningsexempel för rumstemperatur, med kod som inte kräver något extra sensorbibliotek.
Kontrollera märkningen TMP36. En liknande transistor eller TMP35 är inte samma komponent. UNO R4, 3,3 V-kort och färdiga sensormoduler kan ha andra anslutningar, referenser och upplösningar. Kopplingen här gäller bara kombinationen ovan.
Vänd den plana sidan mot dig och låt de tre benen peka nedåt. För denna TO-92-version är vänster ben +VS, mitten VOUT och höger GND. Tillverkarens numrering är 1, 2 och 3. Databladets bild visar undersidan; vrid inte sensorn till den vyn när du följer framifrån-bilden här.
Koppla ur USB-kabeln. Sätt sensorns tre ben i tre separata elektriska rader på kopplingsdäcket. Två ben i samma sammankopplade rad blir kortslutna. Kontrollera hur ditt däck är uppbyggt innan du sätter i trådarna.
Koppla UNO 5V till TMP36 +VS (1), UNO A0 till VOUT (2) och UNO GND till GND (3). Sätt 100 nF-kondensatorn mellan +VS och GND nära sensorn. A0 läser signalen; 5V försörjer sensorn. Gemensam GND ger mätningen samma nollnivå.
Följ varje ledning från kontakt till sensor. Kontrollera att 5V och GND inte sitter på samma elektriska rad. Använd USB som enda matning i detta exempel. Låt VIN och AREF vara oanslutna. Anslut sedan USB-kabeln.
Lägg sensorn fritt från datorns varma utblås och direkt sol. Ladda upp koden nedan. Låt sensorn och jämförelsetermometern få samma lugna omgivning innan du jämför. Ett snabbt elektroniskt svar innebär inte att kapseln omedelbart har fått luftens temperatur.
Om komponenten blir varm, luktar eller ger orimliga värden: koppla ur USB och kontrollera märkning och ledningar. Detta är en torr bordskoppling för omgivningen, inte en kroppssensor eller ett instrument för medicinska beslut.
03 / FRÅN KOPPLING TILL LÄSBAR DATA.
Öppna en tom skiss i Arduino IDE, välj Arduino Uno under kortval och välj den port som tillhör kortet. Klistra in hela exemplet och ladda upp. Öppna Serial Monitor med 9600 baud.
// Nano Genetics learning example: UNO R3 + TMP36 TO-92.
// Environment only. No sensor is attached to a person.
const uint8_t SENSOR_PIN = A0;
const float VREF_V = 5.000f; // Assumption; replace with measured reference.
const float OFFSET_C = 0.0f; // Optional documented one-point correction.
void setup() {
Serial.begin(9600);
analogReference(DEFAULT); // UNO R3: AVcc reference, nominally 5 V.
pinMode(SENSOR_PIN, INPUT);
delay(10);
analogRead(SENSOR_PIN); // Discard the first reading.
Serial.println(F("time_ms,adc_count,vref_v,voltage_v,temp_c,offset_c,range_flag"));
}
void loop() {
const unsigned long timeMs = millis();
const int raw = analogRead(SENSOR_PIN);
const float voltageV = raw * (VREF_V / 1024.0f);
const float uncorrectedC = (voltageV - 0.500f) * 100.0f;
const float temperatureC = uncorrectedC + OFFSET_C;
const bool inRange = uncorrectedC >= -40.0f && uncorrectedC <= 125.0f;
Serial.print(timeMs);
Serial.print(','); Serial.print(raw);
Serial.print(','); Serial.print(VREF_V, 3);
Serial.print(','); Serial.print(voltageV, 4);
Serial.print(','); Serial.print(temperatureC, 2);
Serial.print(','); Serial.print(OFFSET_C, 2);
Serial.print(',');
Serial.println(inRange ? F("within_sensor_range") : F("out_of_range"));
delay(1000); // Approximately one row per second, not precise timing.
}
analogRead(A0) hämtar ett råvärde mellan 0 och 1023 från UNO R3:s 10-bitars analog-till-digital-omvandlare, ADC. Programmet beräknar spänning, använder sensorns omvandling till grader Celsius och skriver en rad till datorn. Tiden är millisekunder sedan programmet startade, inte ett kalenderklockslag.
Raden är CSV: fälten skiljs av kommatecken. Kopiera några rader till en textfil och importera med kommatecken som avgränsare och punkt som decimaltecken. Behåll kolumnrubriken. Spara även datum, sensor, placering, kodversion och hur referensspänningen bestämdes i dina anteckningar.
within_sensor_range betyder bara att den okorrigerade beräkningen ligger inom sensorns specificerade temperaturområde. Det bevisar inte att trådarna sitter rätt eller att temperaturen är korrekt. En lös ingång kan råka ge ett rimligt tal. out_of_range är en anledning att undersöka kopplingen, inte en diagnos av felet.
OFFSET_C är noll från början. Ändra det endast efter en dokumenterad jämförelse, inte för att få ett tal som ser rätt ut. Kodens decimaler gör beräkningen synlig men ger inte sensorn motsvarande noggrannhet.
04 / VAD BETYDER TALET 154?
Ett råvärde saknar enhet tills du känner mätkedjan. Samma heltal kan motsvara en annan spänning på ett annat kort eller med en annan referens.
V ≈ N × Vref / 1024154 × 5,000 / 1024 ≈ 0,752 V
T ≈ (V − 0.500) × 100(0,752 − 0,500) × 100 ≈ 25,2 °C
Matningen ger sensorn energi. Referensspänningen anger ADC:ns skala. I denna UNO R3-koppling använder vi kortets nominella 5 V-system till båda, men USB-matningen är inte en exakt 5,000 V-standard. Mät vid behov kortets 5V mot GND med en multimeter och använd det uppmätta värdet som approximation i VREF_V. Ändra inga ledningar vid AREF.
TMP36 har en nominell lutning på 10 mV per grad och 0,500 V för noll grader. Därför kan minusgrader representeras av en positiv spänning: 0,400 V motsvarar nominellt −10 °C. Formeln gäller TMP36, inte alla temperatursensorer.
Tio bitar ger 1024 möjliga koder, numrerade 0 till 1023. Vi använder ett förenklat steg på Vref/1024 volt. Vid 5 V blir det ungefär 4,88 mV, vilket motsvarar 0,49 °C per steg i denna kedja. Formeln uppskattar spänningen; den återskapar inte var signalen låg inne i ett kvantiseringssteg.
Brus, sensorns fel, ADC-fel, placering och felaktig referens påverkar det verkliga resultatet. Ett medelvärde kan minska oberoende slumpmässiga variationer men tar inte bort ett systematiskt fel. Fler siffror på skärmen ersätter inte en bättre mätning.
05 / SIGNALSTUDION
Ändra ett råvärde och se hur antagandena påverkar svaret. Studion är en matematisk simulering. Den läser ingen ansluten sensor och samlar inte in mätdata.
Inom sensorns specificerade område. Detta kontrollerar beräkningen, inte mätningens kvalitet.
Låt råvärdet vara 154 och ändra referensen från 5,00 till 4,80 V. Temperaturen flyttar sig från ungefär 25,2 till 22,2 °C, trots att inget nytt råvärde kommit in. Det är ett räkneexempel som visar varför antaganden måste följa med data.
06 / NÄR KAN DU LITA PÅ MÄTNINGEN?
En användbar mätning ska gå att upprepa och jämföra. Börja med ett protokoll som någon annan kan följa med samma delar och samma fråga.
Lägg sensor och referenstermometer nära varandra utan direkt kontakt med en värmekälla. Anteckna avstånd till datorn och om luftströmmen ändras. Vänta tills båda visar en stabil trend; skillnader i svarstid kan annars se ut som mätfel.
Registrera till exempel 60 rader i en stabil miljö. Notera min, max och medelvärde. Starta om och upprepa. Jämför spridningen inom varje serie med skillnaden mellan serierna. Spara råvärdena så att avrundning inte döljer beteendet.
Jämför med en termometer vars noggrannhet du känner till. En enkel korrigering är referensens temperatur minus sensorns medelvärde. Om referensen visar 23,0 °C och sensorn 24,0 °C blir korrektionen −1,0 °C. Dokumentera när och var jämförelsen gjordes.
En enda jämförelsepunkt korrigerar bara ett antaget konstant fel nära den punkten. Den verifierar inte hela temperaturintervallet, svarstiden eller fel under andra förhållanden. En professionell kalibrering kräver bättre referenser och en dokumenterad osäkerhetsbedömning.
| Det du ser | Kontrollera detta först |
|---|---|
| Ingen text i Serial Monitor | Kortval, rätt port, uppladdningsresultat, USB-datakabel och 9600 baud. |
| Råvärde nära 0 eller 1023 | Bryt strömmen och följ 5V, A0 och GND igen. Kontrollera sensortyp och kopplingsdäckets rader. Det extrema värdet ensamt identifierar inte felet. |
| Värdet hoppar mycket | Lösa förbindelser, gemensam GND, korta ledningar, kondensatorns placering och störande utrustning. Ändra en sak i taget. |
| Stabilt men avvikande temperaturvärde | Referensspänning i koden, om sensorn hunnit stabiliseras och om referensen mäter samma miljö. Börja inte med att dölja skillnaden i programmet. |
07 / SÅ BLIR FLERA DELAR ETT SYSTEM.
När den första mätningen är begriplig kan du lägga till fler delar. Kopplingen mellan sensorer, modeller och mänskliga beslut blir starkare när varje gränssnitt är tydligt.
En analog sensor kan lämna en spänning som måste passa ingångens tillåtna område. I²C skickar digital data via en klockledning och en dataledning; SPI använder separat klocka, data och val av enhet. Ett gemensamt kontaktdon betyder inte att spänningsnivåer, adresser eller meddelanden är kompatibla. Kontrollera den exakta modulens dokumentation före inkoppling.
Spara enhet, tidsstämpel, sensor-ID, råvärde, omvandlat värde och kvalitetsflagga. Skriv även vilken referens och kalibrering som användes. Två sensorer som mäter vid olika tidpunkter kan annars se ut att beskriva samma händelse. Saknade paket bör synas som luckor, inte som påhittade nollor.
Välj samplingshastighet efter det förlopp du behöver se. För snabba signaler måste mätkedjans bandbredd och filtrering planeras före digitaliseringen. Det här långsamma temperaturexemplet är inte en mall för ljud, muskelaktivitet eller snabba robotrörelser.
Börja med en enkel regel som går att förklara: ”visa en markering när temperaturen överstiger ett valt gränsvärde”. Visa samtidigt senaste mättid och om data saknas. När en mer avancerad modell tillkommer ska du kunna jämföra den med denna enkla grund och upptäcka om den fungerar sämre i en ny miljö.
I ett människonära system behöver personen förstå vad som mättes, hur osäkert resultatet är och vilken handling som föreslås. Ett gränssnitt kan be om bekräftelse. En fysisk robot kräver dessutom separat konstruktion och verifiering av säkert beteende; en fungerande sensor eller webbmodell bevisar inte att en robot är säker.
Vår utvecklingsriktning är att göra den här kedjan tydlig även när biologiska signaler, mjuka material och digitala modeller möts. Guiden beskriver etablerade mätprinciper och ett undervisningsexempel. Den rapporterar inget färdigt Nano Genetics-instrument.
Fördjupning och spårbarhet
Förklaringen, beräkningsexemplen och koden ovan är sammanställda för denna guide. Nedan finns de primärkällor som underbygger komponentuppgifterna. Tillverkarna är inte angivna som partners till Nano Genetics.
Pinout och kapsel: figur 4. TMP36-karakteristik: sida 1 och specifikationer. Avkoppling med 0,1 µF: figur 24.
Kortidentitet, USB och anslutningarna 5V, GND och A0.
Referens för analog avläsning och temperaturformeln. Vår skiss har egen CSV-utmatning och kvalitetsflagga.
Bakgrund till sensorer, biologisk igenkänning och signalomvandling.
Granskad 3 oktober 2026. Innehållsansvar: Nano Genetics Sweden AB. Vi har kontrollerat komponentuppgifter och beräkningslogik mot källorna; denna publicering redovisar ingen fysisk verifiering av kopplingen. Rättelser: info@nanogenetics.se.