Nedsänkning spis kontrolleras av Arduino (13 / 13 steg)

Steg 13:



/*****************************************************/
/* */
/ * Titel: Imersion spis Controller * /
/ * Version: 1.0 * /
/ * Versionsdatum: 05/01/2012 * /
/ * Författare: Edward A Ranzenbach * /
/ * MCWSM * /
/* */
/ * Beskrivning: * /
/ * Denna skiss körs på den Arduino Uno plattformen * /
/ * en SainSmart 1602 LCD/tangentbord sköld, * /
/ * SainSmart halvledar relä enhet och LM35 * /
/ * temperaturgivare. Den är utformad att kontroll * /
/ * två gemensamma upphettning elementara och en liten * /
/ * Dränkbara pump i en nedsänkning spis. Den * /
/ * användare helt enkelt slår i ett set temperatur använder den * /
/ * tangentbord och contrioller strobes uppvärmning * /
/ * element för att uppnå och bibehålla det inställda vattnet * /
/ * temperatur. */
/* */
/ * FRAMTID: lägga till timer/klocka funktioner * /
/* */
/ * Historia: * /
/* */
/ * 2012-05-01 - Edward A Ranzenbach * /
/ * Ursprungliga kodning * /
/* */
/*****************************************************/
#include < LiquidCrystal.h >
#define VERSION_STRING "1.0"
#define btnRIGHT 0
#define btnUP 1
#define btnDOWN 2
#define btnLEFT 3
#define btnSELECT 4
#define btnNONE 5
#define ELEMENT_1 2 / / Element 1 kontroll port
#define ELEMENT_2 3 / / faktor 2 kontroll port
#define LED_PORT 13
#define THIRTY_SECONDS 30000; 30.000 mikrosekunder
#define KEYBOARD_PORT 0
#define TEMP_PORT 1
#define ökning 1
#define minskning -1
#define NO_CHANGE 0
#define Välj 999
#define CELSIUS 0
#define FARENHEIT 1
#define TEMP_COUNT 10
#define KEY_BOUNCE_DELAY 333
int iTempMode = FARENHEIT; standard till Farenheit...
int iSetTemp = 130; iSetTemp är globalt...
int iKeyPressIn = 0;
float fTemp [TEMP_COUNT]; globala temperaturen utjämning array...
int iCurrentIndex = 0; iCurrentIndex är globala index i temp array...
byte bDegreeSymbol [8] = / / bitmask för ° symbol...
{
B11100,
B10100,
B11100,
B00000,
B00000,
B00000,
B00000,
B00000
};
byte bCheckMarkSymbol [8] = / / bitmask för √ symbol...
{
B00000,
B00000,
B00000,
B00001,
B00010,
B10100,
B01100,
B01000
};
LiquidCrystal lcd (8, 9, 4, 5, 6, 7); initiera bibliotek med numrerar av gränssnittet stiften
void setup()
{
/*****************************************************/
/* */
/ * Modul: setup * /
/ * Version: 1.0 * /
/ * Versionsdatum: 05/01/2012 * /
/ * Författare: Edward A Ranzenbach * /
/ * Beskrivning: * /
/ * Initierar LCD-display och visar splash * /
/ * skärmen. */
/ * Under setup sekvensen, temperaturen * /
/ * utjämning array initieras med läsningar som * /
/ * väl. */
/* */
/ * Historia: * /
/* */
/ * 2012-05-01 - Edward A Ranzenbach * /
/ * Ursprungliga kodning * /
/* */
/*****************************************************/
Sträng strLine1;
Sträng strLine2;
String strElipses = ".";
lcd.createChar (0, bDegreeSymbol); Skapa tecken LCD
lcd.createChar (1, bCheckMarkSymbol);
LCD.BEGIN (16, 2); setup LCD display kolumner, rader...
DisplayLCD ("Uppstart...", "");
för (int iIndex = 0; iIndex < TEMP_COUNT; iIndex ++) / / initiera arrayen temperatur för signal utjämning...
{
fTemp [iIndex] = analogRead(TEMP_PORT);
fTemp [iIndex] = ((fTemp [iIndex] * 3.3) / 1023); 10 Millivolt per grad Celsius
om (iTempMode == FARENHEIT)
{
fTemp [iIndex] = ConvertCelsiusToFarenheit(fTemp[iIndex]); / / konvertera till Farenheit...
}
DisplayLCD ("Uppstart...", strElipses);
strElipses += ".";
Delay(100);
}
pinMode (ELEMENT_1, OUTPUT);
pinMode (ELEMENT_2, OUTPUT);
pinMode (LED_PORT, OUTPUT);
strLine1 = "Nedsänkning spis"; Skapa och Visa startbild
strLine2 = "Version:";
strLine2 += VERSION_STRING;
DisplayLCD (strLine1, strLine2);
Delay(2000);
}
void loop()
{
/*****************************************************/
/* */
/ * Modul: loop * /
/ * Version: 1.0 * /
/ * Versionsdatum: 05/01/2012 * /
/ * Författare: Edward A Ranzenbach * /
/ * Beskrivning: * /
/ * Blir ny SetTemp, om någon. Sedan anropar SetTemp * /
/ * strobe värmeelementen att justera den * /
/ * temp. Det sedan visar temp info, försenar en * /
/ * andra sedan returnerar. Fördröjningen förhindrar den * /
/ * solid-state reläer från att vara kontinuerligt * /
/ * vände på och bort. */
/ * Historia: * /
/* */
/ * 2012-05-01 - Edward A Ranzenbach * /
/ * Ursprungliga kodning * /
/* */
/*****************************************************/
String strLCDLine0 = "";
String strLCDLine1 = "";
iSetTemp = GetSetTemp(iSetTemp); se om användaren vill ändra temp...
SetTemp(iSetTemp); kontroll värmeelement...
DisplayTemps (iSetTemp, GetCurrentTemp(), 'S'); Visa temps...
Delay(1000); inte överväxel SSRs...
}
int GetSetTemp (int iSetTemp)
{
/*****************************************************/
/* */
/ * Modul: GetSetTemp * /
/ * Version: 1.0 * /
/ * Versionsdatum: 05/01/2012 * /
/ * Författare: Edward A Ranzenbach * /
/ * Beskrivning: * /
/ * Läser knappsatsen för att se om justeringar är att vara * /
/ * till aktuell uppsättning temp. Standard är * /
/ * att inga nycklar är att vara deprimerad. Detta returnerar * /
/ * btnNone från ReadKeypad och resulterar i en * /
/ * omedelbar avkastning till anroparen. Annars, den * /
/ * Ställ in temperaturen justeras på rätt sätt och * /
/ * nya justerade temperatur. */
/* */
/ * Denna modul också tillåt förbrukaren till gå in * /
/ * en undermeny där de kan göra saker som att byta * /
/ * driftsläge från Fahrenheit till Celsius. */
/* */
/ * Om användaren har deprimerad någon nyckel göra temp * /
/ * justeringar, de måste sänka knappen Select * /
/ * att göra justeringarna permanent och återvändande * /
/ * till anroparen. */
/ * Historia: * /
/* */
/ * 2012-05-01 - Edward A Ranzenbach * /
/ * Ursprungliga kodning * /
/* */
/*****************************************************/
int iKeyIn;
int iNewSetTemp;
int iTempDelta; ÖKA. MINSKNINGEN, eller Välj...
char cSetTemp [4].
booleska bSelected = false;
char cTempMode = s ';
iNewSetTemp = iSetTemp; börja med nuvarande temp...
iKeyIn = ReadKeypad();
om (iKeyIn! = btnNONE) / / btnNONE = inget att göra, bara tillbaka till den som ringer...
{
göra / / tills bSelected...
{
Switch(iKeyIn)
{
fall btnUP: / / Justera temperaturen upp...
iNewSetTemp + = 1;
cTempMode = 'A', informera användaren justering pågår...
bryta;
fall btnDOWN: / / Justera temperaturen nedåt...
iNewSetTemp-= 1;
cTempMode = 'A', informera användaren justering pågår...
bryta;
fall btnLEFT:
iNewSetTemp = Menu(); Alternativ-menyn...
bSelected = sant; komma ut en gång menyalternativ komplett...
bryta;
fall btnSELECT: / / justeringar komplett...
bSelected = sant;
bryta;
standard: / / ignorera andra nycklar...
bryta;
}
DisplayTemps (iNewSetTemp, GetCurrentTemp(), cTempMode); Visa varje justering som det uppstår...
Delay(KEY_BOUNCE_DELAY); jämna ut viktiga studsa...
iKeyIn = ReadKeypad(); inre Läs loop...
} medan (! bSelected);
}
Return(iNewSetTemp);
}
void SetTemp(int iSetTemp)
{
/*****************************************************/
/* */
/ * Modul: SetTemp * /
/ * Version: 1.0 * /
/ * Versionsdatum: 05/01/2012 * /
/ * Författare: Edward A Ranzenbach * /
/ * Beskrivning: * /
/ * Denna modul jämför parametern iSetTemp * /
/ * Nuvarande temp. Om det finns en större än en * /
/ * grad varians, det visar värmeelementen * /
/ * på eller av vid behov. */
/ * Historia: * /
/* */
/ * 2012-05-01 - Edward A Ranzenbach * /
/ * Ursprungliga kodning * /
/* */
/*****************************************************/
int iCurrentTemp;
iCurrentTemp = GetCurrentTemp(); Kolla aktuell temp...
om (abs (iSetTemp - iCurrentTemp) > = 1) / / om temperaturen varierade efter mer än 1 grad
{
om (iCurrentTemp > iSetTemp) / / om temp för hög, stänga av värmeelement
{
digitalWrite (ELEMENT_1, låg);
digitalWrite (ELEMENT_2, låg);
digitalWrite (LED_PORT, låg);
}
annat
{
digitalWrite (ELEMENT_1, hög); om temp alltför låg, slå på värmeelement
digitalWrite (ELEMENT_2, hög);
digitalWrite (LED_PORT, hög);
}
}
}
int GetCurrentTemp()
{
/*****************************************************/
/* */
/ * Modul: GetCurrentTemp * /
/ * Version: 1.0 * /
/ * Versionsdatum: 05/01/2012 * /
/ * Författare: Edward A Ranzenbach * /
/ * Beskrivning: * /
/ * Denna modul läser aktuella temp från den * /
/ * sensor och lagrar det att signalera jämnar * /
/ * array. Temperaturen från sensorn är i * /
/ * Celsius och vi konvertera till Farenheit som krävs * /
/ * av det aktuella driftsläget. Användaren är sedan * /
/ * returneras ett heltal som representerar den jämnas * /
/ * (dvs. genomsnittet av alla temps i matrisen) * /
/ * temperatur. */
/ * Historia: * /
/* */
/ * 2012-05-01 - Edward A Ranzenbach * /
/ * Ursprungliga kodning * /
/* */
/*****************************************************/
int iReturnTemp = 0;
flyta fCumulativeTemp = 0;
float fADCIn;
om ((iCurrentIndex) == TEMP_COUNT) / / bo inom array gränser...
{
iCurrentIndex = 0;
}
fADCIn = analogRead(TEMP_PORT); får temp signalen från sensorn...
om (iTempMode == CELSIUS) / / göra konvertering Celsius...
{
fTemp [iCurrentIndex] = (((fADCIn * 3.7) / 1024) * 100);
}
annat
{
fTemp [iCurrentIndex] = fADCIn; raka behandlingen är i farenheit...
}
för (int iIndex = 0; iIndex < TEMP_COUNT; iIndex ++) / / summera senaste X avläsningar...
{
fCumulativeTemp += fTemp [iIndex];
}
iReturnTemp = ((int)(fCumulativeTemp / TEMP_COUNT)); återgå jämnas temp...
iCurrentIndex ++; bula index för nästa samtal...
Return(iReturnTemp);
}
void DisplayTemps (int iSetTemp, int iCurrentTemp, char cTempMode)
{
/*****************************************************/
/* */
/ * Modul: DisplayTemps * /
/ * Version: 1.0 * /
/ * Versionsdatum: 05/01/2012 * /
/ * Författare: Edward A Ranzenbach * /
/ * Beskrivning: * /
/ * Denna modul visar två rader av temperaturer * /
/ * på LCD-skärmen. Först är set temp * /
/ * och är märkt baserat på om vi är * /
/ * justera det, eller det är den inställda temperaturen. Den * /
/ * andra raden i displayen alltid aktuellt * /
/ * temperatur. */
/* */
/ * Om denna modul kallas kontinuerligt, den * /
/ * kommer att blinka så anroparen bör fördröjning mellan * /
/ * samtal. */
/ * Historia: * /
/* */
/ * 2012-05-01 - Edward A Ranzenbach * /
/ * Ursprungliga kodning * /
/* */
/*****************************************************/
Sträng strLine1;
Sträng strLine2;
om (cTempMode == "A") / / justera läge...
{
strLine1 = "justera:";
}
annat
{
strLine1 = "Ange:"; Inställda läge...
}
strLine1 += iSetTemp;
strLine2 = sträng ("nuvarande:");
strLine2 += iCurrentTemp;
LCD.Clear();
lcd.setCursor (0, 0);
LCD.Print(strLine1);
LCD.write(byte(0)); Gradsymbolen...
om (iTempMode == FARENHEIT)
{
LCD.Print("F");
}
annat
{
LCD.Print("C");
}
lcd.setCursor (0, 1);
LCD.Print(strLine2);
LCD.write(byte(0));
om (iTempMode == FARENHEIT)
{
LCD.Print("F");
}
annat
{
LCD.Print("C");
}
}
void DisplayLCD (sträng strLine0, sträng strLine1)
{
/*****************************************************/
/* */
/ * Modul: DisplayLCD * /
/ * Version: 1.0 * /
/ * Versionsdatum: 05/01/2012 * /
/ * Författare: Edward A Ranzenbach * /
/ * Beskrivning: * /
/ * Denna modul visar två rader text på LCD * /
/ * visas. */
/ * Om denna modul kallas kontinuerligt, den * /
/ * kommer att blinka så anroparen bör fördröjning mellan * /
/ * samtal. */
/ * Historia: * /
/* */
/ * 2012-05-01 - Edward A Ranzenbach * /
/ * Ursprungliga kodning * /
/* */
/*****************************************************/
LCD.Clear();
om (strLine0.length() > 0)
{
lcd.setCursor (0, 0);
LCD.Print(strLine0);
}
om (strLine1.length() > 0)
{
lcd.setCursor (0, 1);
LCD.Print(strLine1);
}
}
int ReadKeypad()
{
/*****************************************************/
/* */
/ * Modul: ReadKeypad * /
/ * Version: 1.0 * /
/ * Versionsdatum: 05/01/2012 * /
/ * Författare: Edward A Ranzenbach * /
/ * Beskrivning: * /
/ * Läser det SainSmart tangentbordet. Om användaren * /
/ * trycker ned en nyckel, ett värde returneras. Detta värde * /
/ * kan variera från enhet till enhet. Således vi * /
/ * bestämma genom att se om vi är nära * /
/ * Läs värdet. */
/ * Historia: * /
/* */
/ * 2012-05-01 - Edward A Ranzenbach * /
/ * Ursprungliga kodning * /
/* */
/*****************************************************/
int iKeyIn = analogRead(KEYBOARD_PORT);
om (iKeyIn > 1000) / / Detta kommer att vara den mest ofta resultat...
{
återvända btnNONE;
}
annars om (iKeyIn < 50)
{
Delay(KEY_BOUNCE_DELAY); hantera viktiga studsa...
återvända btnRIGHT;
}
annars om (iKeyIn < 195)
{
Delay(KEY_BOUNCE_DELAY); hantera viktiga studsa...
återvända btnUP;
}
annars om (iKeyIn < 380)
{
Delay(KEY_BOUNCE_DELAY); hantera viktiga studsa...
återvända btnDOWN;
}
annars om (iKeyIn < 555)
{
Delay(KEY_BOUNCE_DELAY); hantera viktiga studsa...
återvända btnLEFT;
}
annars om (iKeyIn < 790)
{
Delay(KEY_BOUNCE_DELAY); hantera viktiga studsa...
återvända btnSELECT;
}
annars return btnNONE; om allt annat misslyckas...
}
int Menu()
{
/*****************************************************/
/* */
/ * Modul: menyn * /
/ * Version: 1.0 * /
/ * Versionsdatum: 05/01/2012 * /
/ * Författare: Edward A Ranzenbach * /
/ * Beskrivning: * /
/ * Denna modul ger användaren ett sätt att * /
/ * tillgång till andra funktioner inom den * /
/ * nedsänkning spis. Detta är begränsad för version 1.0 * /
/ * ändra driftsläge mellan Farenheit * /
/ * och Celsius. För framtiden, detta kommer att inbegripa * /
/ * tillgång till klocka funktioner. */
/ * Denna modul returnerar när knappen Select är * /
/ * deprimerad. */
/ * Historia: * /
/* */
/ * 2012-05-01 - Edward A Ranzenbach * /
/ * Ursprungliga kodning * /
/* */
/*****************************************************/
int iKeyIn;
booleska bSelected = false;
int iStartingTempMode = iTempMode;
DisplayLCD ("Celsius", "Farenheit"); börja med att Visa nuvarande inställning...
om (iTempMode == CELSIUS)
{
lcd.setCursor (10, 0);
}
annat
{
lcd.setCursor (10, 1);
}
LCD.write(byte(1)); Visa markeringen för det aktuella alternativet...
göra
{
iKeyIn = ReadKeypad(); får användaren urval...
Switch(iKeyIn)
{
fall btnUP:
DisplayLCD ("Celsius", "Farenheit");
lcd.setCursor (10, 0);
LCD.write(byte(1)); Visa markeringen för det valda alternativet...
iTempMode = CELSIUS;
bryta;
fall btnDOWN:
DisplayLCD ("Celsius", "Farenheit");
lcd.setCursor (10, 1);
LCD.write(byte(1)); Visa markeringen för det valda alternativet...
iTempMode = FARENHEIT;
bryta;
fall btnSELECT: / / detta avslutar menyn och implementerar den begärda åtgärden...
bSelected = sant;
bryta;
standard: / / ignorera andra nycklar...
bryta;
}
Delay(KEY_BOUNCE_DELAY);
} medan (! bSelected);
om (iTempMode! = iStartingTempMode) / / om vi ändrat lägen...
{
om (iTempMode == CELSIUS)
{
iSetTemp = (int) ConvertFarenheitToCelsius((float) iSetTemp); konvertera iSetTemp till Celsius för visning...
}
annat
{
iSetTemp = (int) ConvertCelsiusToFarenheit((float) iSetTemp) ;// konvertera iSetTemp till Farenheit för Visa ändamål...
}
ConvertTempSmoothingArray(iTempMode); konvertera temps i temperaturen utjämning array...
}
Return(iSetTemp);
}
void ConvertTempSmoothingArray(int iNewTempMode)
{
/*****************************************************/
/* */
/ * Modul: ConvertTempSmoothingArray * /
/ * Version: 1.0 * /
/ * Versionsdatum: 05/01/2012 * /
/ * Författare: Edward A Ranzenbach * /
/ * Beskrivning: * /
/ * Denna modul växlar mellan temperaturen * /
/ * utjämning array konvertera temperaturer mellan * /
/ * Fahrenheit och Celsius baserad på den nyligen * /
/ * valda driftsläge. */
/ * Historia: * /
/* */
/ * 2012-05-01 - Edward A Ranzenbach * /
/ * Ursprungliga kodning * /
/* */
/*****************************************************/
int iIndex = 0;
Switch(iNewTempMode)
{
fall FARENHEIT:
för (int iIndex = 0; iIndex < TEMP_COUNT; iIndex ++) / / för varje temp i matrisen utjämning...
{
fTemp [iIndex] = ConvertCelsiusToFarenheit(fTemp[iIndex]); konvertera den till Farenheit...
}
bryta;
fallet CELSIUS:
för (int iIndex = 0; iIndex < TEMP_COUNT; iIndex ++) / / för varje temp i matrisen utjämning...
{
fTemp [iIndex] = ConvertFarenheitToCelsius(fTemp[iIndex]); konvertera den till Celsius...
}
bryta;
standard:
bryta;
}
}
float ConvertCelsiusToFarenheit(float fCelsiusTemp)
{
/*****************************************************/
/* */
/ * Modul: ConvertCelsiusToFarenheit * /
/ * Version: 1.0 * /
/ * Versionsdatum: 05/01/2012 * /
/ * Författare: Edward A Ranzenbach * /
/ * Beskrivning: * /
/ * Den här modulen konverterar en temperatur från Celsius * /
/ * till Farenheit * /
/ * Historia: * /
/* */
/ * 2012-05-01 - Edward A Ranzenbach * /
/ * Ursprungliga kodning * /
/* */
/*****************************************************/
Return ((fCelsiusTemp * 1.8) + 32,0);
}
float ConvertFarenheitToCelsius(float fFarenheitTemp)
{
/*****************************************************/
/* */
/ * Modul: ConvertFarenheitToCelsius * /
/ * Version: 1.0 * /
/ * Versionsdatum: 05/01/2012 * /
/ * Författare: Edward A Ranzenbach * /
/ * Beskrivning: * /
/ * Den här modulen konverterar en temperatur från * /
/ * Fahrenheit till Celsius. */
/ * Historia: * /
/* */
/ * 2012-05-01 - Edward A Ranzenbach * /
/ * Ursprungliga kodning * /
/* */
/*****************************************************/
återgå ((fFarenheitTemp-32.0) *. 555);
}
Se Steg
Relaterade Ämnen

