Taula de continguts:
Vídeo: EF 230: Home System 3000 Instructible: 4 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:12
Home System 3000 és un dispositiu que utilitza un Arduino, un sensor de temperatura, un brunzidor piezoelèctric, un detector òptic / fototransistor i un servo per mostrar maneres de millorar l'eficiència energètica de la llar.
Pas 1: sensor de temperatura
· Executeu els cables d’alimentació i de terra
el microcontrolador al costat de la placa de pa
· Col·loqueu el sensor de temperatura a la placa de pa i feu servir els cables d’alimentació i de terra corresponents
· Tingueu en compte que el sensor de temperatura té tres puntes i la punta central té un cable que surt del port "A0".
· Codi del sensor de temperatura:
answer = questdlg ("Si us plau, executeu el codi d'inici d'arduino i servo", "resposta", "D'acord", "D'acord")
prompt = 'Premeu qualsevol tecla per començar'
pausa
prompt1 = "Estableix la temperatura mínima"
x = entrada (indicador1)
prompt2 = "Estableix la temperatura màxima"
y = entrada (indicador2)
prompt3 = 'premeu qualsevol tecla per començar'
pausa
figura
h = línia animada;
ax = gca;
ax. YGrid = 'activat';
ax. YLim = [65 85];
stop = fals;
startTime = datetime ('ara');
mentre ~ parar
% Llegir el valor de la tensió actual
v = readVoltage (a, 'A0');
% Calculeu la temperatura a partir del voltatge (basat en el full de dades)
TempC = (v - 0,5) * 100;
TempF = 9/5 * TempC + 32;
% Obteniu l'hora actual
t = data i hora ('ara') - hora d'inici;
% Afegeix punts a l'animació
punts additius (h, datenum (t), TempF)
% Actualitza eixos
ax. XLim = datenum ([t-segons (15) t]);
dataetick ('x', 'keeplimits')
dibuix
% Comproveu l'estat de parada
stop = readDigitalPin (a, 'D12');
Pas 2: timbre
· Cable del brunzidor que s’utilitzarà per indicar una lectura de temperatura extrema alta o baixa
· No es passa cap cable de la columna positiva al costat positiu del brunzidor
· En lloc d'això, s'executa un cable des del costat positiu del brunzidor fins a un port amb l'etiqueta "11"
S’utilitzarà més endavant per trucar a la ubicació del brunzidor al codi escrit.
· Codi del brunzidor:
si TempF> = y
disp ("tanca la porta, fa calor")
playTone (a, "D11", 500, 1)
elseif TempF <= x
disp ("tanca la porta, fa fred")
playTone (a, "D11", 250, 1)
final
final
Pas 3: Detector òptic / fototransistor
· Aquest sensor requereix resistències a diferència dels altres
· Assegureu-vos que les quatre puntes del sensor estan incloses al bucle després d’endollar els cables
· El sensor detecta un canvi de llum, que representa el moviment, i el registra com a entrada
· Codi per al detector òptic / fototransistor:
netejar a
a = arduino ('/ dev / tty.usbserial-DN01DVI2', 'Uno', 'Biblioteques', 'Servo');
prompt = 'Estableix el llindar del nivell de llum'
z = entrada (sol·licitud)
lightLevel = 0
mentre que lightLevel ~ = -1
lightLevel = readVoltage (a, 'A1')
si lightLevel> = z
answer = questdlg ("voldria modificar AC?", "Sí", "No")
canvia de resposta
cas "Sí"
answer2 = questdlg ("Voleu pujar o baixar la CA?", "resposta", "Baixar", "Pujar", "Pujar")
canvia answer2
cas "avall"
s = servo (a, 'D10');
per angle = 0:.1:.5
writePosition (s, angle);
posició_actual = readPosition (s);
posició_actual = posició_actual * 180;
% d'impressió de la posició actual del servomotor
fprintf ('La posició actual és% d / n', posició_actual);
Es requereix un% de retard petit perquè el servo es pugui situar al
% d'angle que s'hi explica.
pausa (2);
final
% torna el motor a la posició d'angle 0
writePosition (s, 0);
clar s
prompt = 'Premeu qualsevol tecla per continuar'
questdlg ('CA desactivat', 'resposta', 'Ok', 'Ok')
cas "Amunt"
s = servo (a, 'D10');
per a angle =.5:.1: 1
writePosition (s, angle);
posició_actual = readPosition (s);
posició_actual = posició_actual * 180;
% d'impressió de la posició actual del servomotor
fprintf ('La posició actual és% d / n', posició_actual);
Es requereix un% de retard petit perquè el servo es pugui situar al
% d'angle que s'hi explica.
pausa (2);
final
Pas 4: Servo
· El servo representa
un aire condicionat, i és una sortida de l'entrada de detecció de moviment
· Requereix un cable positiu, un cable de terra i un cable del port "D9" al servo
· Codi de servo:
% torna el motor a la posició d'angle 0
writePosition (s, 0);
clar s
prompt = 'Premeu qualsevol tecla per continuar'
questdlg ('CA activat', 'resposta', 'Ok', 'Ok')
final
final
pausa
trencar
final
final
* Nota especial: part del codi del servo està integrat amb el codi del detector òptic / fototransistor.
Recomanat:
Cube Sat Instructible: 7 passos
Cube Sat Instructable: de Caden Howard
TAD 130 Instructible: 20 passos
TAD 130 Instructible: Visió general
Mr Birch Bumper Instructible: 9 passos
Mr Birch Bumper Instructible: L'objectiu d'aquest para-xocs és permetre que el BoeBot pugui maniobrar al seu entorn. Quan hi ha alguna cosa que topa a ambdós costats del para-xocs, els palets de Popsicle embolicats amb làmines de llauna es toquen i fan una connexió que indica al robot que s’aturi, invertiu i
Muntatge de PC instructible: 12 passos
Instal·lable per a muntatge de PC: Benvingut a la meva instrucció per a muntatge de PC. A partir d’aquest manual, aprendreu a muntar el vostre propi PC. 1. Llegiu els components que necessiteu. Llegiu la secció de seguretat. (IMPORTANT) 3. He donat informació sobre què és cada component i què fa
Zoetrope fantasma instructible: 11 passos (amb imatges)
Zoetrope fantasma instructible: el robot instructiu, vestit de fantasma, gairebé perd el cap per Halloween. A la vida real, no es veuen les barres negres (són el resultat de filmar una llum estroboscòpica). Agafa un Arduino, un escut del motor, un motor pas a pas bipolar, una corda de llum LED i