Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Productieproces

Bluetooth-temperatuurmeter

Componenten en benodigdheden

Arduino Nano R3
× 1
Jumperdraden (algemeen)
× 1
Weerstand 10k ohm
× 1
Weerstand 1k ohm
× 1
Weerstand 2.21k ohm
× 1

Benodigde gereedschappen en machines

Soldeerbout (algemeen)
Optioneel
3D-printer (algemeen)
Optioneel

Apps en online services

MIT App Inventor 2

Over dit project

In deze tutorial laat ik je zien hoe je een Arduino-temperatuurregelaar instelt die waarden naar een Android-app stuurt via een Bluetooth-verbinding.

Laten we beginnen met het materiaal dat je nodig hebt om dit project te bouwen:

  • Arduino nano.
  • NTC-thermistor, controleer de weerstand van 25°C, aangezien dit nodig is in de Arduino-code om de temperatuur correct te evalueren met behulp van de bètaformule.
  • Weerstanden, 2k, 1k en één van dezelfde grootte als de thermistor.
  • HC 06 bluetooth-module.
  • Diverse truien.

Allereerst moet je beginnen met het monteren van de spanningsdeler die wordt gebruikt voor de thermistor, figuur 1 toont de verbinding die je moet maken om de onbekende weerstand van de thermistor te berekenen als een functie van temperatuur.

Figuur 1 Spanningsdeler voor evaluatie van thermistorweerstand.

Met dit circuit kan de Arduino de spanningsval na de onbekende weerstand bepalen. Met behulp van de andere weerstandswaarde kunnen we de waarde van de onbekende weerstand berekenen met behulp van het volgende deel van de code (figuur 2).