Sous Vide Thermoplongeur skriver "Roner" avec une maskin à laver / / / Sous Vide nedsänkning typ "Roner" med en tvättmaskin

Voici kommentar réaliser un thermoplongeur typ "Roner" avec une maskin à laver.Liste d'achat:-une maskin à laver (gratuit dans mån cas)-Un termoelement achat sur Aliexpress Häll 6 €-Une boite à smältbara "IP65" achat à Brico en France...

Enklaste sättet att kontrollera din Arduino med en mobil enhet!

Många projekt som detta innebär som kräver en WiFi sköld eller en Bluetooth-modul. Men, tack vare Blynk, som det är fortfarande möjligt, är det inte längre nödvändigt. Denna handledning kommer att förklara ingående om hur att kontrollera din Arduino...

Hur man gör ett kök storlek nedsänkning Chiller till Radiply chill te (för Iced Tea), lager, buljonger och saltlösningar

TL, dr :)Bekännelse: Jag är en te snobb (så ja, jag är inte en tepåse kille - löst blad hela vägen). Te är världens mest populära dryck... men många människor är omedvetna om eller skrämmas av alla alternativ där ute. En snabb primer: alla te kommer...

Homebrew vörten svalare, Twin Coil nedsänkning typ

Johannesört (uttalas Wert) är den heta malt sprit som öl är gjord från, innan jästen kan vara lägrade (Tillagd till vörten) det måste kylas ner till runt 30 ° C andra kloka jästen kommer att dödas. Denna kylande process om utan hjälp kan ta timmar so...

