Oggi è un argomento molto serio: la forma fisica del nostro cane Yoshi.
Da quando siamo nel nostro negozio Una delizia per YoshiL'assunzione di calorie di Yoshi è aumentata sproporzionatamente.
In realtà, stavamo per costruire un donatore automatizzato della gastronomia per Yoshi, che distribuisce automaticamente i dolcetti donati, ma sarebbe irresponsabile se non provvedessimo alla forma fisica del cane.
Ecco perché dobbiamo pensare ad un programma sportivo per Yoshi, e questa è l'idea con YoshiTrainer 2000!
Benefici:
- Ho tutti i componenti necessari sulla mia scrivania.
- Programmazione è relativamente semplice perché ignoriamo completamente il mio ultimo blog post su numeri casuali, e usiamo casuali()
- Il dispositivo è compatibile con Y2K
Abbiamo bisogno per il progetto:
1x AZ-Delivery Microcontroller, compatibile con Arduino Uno R3
2x Servo Motor, ad es.AZ-Delivery Servo M996R
1x Diode laser
1x 5V Alimentazione con potenza sufficiente per servos, laser & Uno
Oltre ad alcuni rotoli di nastro isolante VDE e nastro adesivo a doppio taglio.
Avviso laser:
Il diodo laser utilizzato è un laser di classe 1.Secondo DIN EN 60825-1, questo significa: "La radiazione laser accessibile è innocua, o il laser è in un alloggiamento chiuso".
Tuttavia, raccomando l'uso di occhialini.I laser richiedono inoltre un raffreddamento sufficiente durante l’uso continuo.
Ho solo un servizio MG 96R, quindi ho preso il nostro SG90 per l'asse Y.Questo è molto più piccolo, ha ingranaggi di plastica e ha molto meno potenza.
Si collega tutto in questo modo:
5V 10A Alimentazione elettrica |
Bordo |
+ |
+ |
- |
- |
Microcontrolli compatibili con Arduino Uno o R3 |
Bordo |
Vino |
+ |
RNL |
RNL |
Microcontrolli compatibili con Arduino Uno o R3 |
|
PWM 9 |
Servo 1 Orange |
PWM 10 |
Servo 2 Orange |
PWM 3 |
Laser S |
Servo 1 e 2 rosso |
Panetta + |
Servo 1 e 2 marrone |
Bordo |
Laser |
Bordo |
Ecco una foto su cui potete vedere il cablaggio:
Alternativamente qui lo stesso di centralino:
Ora manca la programmazione.
Uso il servizio fornito con l'IDE.h
Con "Servo servoX;" e "Servo servoY;" creo due servoos con i nomi ServoX e servoY.
Nel setup io quindi definire quale perno è collegato la linea di controllo del servous, nel nostro caso, ad esempio "servioX.allegax(9);" per servoX.
Ora possiamo usare le funzioni servoX.read() e servoX.write() per leggere o impostare la posizione del servo.
Per dare a Yoshi la possibilità di arrivare al punto, l'ho impacchettata in un ciclo temporale, con pochi ritardi.Utilizzando la variabile "spd" la velocità può essere approssimativamente incasinata.
Per il laser utilizziamo prima il perno come output con "PinMode(laser Pin, OUTPUT)" e poi lo accendiamo con "analogicWrite(laser Pin, 40);".
Ecco il codice sorgente completo:
«35; comprende <Serva.h> Serva SeroX; Serva servoName; u t Leency = casuale(0,180); // Posizione del bersaglio Servo X u t cPosX = SeroX.leggere(); // Posizione attuale Servo X u t tPOSS = casuale(0,180); /Posizione di destinazione Servo Y u t SoUrcerer = servoName.leggere(); /Posizione di destinazione Servo Y u t spd = 1; // Velocità int LaserPine = 3; // PWM pin per diode laser vuoto setComment() { Metti qui il tuo codice di configurazione, per eseguire una volta: SeroX.allegare(9); Servo X a Pin 9 servoName.allegare(10); Servo Y a Pin 10 pinMode(LaserPine, PRODUZIONE); analogico(LaserPine, 40); Nota luminosità laser: sviluppo del calore! } vuoto Esecuzione() { Leency = casuale(45,135); // questo consente di regolare la gamma tra 0 e 180 cPosX = SeroX.leggere(); // Leggi la posizione corrente tPOSS = casuale(120,170); SoUrcerer = servoName.leggere(); mentre (Leency > cPosX){ cPosX += spd; SeroX.scrivi(cPosX); ritardo(50); cPosX = SeroX.leggere(); } mentre (Leency < cPosX){ cPosX -= spd; SeroX.scrivi(cPosX); ritardo(50); cPosX = SeroX.leggere(); } mentre (tPOSS < SoUrcerer){ SoUrcerer -= spd; servoName.scrivi(SoUrcerer); ritardo(50); cPosX = servoName.leggere(); } mentre (tPOSS > SoUrcerer){ SoUrcerer += spd; servoName.scrivi(SoUrcerer); ritardo(50); cPosX = servoName.leggere(); } ritardo(500); Così Yoshi non si stanca }
E abbiamo un parziale successo.Un punto laser che e'piu' o meno casuale che attraversa la zona.
Come, o almeno altrettanto simili, i primi programmi laser devono aver visto in quel momento.
Speriamo vi sia piaciuto il post sul blog di oggi.Scrivi un breve commento sul fatto che desideri contributi più fattuali o se ti è piaciuto il contributo di oggi.