raw=analogRead(analogPin);if(raw) {verhouding =raw * Vin; Vout =(verhouding)/1024,0; verhouding =(Vin/Vout) -1; R2=R1 * verhouding; 

Figuur 2 Arduino-code voor evaluatie van thermistorweerstand.

De verkregen weerstand wordt vervolgens omgerekend naar temperatuur met behulp van de bèta-formule (figuur 3).

OPMERKING:de bètawaarde van uw thermistor en Ro bij 25°C zijn beschikbaar op de datasheet van uw thermistor! Bekijk het voordat u de code uitvoert!

Temp =Beta/log(R2/(Ro*exp(-Beta/To)));Temp =Temp -273.15; 

Figuur3 Arduino-code voor temperatuurconversie.

U moet dan uw Bluetooth-module instellen, figuur 4 laat zien hoe u een Bluetooth-module zoals degene die ik in dit project heb gebruikt, kunt verbinden met de vorige. Er is een spanningsdeler nodig om de TX1-pin van Arduino te verbinden met de RX-pin van de module, aangezien deze online 3,3V als invoer accepteert.

Figuur 4 Arduino-schema's met HC 06-module.

Gegevens kunnen vervolgens via de Bluetooth-module worden verzonden door de seriële deur te initialiseren en de gewenste waarden af ​​te drukken. In dit voorbeeld had ik het apparaat nodig om de temperatuur in het bereik van 25-75°C te meten, ongeveer 300 seconden te tellen bij hoge temperatuur en vervolgens het afgedrukte bericht te wijzigen (figuur 5).

void setup(){Serial.begin(9600); } void loop(){ if(Temp>
=74) { for (int i =0; i <=30; i++) { Serial.print("Temperatuur>=74 °C"); vertraging (10000); } Serial.print("Verwarming voltooid"); vertraging (10000); } else if (Temp <=26){ Serial.print("Temperatuur <=25 °C"); vertraging (10000); } else { Serial.print("Temperatuur:"); Serieel.println(Temp); vertraging (10000); }} 

Figuur 5 Arduino-code per seriële initialisatie en waardeafdrukken.

Het uiteindelijke apparaat dat op een breadboard is gemonteerd, is te zien in figuur 6.

Figuur 6 Volledig apparaat op een breadboard.

De laatste stap is de verbinding van de Bluetooth-module met een Android-telefoon voor datavisualisatie. Er is een eenvoudige app geprogrammeerd met MIT AppInventor 2. Figuur 7 en figuur 8 tonen respectievelijk de gebruikersinterface en de programmeerblokken.

Figuur 7 Gebruikersinterface gemaakt met AppInventor2.

Figuur 8 Programmeerblokken van AppInventor2.

De voorgestelde app is beschikbaar in de app-uitvindersgalerij via de volgende link:http://ai2.appinventor.mit.edu/#5876233188016128

Hoe dan ook, met behulp van het eenvoudige en intuïtieve blokprogrammeersysteem van app-uitvinder kunnen veel andere apps worden gebouwd om elk gewenst doel te bereiken. Ik had bijvoorbeeld de app nodig om me met een geluid op de hoogte te stellen als de temperatuur lager wordt dan 25°C om een ​​meting uit te voeren en om na 5 minuten bij 75°C te melden dat mijn verwarmingscyclus voltooid is.

Optioneel:Een laatste stap zou kunnen zijn het solderen van de componenten en het 3D-printen van een doos om de onderdelen bij elkaar te houden. Figuur 9 toont het resultaat van een dergelijke aanpak.

Figuur 9 Volledig apparaat klaar voor gebruik.

Aan de zijkant van dit kastje is een gaatje gemaakt om de Arduino van stroom te voorzien met de mini usb kabel. De lange rode en zwarte kabel is toegevoegd om de afstand tussen de thermistor en de rest van het apparaat te vergroten (ik heb de thermistor nodig om de temperatuur van de oplossing te controleren, dus ik wilde de elektronische componenten zo ver mogelijk hebben).

Ik hoop dat dit eenvoudige project je zal helpen de basis voor seriële communicatie met bluetooth-module te begrijpen, zodat je dit op je eigen project kunt toepassen.

Als je fouten vindt of gewoon iets wilt vragen, laat het me dan weten.

EDIT:ik heb een fout gevonden in de bedrading van de schema's voor de spanningsdelerbehoefte voor de Bluetooth-module. Het is opgelost.

EDIT2:Als je problemen hebt met het uploaden van je code op het bord, probeer dan de bluetooth-module los te koppelen.

Code

  • Temperatuurmonitor met bluetooth-module
Temperatuurmonitor met bluetooth-moduleArduino
Om de weerstand van de NTC-thermistor te berekenen, wordt er 5V in serie op gezet met een bekende weerstand van ongeveer dezelfde grootte (in dit voorbeeld 10kohm). Via de analoge pin A0 wordt de spanning van de spanningsdeler gemaakt van de serieweerstand berekend en met behulp van de bekende waarde van één weerstand wordt de NTC-weerstand berekend. Deze waarde wordt vervolgens geconverteerd naar temperatuur met behulp van de bèta-vergelijking (wijzig de bèta in degene die u gebruikt) en verzonden naar de Android-app met behulp van de Bluetooth-module.
De code kan worden gewijzigd om een ​​specifiek temperatuurbereik te bewaken, in dit voorbeeld moest ik tussen 25 en 75 ° C bewaken en 5 minuten wachten bij de hogere temperatuur.
// Temperatuurmonitor met bluetooth-moduleint analogPin=0;int raw =0;int Vin=5;float Vout=0;float R1=10000; // verander in uw systemfloat Ro=10000; // verander in uw systemfloat R2=0;float ratio=0;float Temp =0;float Beta =3694; //wijzig naar uw systemfloat To =298.15;// thermistor gaat van 10k bij 25°C. Kies referentieweerstand dienovereenkomstigvoid setup(){Serial.begin(9600);}void loop(){raw=analogRead(analogPin);if(raw) { ratio =raw * Vin; Vout =(verhouding)/1024,0; verhouding =(Vin/Vout) -1; R2=R1 * verhouding; Temp =Beta/log(R2/(Ro*exp(-Bèta/To))); Temperatuur =Temperatuur -273,15; if(Temp>
=74) { for (int i =0; i <=30; i++) { Serial.print("Temperatuur>=74 °C"); // verander in uw systeemvertraging (10000); } Serial.print("Verwarming voltooid"); vertraging (10000); } else if (Temp <=26){ Serial.print("Temperatuur <=25 °C"); // verander in uw systeemvertraging (10000); } else { Serial.print("Temperatuur:"); // verander naar uw systeem Serial.println (Temp); vertraging (10000); }}}

Schema's

Weerstand R2 moet worden aangepast aan de weerstand van de thermistor die u gaat gebruiken. De fout in temperatuurmeting neemt toe met de bias (Runknow - R2).

Productieproces

  1. Raspberry Pi temperatuur- en vochtigheidsnetwerkmonitor
  2. ThingSpeak-temperatuurmonitor met Raspberry Pi
  3. Bewaak je huistemperatuur met je Raspberry Pi
  4. Dorstalarm plantalarm
  5. Italiaanse Word Clock
  6. Sigfox kWh-meter
  7. Gebarengestuurd slot
  8. The Companion IC
  9. USB MIDI-adapter
  10. Een geïsoleerde analoge ingang voor Arduino
  11. Meet je reactietijd