A10C Wart Hog Full nedsänkning, lamporna, taktiska flygsimulator.

Inskickad av Ace Monster leksaker för Instructables Fadderverksamhet ProgramJag har jobbat på att bygga en sluten, lyser ut, full nedsänkning kampen simulator som liknar en A10-C WartHog.Detta instructable kommer inte att omfatta panelen framåt cockp...

Kontrollera en Arduino med kakao (Mac OS X) eller C# (Windows)

nej jag pratar inte om att kontrollera en Arduino med en chokladkaka eller kakaopulver. Jag talar om programmeringsspråket Objective-C. Så vad är kakao? Kakao är ett ramverk skrivet i programmeringsspråket Objective-C för Mac OS X. Nej det är inte et...

Scanner Rgb Led lampa Pwm kontrolleras av Arduino Nano

Återvunnet scanner rgb led lampa pwm kontrolleras av Arduino NanoSteg 1: SlutresultatetDetta är vad du får om du följer detta instructable.Steg 2: Hitta en skrivareLeta efter en bruten hp allt i ett-skrivare. (Andra märken kan också ha delarna, men j...

Balloonacy! -En interaktiv ballong nedsänkning

Balloonacy! är konceptet för en interaktiv ballong nedsänkning.Tusentals ballonger + Motion känsliga ljusdioder = kul.Det var en upplevelse jag skapat i San Francisco i maj 2012 tillsammans med medarbetare Isaac Shivvers och Will Skinner. Det finansi...

DIY RC bil kontrolleras med Arduino

Följande steg hjälper dig att göra din egen RC bil kontrolleras av Arduino förhoppningsvis.Steg 1: Ta isär RC bilDu måste ta isär din RC bil och ta IC av kretskortet. Du kan göra detta med ett par Tänger, lödkolv eller en löda remover.Steg 2: Anslut...

RGB LED kontrolleras med arduino

HejDetta är lite instructable att visa hur man gör RGB (röd grön blå) Led kontrolleras med arduino. Den innehåller scheman för kretsen och ett litet C# program som låter dig ändra färgen på lysdioden.Steg 1: Gör kretsen Du behöver:-Arduino: Jag använ...

Skapa en College-vänlig nedsänkning erfarenhet

Praktikplatser, lärlingsutbildning och arbete studier är alla bra sätt att börja att få praktisk erfarenhet i ett. Som ett företag är det viktigt att fastställa möjligheter för elevernas lärande för att ge framtida anställda för dig själv och för att...

Ett enkelt sätt att kontrollera din Arduino från Internet :)

