Projektas #1: Draugiškas li?tas
Išmokite sukurti ir užprogramuoti draugišk? li?t? su ventiliatoriumi vietoje nosies, panaudodami „Maker Control Kit“ komplektuojam? robotikos rinkini? valdymo plokšt?s ir „Maker Kit 2“ komplektuojamo robotikos rinkinio komponentus.
Šis ventiliatorius automatiškai ?sijungia ir išsijungia priklausomai nuo aplinkos temperat?ros. Ant jo nugaros esantis temperat?ros jutiklis fiksuos aplinkos temperat?r?, o nuolatin?s srov?s variklis ?sijungs arba išsijungs priklausomai nuo sukurtos programos siun?iamo signalo.
Valdykite variklio greit? potenciometru, kuris sumontuotas li?to uodegoje. Tai taip paprasta!
SUD?TINGUMO LYGIS: Vidutinis.
PRATIMO TRUKM?: 120 min.
MEDŽIAGOS:
- 1x nuolatin?s srov?s variklis su propeleriu
- 1x temperat?ros jutiklis
- 1x potenciometras
- 1x „4in1 Build & Code“ plokšt?
- 1x USB – Mikro USB kabelis Kompiuteris
- Li?to trafaretas
- Medžiagos li?to konstrukcijai (nedidel? kartonin? d?žut?, vatmanas)
- Klijai arba lipni juosta
Kas yra potenciometras?
Potenciometras yra kintamas rezistorius, kurio vert?s yra nuo 0 iki 1023, priklausomai nuo pasukimo kampo dydžio. Tai reiškia, kad priklausomai nuo to, kiek j? pasuksite, potenciometras rodys rodmenis nuo 0 iki 1023.
KONSTRUKCIJOS SUK?RIMAS:
Medžiagos, kurias naudosite konstruodami li?to ventiliatori?: nedidel? kartonin? d?žut?, vatmano lakštai, li?to trafaretas, lipni juosta ir karšti klijai.
Atsisi?skite li?to trafaret? ir greitojo sumontavimo vadov?. Atlikite nurodytus veiksmus:
- Apklijuokite vis? li?t? (liemen?, kojas ir uodeg?) lipniu geltonu popieriumi. Tada naudodami klijus suklijuokite visas li?to dalis ir elektroninius komponentus.
- Prijunkite visus elektroninius komponentus prie „4in1 Build&Code“ plokšt?s pagal instrukcijas pateiktas jung?i? skyriuje.
- USB kabelio mikro USB jungt? prakiškite pro li?to k?n? ir prijunkite prie „4in1 Build&Code“ plokšt?s.
JUNGTYS:
- Prijunkite nuolatin?s srov?s varikl? su propeleriu prie „4in1 Build&Code“ plokšt?s skaitmenin?s jungties Nr. 9.
- Prijunkite temperat?ros jutikl? prie „4in1 Build & Code“ plokšt?s analogin?s jungties A0.
- Prijunkite potenciometr? prie „4in1 Build & Code“ plokšt?s analogin?s jungties A5.
Perži?r?kite kabeli? spalvas ir „4in1 Build & Code“ plokšt?s kontakt? spalvas, kad žinotum?te kaip sujungti. Kiekvienas kabelis tur?t? b?ti prijungtas prie jo spalvos:
PROGRAMOS KODAS:
Programa ?jungia arba išjungia nuolatin?s srov?s varikl? su propeleriu priklausomai nuo aplinkos temperat?ros. Nuolatin?s srov?s variklio su propeleriu greit? reguliuosite potenciometru.
Temperat?ros intervalas, kai ?jungiamas nuolatin?s srov?s variklis su propeleriu yra nuo -1 ºC iki + 3 ºC, atsižvelgiant ? nustatyt? vert?. Tai reiškia, kad jei nustatytoji vert? yra 27 ºC, nuolatin?s srov?s variklis ?sijungs, kai temperat?ra yra nuo 26 °C iki 30 °C. Kai temperat?ros vert? yra už nurodyt? rib?, ventiliatorius išsijungs.
Kai nuolatin?s srov?s variklis su propeleriu veikia, galite keisti jo greit? potenciometru.
Šiuos veiksmus galite atlikti naudodami „Arduino“ ir „Bitbloq“ programin? ?rang?, taip pat kit? suderinam? vaizdin? programavimo programin? ?rang?, naudojan?i? blokus. Žemiau pateikiamas programin?s ?rangos kodas, reikalingas kiekvienai programinei ?rangai.
„Arduino“ kodas
- Parsisi?skite „Arduino“ programin? ?rang? ir atlikite ?diegimo proces?.
- Paleiskite program? ir nukopijuokite toliau pateikt? kod?:
/*TEMPERATURE */ int STemp = 0; int SetPoint = 27; // 27ºC Set point int ReadTemp; float Voltaje; float Temp; /*POTENTIOMETER*/ int PPot = 5; int ValuePot; /*FAN*/ int PMotor = 9; // Speed int SpeedMotor; void setup() { // Put your setup code here, to run once: Serial.begin (9600); pinMode(13, OUTPUT); pinMode(PMotor, OUTPUT); } void loop() { // Put your main code here, to run repeatedly: Celcius(); // Calculation of temperature in Celsius if((Temp > (SetPoint - 1))&&(Temp < (SetPoint + 3))) // If the temperature is 1º under or 3º over SetPoint, we turn on the fan { for (int x = 0; x<20000; x++) { Speed(); // Calculation of the fan speed analogWrite(PMotor,SpeedMotor); // Fan = ON digitalWrite(13, HIGH); // LED digital port 13 = ON } } else // If the temperature is less than the SetPoint { analogWrite(PMotor, 0); // Fan = OFF digitalWrite(13, LOW); // LED digital port = OFF } delay (2000); } void Celcius () // Calculation of the temperature in Celsius { ReadTemp = analogRead(STemp); Voltaje = (5.0/1024)*ReadTemp; Temp = ((Voltaje * 100) - 50); Serial.println (Temp); } void Speed() // Calculation of the fan speed { ValuePot = analogRead(PPot); SpeedMotor = map (ValuePot, 0, 1023, 50, 200); }
- Sukonfig?ruokite ir ?kelkite kod?. Žemiau parodysime, kurias parinktis tur?tum?te pasirinkti:
3.1 Pasirinkite plokšt?s kuri? ketinate naudoti tip?. Jei naudojate „4in1 Build&Code“ plokšt?, tur?tum?te pasirinkti:Plokšt?s ? Arduino Uno
3.2 Pasirinkite jungt?, prie kurios yra prijungta „4in1 Build&Code“ plokšt?:
Jungtys ? Nuoseklioji jungtis ? COM (numeris jungties prie kurios yra prijungta plokšt?)
3.3 ?kelkite ryšio program? tarp programos ir „4in1 Build&Code“ plokšt?s:
Jungtys ? Atnaujinti integruot? programin? ?rang?
- Tada nor?dami paleisti program? paspauskite žali? v?liav?l?.
Kodas skirtas suderinamai vaizdinei programavimo programinei ?rangai, naudojan?iai blokus
- Parsisi?skite programin? ?rang? ir atlikite ?diegimo proces?.
- 2. Paleiskite program? ir paleid? nukopijuokite ? j? toliau pateikt? kod?:
- Sukonfig?ruokite ir ?kelkite kod? pagal instrukcijas, kurios yra pateiktos dokumente „4in1 Build&Code“ plokšt?s pirmieji žingsniai.
„BitBloq“ kodas
- Parsisi?skite „BitBloq“ programin? ?rang?.
- Paleiskite „BitBloq“ program? ir paleid? nukopijuokite ? j? toliau pateikt? kod?:
- Aparatin? ?ranga
- Programin? ?ranga
- Aparatin? ?ranga
- Sukonfig?ruokite ir ?kelkite kod? pagal instrukcijas, kurios yra pateiktos pateiktos dokumente „4in1 Build&Code“ plokšt?s pirmieji žingsniai.
PRATIMO REZULTATAS:
Šis li?to pavidalo ventiliatorius ?sijungia pagal anks?iau užprogramuotas aplinkos temperat?ros vertes. Aplinkos temperat?r? fiksuoja temperat?ros jutiklis, esantis li?to k?no viršutin?je dalyje.
Kai ventiliatorius yra ?jungtas, jo greit? galite reguliuoti sukdami uodegoje esant? potenciometr?. Dabar j?s? ventiliatorius ?gavo li?to pavidal?!