Πίνακας περιεχομένων:
- Βήμα 1: Απαιτούνται εξαρτήματα
- Βήμα 2: Wire Breadboard for Temperature Sensor
- Βήμα 3: Piezo Buzzer
- Βήμα 4: Προσθέστε κουμπιά
- Βήμα 5: Συνδέστε την οθόνη LCD στο ξεχωριστό Breadboard & στο Power
- Βήμα 6: Κωδικός
- Βήμα 7: Διάγραμμα
Βίντεο: Smart-Stat: 7 βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:36
Το προϊόν μας επιτρέπει στα άτομα να ελέγχουν την απόδοση των συστημάτων θέρμανσης και κλιματισμού στα σπίτια τους μετρώντας τη θερμοκρασία του εισερχόμενου και εξερχόμενου φρέον με μια απλή και ρεαλιστική διαδικασία. Αυτή η έξυπνη συσκευή θα ενθαρρύνει τους ανθρώπους να λαμβάνουν πιο ενεργειακά αποδοτικές αποφάσεις με τα συστήματα θέρμανσης και ψύξης.
Βήμα 1: Απαιτούνται εξαρτήματα
- Arduino Uno
- Breadboard (4)
- Θερμίστορ (2)
- Αντιστάσεις 10K (2)
- Πιέστε το κουμπί
- Piezo Buzzer
- Οθόνη LCD
- Ποτενσιόμετρο
- Σύρματα (25)
- Micro USB ή USB Connector
Βήμα 2: Wire Breadboard for Temperature Sensor
Ένα θερμίστορ TMP είναι ένας τύπος αισθητήρα θερμοκρασίας που μετρά την τάση στον αισθητήρα καθώς αλλάζει η θερμοκρασία περιβάλλοντος. Ο συγκεκριμένος αισθητήρας έχει τρεις ακίδες - θετικό, γείωση και σήμα. Αυτός ο αισθητήρας είναι γραμμικός αισθητήρας και η μεταβολή της θερμοκρασίας κατά ένα βαθμό Κελσίου ισοδυναμεί με αλλαγή 10 χιλιοστών βολτ στην έξοδο του αισθητήρα.
Διαδικασία:
1) Συνδέστε τον αισθητήρα θερμοκρασίας όπως φαίνεται στην παραπάνω εικόνα. Το μεσαίο καλώδιο θα συνδεθεί στο A0.
2) Συνδέστε τον δεύτερο αισθητήρα θερμοκρασίας με παρόμοιο τρόπο με τον πρώτο και το μεσαίο καλώδιο θα συνδεθεί με το Α1.
Βήμα 3: Piezo Buzzer
Ένας βομβητής Piezo είναι μια συσκευή που χρησιμοποιείται για να ειδοποιεί τον χρήστη όταν το σύστημα εξαερισμού και κλιματισμού θέρμανσης δεν λειτουργεί με αποτελεσματικότητα στην κορυφή. Ο ηχητικός συναγερμός ενημερώνει τον χρήστη ότι είναι ένα πρόβλημα.
Διαδικασία:
1) Συνδέστε το βομβητή στην πλακέτα όπως φαίνεται στο παραπάνω σχήμα.
Βήμα 4: Προσθέστε κουμπιά
- Το κουμπί είναι ένα στοιχείο που συνδέει δύο σημεία σε ένα κύκλωμα όταν το πατάτε.
- Στο προϊόν μας, το κουμπί κάνει κύκλους μεταξύ της εμφάνισης της θερμοκρασίας και της απόδοσης από τα δεδομένα που συλλέγουν οι αισθητήρες θερμοκρασίας.
Διαδικασία
1) Συνδέστε το κουμπί όπως φαίνεται στο παραπάνω σχήμα.
Βήμα 5: Συνδέστε την οθόνη LCD στο ξεχωριστό Breadboard & στο Power
Η οθόνη LCD, υγρών κρυστάλλων, είναι μια απλή οθόνη που μπορεί να πει στον χρήστη πότε κάτι δεν πάει καλά με τα συστήματα θέρμανσης, εξαερισμού και κλιματισμού του σπιτιού του. Πρώην. δεν λειτουργεί αποτελεσματικά, αστοχία συστήματος
Το διάγραμμα που παρέχεται θα σας βοηθήσει να συνδέσετε σωστά την οθόνη στην πλακέτα.
Βήμα 6: Κωδικός
a = arduino («com3», «uno», «βιβλιοθήκες», «ΠαράδειγμαLCD/LCDAddon»); % δημιουργεί ένα αντικείμενο arduino που καθορίζει τη βιβλιοθήκη ExampleLCD/LCDAddon.
lcd = addon (a, 'ΠαράδειγμαLCD/LCDAddon', {'D7', 'D6', 'D5', 'D4', 'D3', 'D2'}); % δημιουργεί το αντικείμενο LCD και καθορίζει τις ακίδες που έχουν διαμορφωθεί στη συσκευή Arduino.
initializeLCD (lcd, 'Rows', 2, 'Columns', 16)? % προετοιμάζει την οθόνη LCD
setpref ("Διαδίκτυο", "SMTP_Server", "smtp.gmail.com");
setpref («Διαδίκτυο», «E_mail», «[email protected]») % λογαριασμός αλληλογραφίας για αποστολή από
setpref ("Διαδίκτυο", "SMTP_Username", "bwnanney"); % όνομα χρήστη αποστολέων
setpref ("Διαδίκτυο", "SMTP_Password", "Morill1204"); % κωδικός πρόσβασης αποστολέων
props = java.lang. System.getProperties;
props.setProperty ('mail.smtp.auth', 'true');
props.setProperty ('mail.smtp.socketFactory.class', 'javax.net.ssl. SSLSocketFactory');
props.setProperty ('mail.smtp.socketFactory.port', '465');
b = readDigitalPin (a, 'D9'); % ανάγνωση ψηφιακής ακίδας (ψηφιακός αισθητήρας)
ανάγνωση = readVoltage (a, 'A0'); % διαβάζει την τάση στο αναλογικό θερμοστάτη συνδεδεμένο στον ακροδέκτη A0
ανάγνωση2 = readVoltage (a, 'A2'); % διαβάζει την τάση στο αναλογικό θερμοστάτη συνδεδεμένο στον ακροδέκτη A2
ενώ το true % περνάει μέσα από την υπάρχουσα δήλωση όσο ισχύει
b = readDigitalPin (a, 'D9'); % διαβάζει ψηφιακή ακίδα (ψηφιακός αισθητήρας)
ανάγνωση = readVoltage (a, 'A0'); % διαβάζει την τάση στο αναλογικό θερμοστάτη συνδεδεμένο με τον ακροδέκτη A0
εάν η ανάγνωση> = 0,6 && η ανάγνωση <0,68 % εκτελεί υπό όρους ένα μόνο σύνολο προτάσεων (ένα μπλοκ).
clearLCD (lcd) % καθαρίζει την οθόνη LCD
printLCD (lcd, 'Temp 64 F'); % Εκτύπωση μιας συμβολοσειράς στην οθόνη LCD.
παύση (0,5) % παύση πριν από την εκτέλεση της επόμενης εντολής
Η ανάγνωση elseif> = 0,68 && ανάγνωση <0,69 % εκτελεί υπό όρους ένα μόνο σύνολο προτάσεων (ένα μπλοκ).
clearLCD (lcd) % καθαρίζει την οθόνη LCD
printLCD (lcd, 'Temp 66 F'); % Εκτύπωση μιας συμβολοσειράς στην οθόνη LCD.
παύση (0,5) % παύση πριν από την εκτέλεση της επόμενης εντολής
Η ανάγνωση elseif> = 0,69 && ανάγνωση <0,7 % εκτελεί υπό όρους ένα μόνο σύνολο προτάσεων (ένα μπλοκ).
clearLCD (lcd) % καθαρίζει την οθόνη LCD
printLCD (lcd, 'Temp 68 F'); % Εκτύπωση μιας συμβολοσειράς στην οθόνη LCD.
παύση (0,5) % παύση πριν από την εκτέλεση της επόμενης εντολής
Η ανάγνωση elseif> = 0,7 && ανάγνωση <0,71 % εκτελεί υπό όρους ένα μόνο σύνολο προτάσεων (ένα μπλοκ).
clearLCD (lcd) % καθαρίζει την οθόνη LCD
printLCD (lcd, 'Temp 70 F'); % Εκτύπωση μιας συμβολοσειράς στην οθόνη LCD.
παύση (0,5) % παύση πριν από την εκτέλεση της επόμενης εντολής
elseif reading> = 0,71 && ανάγνωση <0,72 % εκτελεί υπό όρους ένα μόνο σύνολο προτάσεων (ένα μπλοκ).
clearLCD (lcd) % καθαρίζει την οθόνη LCD
printLCD (lcd, 'Temp 72 F'); % Εκτύπωση μιας συμβολοσειράς στην οθόνη LCD.
παύση (0,5) % παύση πριν από την εκτέλεση της επόμενης εντολής
elseif reading> = 0,72 && ανάγνωση <0,73 % εκτελεί υπό όρους ένα μόνο σύνολο προτάσεων (ένα μπλοκ).
clearLCD (lcd) % καθαρίζει την οθόνη LCD
printLCD (lcd, 'Temp 74 F'); % Εκτύπωση μιας συμβολοσειράς στην οθόνη LCD.
παύση (0,5) % παύση πριν από την εκτέλεση της επόμενης εντολής
Η ανάγνωση elseif> = 0,73 && ανάγνωση <0,74 % εκτελεί υπό όρους ένα μόνο σύνολο προτάσεων (ένα μπλοκ).
clearLCD (lcd) % καθαρίζει την οθόνη LCD
printLCD (lcd, 'Temp 76 F'); % Εκτύπωση μιας συμβολοσειράς στην οθόνη LCD.
παύση (0,5) % παύση πριν από την εκτέλεση της επόμενης εντολής
Η ανάγνωση elseif> = 0,74 && ανάγνωση <0,75 % εκτελεί υπό όρους ένα μόνο σύνολο προτάσεων (ένα μπλοκ).
clearLCD (lcd) % καθαρίζει την οθόνη LCD
printLCD (lcd, 'Temp 78 F'); % Εκτύπωση μιας συμβολοσειράς στην οθόνη LCD.
παύση (0,5) % παύση πριν από την εκτέλεση της επόμενης εντολής
Η ανάγνωση elseif> = 0,75 && ανάγνωση <0,76 % εκτελεί υπό όρους ένα μόνο σύνολο προτάσεων (ένα μπλοκ).
clearLCD (lcd) % καθαρίζει την οθόνη LCD
printLCD (lcd, 'Temp 80 F'); % Εκτύπωση μιας συμβολοσειράς στην οθόνη LCD.
παύση (0,5) % παύση πριν από την εκτέλεση της επόμενης εντολής
Η ανάγνωση elseif> = 0,76 && ανάγνωση <0,77 % εκτελεί υπό όρους ένα μόνο σύνολο προτάσεων (ένα μπλοκ).
clearLCD (lcd) % καθαρίζει την οθόνη LCD
printLCD (lcd, 'Temp 82 F'); % Εκτύπωση μιας συμβολοσειράς στην οθόνη LCD.
παύση (0,5) % παύση πριν από την εκτέλεση της επόμενης εντολής
Η ανάγνωση elseif> = 0,77 && ανάγνωση <0,8 % εκτελεί υπό όρους ένα μόνο σύνολο προτάσεων (ένα μπλοκ).
clearLCD (lcd) % καθαρίζει την οθόνη LCD
printLCD (lcd, 'Temp 84 F'); % Εκτύπωση μιας συμβολοσειράς στην οθόνη LCD.
παύση (0,5) % παύση πριν από την εκτέλεση της επόμενης εντολής
playTone (a, 'D10', 880, 0.25) % παίζει μια νότα (a, pin, συχνότητα, διάρκεια)
παύση (0,3) % παύση μετά τη σημείωση για καθορισμένη διάρκεια
playTone (a, 'D10', 880, 0.25) % παίζει μια νότα (a, pin, συχνότητα, διάρκεια)
παύση (0,3) % παύση μετά τη σημείωση για καθορισμένη διάρκεια
playTone (a, 'D10', 880, 0.25) % παίζει μια νότα (a, pin, συχνότητα, διάρκεια)
παύση (0,3) % παύση μετά τη σημείωση για καθορισμένη διάρκεια
playTone (a, 'D10', 880, 0.25) % παίζει μια νότα (a, pin, συχνότητα, διάρκεια)
παύση (0,3) % παύση μετά τη σημείωση για καθορισμένη διάρκεια
playTone (a, 'D10', 987, 0.25) % παίζει μια νότα (a, pin, συχνότητα, διάρκεια)
παύση (0,3) % παύση μετά τη σημείωση για καθορισμένη διάρκεια
playTone (a, 'D10', 987, 0.25) % παίζει μια νότα (a, pin, συχνότητα, διάρκεια)
παύση (0,3) % παύση μετά τη σημείωση για καθορισμένη διάρκεια
playTone (a, 'D10', 880, 0.12) % παίζει μια νότα (a, pin, συχνότητα, διάρκεια)
παύση (0,1) % παύση μετά τη σημείωση για καθορισμένη διάρκεια
playTone (a, 'D10', 740, 0.12) % παίζει μια νότα (a, pin, συχνότητα, διάρκεια)
παύση (0,1) % παύση μετά τη σημείωση για καθορισμένη διάρκεια
playTone (a, 'D10', 587, 0.25) % παίζει μια νότα (a, pin, συχνότητα, διάρκεια)
παύση (0,3)
sendmail ('[email protected] ',' Μονάδα θέρμανσης και ψύξης που χρειάζεται υπηρεσία !!! ',…
«Το σύστημα θέρμανσης και ψύξης λειτουργεί αναποτελεσματικά. Παρακαλείστε να επισκευάσετε έναν τεχνικό στη μονάδα το συντομότερο δυνατό. ') % Στέλνει ένα email στον καθορισμένο λογαριασμό email
Η ανάγνωση elseif> = 0,8 && ανάγνωση <0,85 % εκτελεί υπό όρους ένα μόνο σύνολο προτάσεων (ένα μπλοκ).
clearLCD (lcd) % καθαρίζει την οθόνη LCD
printLCD (lcd, 'Temp 86 F'); % Εκτύπωση μιας συμβολοσειράς στην οθόνη LCD.
παύση (0,5) % παύση πριν από την εκτέλεση της επόμενης εντολής
Η ανάγνωση elseif> = 0,85 && ανάγνωση <2 % εκτελεί υπό όρους ένα μόνο σύνολο προτάσεων (ένα μπλοκ).
clearLCD (lcd) % καθαρίζει την οθόνη LCD
printLCD (lcd, 'HOT HOT BABY !!!'); % Εκτύπωση μιας συμβολοσειράς στην οθόνη LCD.
παύση (0,5) % παύση πριν από την εκτέλεση της επόμενης εντολής
τέλος % λήγει εάν η δήλωση
ενώ b == 0 % περνάει μέσα από την υπάρχουσα πρόταση εφόσον είναι false
b = readDigitalPin (a, 'D9'); % διαβάζει ψηφιακή ακίδα (ψηφιακός αισθητήρας)
ανάγνωση2 = readVoltage (a, 'A2'); % διαβάζει την τάση στο αναλογικό θερμοστάτη συνδεδεμένο στον ακροδέκτη A2
αν η ανάγνωση2> = 0,6 && ανάγνωση2 <0,68 % εκτελεί υπό όρους ένα μόνο σύνολο προτάσεων (ένα μπλοκ).
clearLCD (lcd) % καθαρίζει την οθόνη LCD
printLCD (lcd, 'Efficiency 80%'); % Εκτύπωση μιας συμβολοσειράς στην οθόνη LCD.
παύση (0,5) % παύση πριν από την εκτέλεση της επόμενης εντολής
elseif reading2> = 0,68 && ανάγνωση2 <0,69 % εκτελεί υπό όρους ένα μόνο σύνολο προτάσεων (ένα μπλοκ).
clearLCD (lcd) % καθαρίζει την οθόνη LCD
printLCD (lcd, 'Efficiency 90%'); % Εκτύπωση μιας συμβολοσειράς στην οθόνη LCD.
παύση (0,5) % παύση πριν από την εκτέλεση της επόμενης εντολής
elseif reading2> = 0.69 && ανάγνωση2 <0.7 % εκτελεί υπό όρους ένα μόνο σύνολο προτάσεων (ένα μπλοκ).
clearLCD (lcd) % καθαρίζει την οθόνη LCD
printLCD (lcd, 'Efficiency 95%'); % Εκτύπωση μιας συμβολοσειράς στην οθόνη LCD.
παύση (0,5) % παύση πριν από την εκτέλεση της επόμενης εντολής
elseif reading2> = 0,7 && ανάγνωση2 <0,71 % εκτελεί υπό όρους ένα μόνο σύνολο προτάσεων (ένα μπλοκ).
clearLCD (lcd) % καθαρίζει την οθόνη LCD
printLCD (lcd, 'Efficiency 97%'); % Εκτύπωση μιας συμβολοσειράς στην οθόνη LCD.
παύση (0,5) % παύση πριν από την εκτέλεση της επόμενης εντολής
elseif reading2> = 0.71 && ανάγνωση2 <0.72 % εκτελεί υπό όρους ένα μόνο σύνολο προτάσεων (ένα μπλοκ).
clearLCD (lcd) % καθαρίζει την οθόνη LCD
printLCD (lcd, 'Efficiency 100%'); % Εκτύπωση μιας συμβολοσειράς στην οθόνη LCD.
παύση (0,5) % παύση πριν από την εκτέλεση της επόμενης εντολής
elseif reading2> = 0.72 && ανάγνωση2 <0.73 % εκτελεί υπό όρους ένα μόνο σύνολο προτάσεων (ένα μπλοκ).
clearLCD (lcd) % καθαρίζει την οθόνη LCD
printLCD (lcd, 'Efficiency 95%'); % Εκτύπωση μιας συμβολοσειράς στην οθόνη LCD.
παύση (0,5) % παύση πριν από την εκτέλεση της επόμενης εντολής
elseif reading2> = 0.73 && ανάγνωση2 <0.74 % εκτελεί υπό όρους ένα μόνο σύνολο προτάσεων (ένα μπλοκ).
clearLCD (lcd) % καθαρίζει την οθόνη LCD
printLCD (lcd, 'Efficiency 90%'); % Εκτύπωση μιας συμβολοσειράς στην οθόνη LCD.
παύση (0,5) % παύση πριν από την εκτέλεση της επόμενης εντολής
elseif reading2> = 0.74 && ανάγνωση2 <0.75 % εκτελεί υπό όρους ένα μόνο σύνολο προτάσεων (ένα μπλοκ).
clearLCD (lcd) % καθαρίζει την οθόνη LCD
printLCD (LCD, "Αποδοτικότητα 85%"); % Εκτύπωση μιας συμβολοσειράς στην οθόνη LCD.
παύση (0,5) % παύση πριν από την εκτέλεση της επόμενης εντολής
elseif reading2> = 0,75 && ανάγνωση2 <0,76 % εκτελεί υπό όρους ένα μόνο σύνολο προτάσεων (ένα μπλοκ).
clearLCD (lcd) % καθαρίζει την οθόνη LCD
printLCD (LCD, "Αποδοτικότητα 80%"); % Εκτύπωση μιας συμβολοσειράς στην οθόνη LCD.
παύση (0,5) % παύση πριν από την εκτέλεση της επόμενης εντολής
elseif reading2> = 0.76 && ανάγνωση2 <0.77 % εκτελεί υπό όρους ένα μόνο σύνολο προτάσεων (ένα μπλοκ).
clearLCD (lcd) % καθαρίζει την οθόνη LCD
printLCD (lcd, 'Efficiency 75%'); % Εκτύπωση μιας συμβολοσειράς στην οθόνη LCD.
παύση (0,5) % παύση πριν από την εκτέλεση της επόμενης εντολής
elseif reading2> = 0,77 && ανάγνωση2 <0,8 % εκτελεί υπό όρους ένα μόνο σύνολο προτάσεων (ένα μπλοκ).
clearLCD (lcd) % καθαρίζει την οθόνη LCD
printLCD (LCD, "Αποδοτικότητα 70%"); % Εκτύπωση μιας συμβολοσειράς στην οθόνη LCD.
παύση (0,5) % παύση πριν από την εκτέλεση της επόμενης εντολής
elseif reading2> = 0,8 && ανάγνωση2 <0,85 % εκτελεί υπό όρους ένα μόνο σύνολο προτάσεων (ένα μπλοκ).
clearLCD (lcd) % καθαρίζει την οθόνη LCD
printLCD (lcd, 'Efficiency 65%'); % Εκτύπωση μιας συμβολοσειράς στην οθόνη LCD.
παύση (0,5) % παύση πριν από την εκτέλεση της επόμενης εντολής
elseif reading2> = 0.85 && ανάγνωση2 <2 % εκτελεί υπό όρους ένα μόνο σύνολο προτάσεων (ένα μπλοκ).
clearLCD (lcd) % καθαρίζει την οθόνη LCD
printLCD (lcd, 'ON FIRE !!!'); % Εκτύπωση μιας συμβολοσειράς στην οθόνη LCD.
παύση (0,5) % παύση πριν από την εκτέλεση της επόμενης εντολής
τέλος % τέλος αν δήλωση
τέλος % τέλος ενώ βρόχος
τέλος % τέλος ενώ βρόχος
Βήμα 7: Διάγραμμα
Αυτή είναι μια βασική αναπαράσταση του πού θα τοποθετούνταν οι αισθητήρες θερμοκρασίας στις γραμμές εκκένωσης και ατμού για να παρακολουθεί τη θερμοκρασία κάθε γραμμής και τη διαφορά μεταξύ τους.
Συνιστάται:
Smart Home by Raspberry Pi: 5 βήματα (με εικόνες)
Smart Home by Raspberry Pi: Υπάρχουν ήδη αρκετά προϊόντα εκεί έξω που κάνουν το διαμέρισμά σας πιο έξυπνο, αλλά τα περισσότερα από αυτά είναι ιδιόκτητες λύσεις. Γιατί όμως χρειάζεστε σύνδεση στο διαδίκτυο για να αλλάξετε φως με το smartphone σας; Αυτός ήταν ένας λόγος για μένα να φτιάξω το δικό μου Smar
Nexus 7 Smart Case W/ Sugru & Magnet: 5 Βήματα
Nexus 7 Smart Case W/ Sugru & Magnet: Λίγο αφότου οι άνθρωποι πήραν τα χέρια τους στο Nexus 7, κάποιος διαπίστωσε ότι ανταποκρίθηκε σε έναν μαγνήτη τοποθετημένο σε μια συγκεκριμένη περιοχή, όπως οι έξυπνες θήκες του iPad. Καμία από τις περιπτώσεις που είδα δεν είχε κάτι τέτοιο, ούτε μπόρεσα να βρω κάποια που να ανοίγει από πάνω ως
Πρωτότυπο Smart Motorcycle HUD (περιήγηση σε στροφή και πολλά άλλα): 9 βήματα
Smart Motorcycle HUD Prototype (turn-by-turn Navigation and So much More): Γεια! Αυτό το Instructables είναι η ιστορία του πώς σχεδίασα και κατασκεύασα μια πλατφόρμα HUD (Heads-Up Display) σχεδιασμένη για τοποθέτηση σε κράνη μοτοσικλέτας. Γράφτηκε στο πλαίσιο του διαγωνισμού «χάρτες». Δυστυχώς, δεν μπόρεσα να τελειώσω τελείως
Smart Desk LED Light - Έξυπνος φωτισμός W/ Arduino - Χώρος εργασίας Neopixels: 10 βήματα (με εικόνες)
Smart Desk LED Light | Έξυπνος φωτισμός W/ Arduino | Neopixels Workspace: Τώρα μια μέρα περνάμε πολύ χρόνο στο σπίτι, μελετάμε και δουλεύουμε εικονικά, οπότε γιατί να μην κάνουμε τον χώρο εργασίας μας μεγαλύτερο με ένα προσαρμοσμένο και έξυπνο σύστημα φωτισμού Arduino και Ws2812b LEDs. Εδώ σας δείχνω πώς να φτιάξετε το Smart σας Φωτιστικό γραφείου LED που
Hardware and Software Hack Smart Devices, Tuya and Broadlink LEDbulb, Sonoff, BSD33 Smart Plug: 7 Βήματα
Hardware and Software Hack Smart Devices, Tuya and Broadlink LEDbulb, Sonoff, BSD33 Smart Plug: Σε αυτό το Instructable σας δείχνω πώς έλαμψα αρκετές έξυπνες συσκευές με το δικό μου υλικολογισμικό, ώστε να μπορώ να τις ελέγχω με MQTT μέσω της ρύθμισης Openhab. Θα προσθέσω νέες συσκευές όταν τις χάκαρα. Φυσικά υπάρχουν και άλλες μέθοδοι που βασίζονται σε λογισμικό για να αναβοσβήνει η προσαρμοσμένη