Kapacitiv Sensor för flytande (12 / 14 steg)

Steg 12: Firmware



Programmering av barebone är ganska enkel. Allt du behöver är en Arduino Uno med mikrokontroller bort (det ser barebone som controller).

http://Arduino.cc/en/main/standalone

http://Arduino.cc/en/tutorial/ArduinoToBreadboard

Jag lödde ett huvud till 5V, marken, reset, rx och tx, så jag kan ansluta min sensor Arduino till en Arduino uno som har Atmega chip bort. Detta sätt kan jag programmera Arduino så jag skulle med några andra Arduino.

Du måste också installera capacitiveSensor biblioteket till Arduino IDE: http://playground.arduino.cc/Main/CapacitiveSensor?from=Main.CapSense

Uppladdning firmware


Den inbyggda programvaran kan laddas i bilagor. CLS_Sensor_firmware är den firmware som ska laddas upp till den kapacitiva nivåsensorn. CLS_sensor_reader firmware kan laddas upp till en annan Arduino och används för att kommunicera med sensor. Läsaren Arduino måste anslutas till sensorn genom I2C, med 2 4k7ohm pull-up motstånd. I nästa steg kommer att förklaras alla kommandon som kan användas. Du kan också använda kodavsnitt från läsaren för att lägga till din egen kod, så kan du enkelt ställa in och läsa sensorn utan att behöva skriva funktioner själv.

Hur koden fungerar

Sensorn fungerar ganska rakt fram. Varje N sekunder det noterar tiden på millis() timern. Sedan börjar det 100 CapacitiveSensor cykler. Då mäter tid igen och subtraherar starttiden från sluttiden. Detta är rå värdet som sensorn jämför vätskenivån. Sensorn gör också en 0-255 värde och en avståndet i mm från raw värde, genom att jämföra den till de lägsta och högsta värde.

Värdena lagras i EEPROM att göra dem beständigt. När sensorn befogenheter upp, kommer det läsa värdena från EEPROM och börja mäta.

Sensorn har också en I2C linje att kommunicera med en master mikrokontroller. I2C adress sensorn är 42. Master kommunicerar med sensorn på följande sätt.

Master begäran exempel
Wire.beginTransmission(42); öppen kommunikation
Wire.write(30); berätta sensorn att göra (30 = skicka raw värde)
ytterligare skriver kan hända vid 60.
Wire.endTransmission(); avsluta överföringen
Wire.requestFrom(42,2); begära 2 byte från sensorn
IF(Wire.available()) / / om två byte mottogs
{
readValue [0] = Wire.read(); Läs den första byten
readValue [1] = Wire.read(); läsa byten
}

De kommandon som kan skickas till givaren är:

  • 10: skicka 0-255 värde (returnerar 1 byte);
  • 20: skicka avståndet i mm (returnerar 2 byte, först den höga byten, då den låg byten).
  • 30: skicka raw åtgärd tid (returnerar 2 byte, först den höga byten, då den låg byten).

  • 40: sätta sensor 0% värde (händer ingenting ytterligare);
  • 50: sätta sensor 100% värde (händer ingenting ytterligare);
  • 60: ställa in sensorn längd i den enhet som du vill ha (2 extra byte förväntas skickas som anger längden på sensorn din valda enheten)
  • 70: läsa set lägre raw gränsvärdet (returnerar 2 byte (övre byte första) med lägre raw värde);
  • 80: Läs det råa set övre gränsvärdet (returnerar 2 byte (övre byte första) med övre raw börvärde);

  • 90: läsa set sensor längden (returnerar 2 byte (övre byte första) med ange längd i den enhet som du valt)

En viktig bugg i Wire.h

Wire biblioteket är har en nyfiken bugg i den vid 2 Arduino kommunikation. När befälhavaren har skickat en requestFrom till slav, kan slaven inte skicka tillbaka detta sätt:

byte sendValue1;
byte sendValue2;
Wire.write(sendValue1);
Wire.write(sendValue2);

I stället måste skicka tillbaka värdet på så sätt:

byte sendValue [2].
Wire.write(sendValue,2);

Om inte gjort detta sätt, master ser bara sista byte skickas, och alla andra ignoreras. Det kan tyckas enkelt, men frågan här kostade mig 3 dagar att räkna ut.

!!! 3 DAGAR!!!

(Om det vore möjligt skulle jag också använda kapital 3).

Se Steg
Relaterade Ämnen

Noter med Low-Tech kapacitiv Sensor och RFID-

Noter är en enhet som låter dig spela in och spela upp musik på Fästisar. Om du vill använda, används klisterlappar med inbäddade RFID-sensorer för att spela in musik som gjorts av ritning över koppar bandet piano styrelsen eller kan även trycka fing...

Vända en blyertsteckning i en kapacitiv sensor för Arduino

visste du? Du kan göra blyertsteckningar reaktiva röra för användning med ditt projekt! Det är verkligen lätt och ger dig stor flexibilitet i att göra gränssnitt för oavsett microcontroller projekt du gör.Jag sätter detta tillsammans som en del av mi...

Kapacitiv Sensor Design

Kapacitiva sensorer är ett elegant sätt att styra en Arduino med Kapacitiv avkänning bibliotek. Men känsligheten och feltolerans beror starkt på (sensor) hårdvarudesign. Jag hittade en design riktlinje här och testade olika inställningar som oftast f...