denna lärorika beskriver steg för steg hur du konfigurerar en Arduino Ethernet styrelsen tocontrol en LED från molnet, ("Hello World" exempel i den microcontroller värld). Detta triviala exempel syftar till att presentera hur hur den NearBus kon...

Spåras Robot Bluetooth kontrolleras av Arduino Via Android ansökan

Efter försökande till avlägsen spåras robot av IR-fjärrkontroll. Fortsätter jag att kontrollera samma robot plattform via BluetoothArduino controller via Android ansökan. Denna metod är mer tillförlitliga, längre avstånd, ganska Android ansökan förbä...

Rainbow Jar - RGB Pixel Strip kontrolleras via Arduino

vår mest populära objekt våra utställda på Maker Faires är alltid Rainbow burk. En kund har redan har replikerats det så vi tänkte vi skulle dela hur vi gjorde det så du kan göra din egen!https://Vine.co/v/hqxpVgdFQ9z (försökte bädda in denna vine me...

DIY Sous Vide nedsänkning Cirkulator

Många om dessa Sous vide cirkulationspumpar är tillgängliga och huvudsakliga ström men de är $200 plus!!! Med valutakurs som i Kanada så högt just nu det skulle vara $300 för mig. Projektet kostade mig $45 som jag använt artiklar som jag hade och någ...

