Želite li uvijek biti u toku s nekim područjem koje vas zanima, jedan od načina je i da izradite RSS čitač
RSS (Really Simple Syndication) je tehnologija koja omogućuje automatsko ažuriranje sadržaja web stranice, često putem RSS feed-a. Tako možemo podesiti Arduino da čitata podatke s RSS feed-a i koristiti ih za različite aplikacije. U ovom projektu ćemo pokazati kako izraditi RSS čitač koji informacije prikazuje na LED matrici.
U prvom dijelu ćemo pokazati kako doći do informacija s interneta. Naš mikrokontroler (u ovom slučaju ESP8266) spojimo na WiFi te se spojimo na RSS server i očitamo informacije.
// Čitanje RSS-a na Arduinu
#include <ESP8266WiFi.h> // Biblioteka za Wi-Fi modul
#include <ArduinoJson.h> // Biblioteka za obradu JSON podataka
// Wi-Fi podaci za povezivanje s mrežom
const char* ssid = "ime-mreze";
const char* password = "lozinka";
// RSS feed URL
const char* feedUrl = "https://www.jutarnji.hr/tag/RSS";
void setup() {
Serial.begin(9600); // Inicijalizacija serijske komunikacije za praćenje izlaznih podataka
WiFi.begin(ssid, password); // Spajanje na Wi-Fi mrežu
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.println("Spajanje na Wi-Fi...");
}
Serial.println("Spojeno na Wi-Fi");
}
void loop() {
// Stvaranje klijenta za povezivanje na RSS feed
WiFiClient client;
const int httpPort = 80;
if (!client.connect(feedUrl, httpPort)) {
Serial.println("Povezivanje na RSS feed neuspješno");
return;
}
// Zahtjev za RSS feed
client.print(String("GET ") + feedUrl + " HTTP/1.1\r\n" +
"Host: " + feedUrl + "\r\n" +
"Connection: close\r\n\r\n");
// Čitanje odgovora RSS feed-a
while (client.connected()) {
String line = client.readStringUntil('\n');
if (line == "\r") {
break;
}
}
String response = client.readString();
// Parsiranje JSON podataka iz RSS feed-a
const size_t capacity = JSON_OBJECT_SIZE(3) + 170;
DynamicJsonDocument doc(capacity);
deserializeJson(doc, response);
const char* title = doc["rss"]["channel"]["title"];
Serial.println(title);
JsonArray items = doc["rss"]["channel"]["item"];
for (JsonVariant item : items) {
const char* itemTitle = item["title"];
Serial.println(itemTitle);
}
delay(5000); // Čekanje 5 sekundi prije sljedećeg čitanja RSS feed-a
}
Nakon što smo došli do informacija s interneta trebamo ih prikazati, a to ćemo učiniti preko LED matrice.
LED matrica s Arduinom može biti korisna za prikazivanje grafike ili poruka na zaslonu. Da biste koristili LED matricu s Arduinom, potrebno je slijediti nekoliko koraka:
- Priprema potrebnih materijala: Za korištenje LED matrice s Arduinom, potrebni su vam sljedeći materijali:
- Arduino
- LED matrica (najčešće 8×8 piksela)
- MAX7219 IC
- sklopovske žice
- Spajanje LED matrice s Arduinom: Spajanje LED matrice s Arduinom uključuje sljedeće korake:
- Povežite VCC pin MAX7219 IC-a s 5V pinom Arduina.
- Povežite GND pin MAX7219 IC-a s GND pinom Arduina.
- Povežite DIN pin MAX7219 IC-a s pinom 11 Arduina.
- Povežite CS pin MAX7219 IC-a s pinom 10 Arduina.
- Povežite CLK pin MAX7219 IC-a s pinom 13 Arduina.
- Povežite matricu s MAX7219 IC-om koristeći priključke VCC, GND i DIN.
- Instalacija biblioteke za upravljanje LED matricom: Za upravljanje LED matricom s Arduinom, potrebno je instalirati biblioteku MAX7219. Možete je instalirati u Arduino IDE-u tako da odete u Sketch > Include Library > Manage Libraries i pretražite biblioteku MAX7219. Nakon instalacije biblioteke, uključite ju u kodu dodavanjem linije
#include <MaxMatrix.h>
. - Inicijalizacija LED matrice u kodu: Prije korištenja LED matrice u kodu, potrebno ju je inicijalizirati s odgovarajućim postavkama. To se obično radi u funkciji
setup()
. Primjer inicijalizacije LED matrice s 8 stupaca i 8 redaka izgleda ovako:
// Inicijalizacija LED matrice
MaxMatrix matrix(10, 9, 8, 1);
void setup() {
// Postavljanje broja stupaca i redaka LED matrice
matrix.init();
// Prikazivanje uzorka na LED matrici
byte pattern[] = {
B00000000,
B00011000,
B00111100,
B01100110,
B01100110,
B00111100,
B00011000,
B00000000
};
matrix.writeSprite(0, 0, pattern);
}