Bygga en flytande givare, kapacitiv

en kapacitiv flytande sponsor har åberopat den kapacitans eller laddningen mellan 2 metallplattor ändras (i detta fall ökning) beroende på vilket material är dem emellan.Detta tillåter oss att skapa en nivågivare är säker för användning med någon vät...

Arduino handledning: Kapacitiv Touch sensorer

Hej alla!Detta instructable är en handledning som vägleder dig om hur du använder kapacitiv touch sensorer med Arduino. En kapacitiv sensor är ett slags touch sensor, som kräver liten eller ingen kraft att aktivera.I detta Instructable om kapacitiv t...

Kapacitiv koppar kub lampa

Hej och Välkommen! I detta Instructable lär vi dig att skapa antingen en standup eller hängande beröring känslig LED lampa tillverkad av skräddarsytt kretskort. Vi kommer att inkludera en ny tillämpning av målat glas stil lödning tekniker att montera...

Ledande tråd Touch Sensor

Efter att ha testat kapacitiv touch sensor utbrytning med olika ledande tyg material, ville jag skapa en array med ledande tråd spår som kan användas för att aktivera sensorn touch istället. Detta instructable visar hur du ansluter ledande tråd till...

E-aktivera Hand Spidey sensorer

Uh-Oh min Spidey känsla stickningar! Forskningsarbetet har jag gjort för e-aktivera, du kan lägga till Spidey avkänning till en hjälpmedelsteknik enheten Hand (det inte är en handprotes). Detta projekt dokumenterar forskningsfasen av mitt projekt, så...

IR-MultiTouch sensorer för utöka objekt och mänsklig hud

Jag har byggt egna IR sensing lösningar för ett tag nu. Dessa inkluderar beröringsfria, objekt upptäckt sensorer och Magawish-touch sensorer. Avsikten bakom detta instructable är att dela med sig av de erfarenheter jag samlat i desinging dessa anpass...

Kapacitiv markfuktighet mäta (med I2C)

Mycket har skrivits om hur man mäter markfuktighet och framför allt på vilken sensor du använder.Med den enkla motstånd mäta är den största frågan korrosion av sensorn, inte bara eftersom det är i kontakt med jorden men också eftersom det är en DC nu...

Halleffekten sensor

En Hall effekt sensor är en sensor som svar på ett magnetfält.När hall sensorn placeras i ett magnetfält Elektronerna rinner genom att flytta till ena sidan av sensorn. Sensorn kommer då ha en positiv och en negativ sida och skapa en spänning, känd s...

Partikel Photon - HDC1000 temperatur Sensor handledning

HDC1000 är en digital Fuktsensor med integrerad temperatursensor som ger utmärkt mätnoggrannheten vid mycket låg effekt. Enheten mäter luftfuktighet baserat på en roman kapacitiv sensor. Luftfuktighet och temperatur sensorer är fabriken kalibrerad. D...

LinkIt en kapacitiv handledning

Hej byggare! Här i detta "vänners kompatibla kommer vi att göra ett projekt som använder en kapacitiv sensor för att slå på en LED. Detta projekt använder en micro controller skicka och ta emot signalen till och från kapacitiv sensor. Denna micro con...

Hur man gör en polyfonisk musik installation utlöses av kapacitiv touch pekar med en Arduino

Under ett projekt på KISD gjorde vi en interaktiv musik anläggning som var spelbara på ett ställe som kollektivtrafik. Utseendet på det var inspirerad av de färgglada metro planer som avgränsar varje tåglinje med en annan färg. För linjerna använde v...

Kapacitiv avkänning + öppna ramar + SPACEBREW

Se vår uppsättning upp i aktion!Kristallin högländerna från Lucy Matchett på Vimeo.Det här är en steg för steg om hur du ansluter Arduino att OpenFrameworks med hjälp av Spacebrew.Mer specifikt vårt projekt fokuserar på awesomeness kapacitiv avkännin...

Kapacitiv avkänning for Dummies

För någon ny till elektronik, kan kapacitiv avkänning vara riktigt förvirrande. Även för någon som har utforskat kapacitiv avkänning för en vecka, är det fortfarande riktigt förvirrande. Lyckligtvis har du detta denna behändiga guide att hjälpa dig p...

Kapacitiv Dance Pad

Denna guide beskriver hur man bygger en kapacitiv dance pad för PC-baserade spel som StepMania. Den totala kostnaden för material är omkring $25 (mindre om du redan har vissa komponenter), det finns inga mekaniska delar inblandade, och konstruktionen...

Sonifying kapacitiv Data över Serial Port med Teensy och SuperCollider (OSX och Linux)

Om det inte går att del med $600 dollar behövs för att köpa MaxMSP (och din gratis 30 dagar har löpt ut) det finns inte många gratis alternativ som kan konkurrera med samma nivå av ljudkvaliteten som MaxMSP. Lyckligtvis är detta ett område där SuperC...

Kapacitiv Touch Arduino lampa

EDIT: Jag gjorde ännu en av dessa och hacka en ikea-lampa med den. Du kan se den "vänners kompatibla overe härProblemetDet är sent på kvällen, och din mobiltelefon ringer. Du kan inte se där det är, du blint famlar runt ditt Nattduksbord, förgäves fö...