€20 robotarm kontrolleras av arduino

I denna intrsuctable ska jag visa dig hur man gör en enkel robotarm. Krediter för robotarm går till den här killen: där kan du se hur du monterar robotarm, unfortunaly han använder en €25, - polulu föraren att styra sin robot arm vilket gör det mycke...

Kontrollera din arduino från din PC med Qt Gui

för min första instructable jag kommer att visa dig hur du använder Qt för att göra grafiska gränssnitt för din arduino (eller någon rs232 enhet)Så om du vill skapa din egen grafisk gränssnitt du vill kontrollera saker bara genom att klicka på knappa...

Luftkonditionering web kontrolleras av Arduino

Hej därDen höga temperaturen i somras, får mig att tänka att detta projekt. Kanske det finns liknande på internet, men jag hittade inte.Detta projekt bygger på arduino och fungerar bra på styrelser större än UNO, som har inte så mycket minne. Med det...

Kontrollera din Arduino med en fjärrkontroll

undrar om hur du styr något i ditt hus med en enkel fjärrkontroll? Det är ganska enkelt och billigt.Steg 1: Samla grejer Här är vad du behöver:-Arduino (jag använder UNO)-Lödfritt set av brödunderläggen-En IR-mottagare-Lödfritt ledningar-Någon form a...