Schematic proiect:
Voi atasa si in capitolul de rezultate obtinute o demonstratie initiala a functionalitatii proiectului.
Update 20.05.2024: am adaugat si un modul I2C lcd-ului pentru usurinta in asamblarea finala, dar si un buzzer conectat la pin-ul 1 ce va canta cand este ghicit codul
Declaram bibliotecile:
#include <SPI.h> #include <WiFiNINA.h> #include <BlynkSimpleWiFiNINA.h> #include <Servo.h> #include <LiquidCrystal_I2C.h>
Declaram informatiile de autentificare in Blynk:
#define BLYNK_TEMPLATE_ID "<id>" #define BLYNK_TEMPLATE_NAME "<template_name>" #define BLYNK_AUTH_TOKEN "<auth_token>"
si WiFi credentials pentru conectare la internet si apoi la cloud:
char ssid[] = "<ssid Wifi"; char pass[] = "<parola Wifi>";
Definim functiile ce primesc valoarea slider-elor pentru setarea codului. V1, V4, V5 sunt pini virtuali setati din Blynk pentru diferentiarea lor
// extragerea valorilor BLYNK_WRITE(V1) { SliderValueOne = param.asInt(); } BLYNK_WRITE(V4) { SliderValueTwo = param.asInt(); } BLYNK_WRITE(V5) { SliderValueThree = param.asInt(); }
Realizam setup-ul:
LiquidCrystal_I2C lcd(0x3f, 16, 2); void setup() { pinMode(buzzerPin, OUTPUT); //pin buzzer //initalizare pini led rgb pinMode(redPin, OUTPUT); pinMode(greenPin, OUTPUT); pinMode(bluePin, OUTPUT); lcd.init(); lcd.backlight(); Blynk.begin(BLYNK_AUTH_TOKEN, ssid, pass); myservo.attach(9); //pin servo myservo.write(pos); }
In loop se vor intampla urmatoarele:
int lightLevel = analogRead(photoPin)
int PotOne = map(analogRead(A0), 0, 1023, 0, 9)
, urmand apoi sa printam constant pe lcd valorile acestoraDemonstratie initiala functionalitate proiect - 12.05.2024: Safe Crack
Update: adaugat modul i2c si buzzer:
Fişierele se încarcă pe wiki folosind facilitatea Add Images or other files. Namespace-ul în care se încarcă fişierele este de tipul :pm:prj20??:c? sau :pm:prj20??:c?:nume_student (dacă este cazul). Exemplu: Dumitru Alin, 331CC → :pm:prj2009:cc:dumitru_alin.