Table des matières:
Vidéo: Mini suiveur de lumière alimenté ATTiny-RAT, ATTINY : 3 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:08
Salut les gens, ça fait un moment que j'ai posté mon dernier instructable. Eh bien, il y a beaucoup de choses qui se passent dans ma tête en ce moment, mais j'ai réussi à documenter mes « premiers pas » avec la série de puces ATTiny dans ce court instructable pour vous.
J'ai commandé des échantillons d'ATTINY85 juste parce que je voulais les tester:-) (tout le monde aime tester des choses, non?). Après cela, j'ai commencé à dessiner quelques idées dans mon cahier. Pour être honnête, la première chose que j'ai faite a été de faire clignoter une LED qui est comme toujours un bon début pour vérifier si votre configuration/chaîne d'outils fonctionne. J'ai également essayé un enregistreur de température et d'humidité avec DHT22 et SoftwareSerial. C'était délicat car les bibliothèques DHT sont principalement destinées à une horloge à 16 MHz (si vous envisagez de faire quelque chose comme ça, vérifiez comment pré-échelonner l'horloge interne). Mais j'ai décidé de vous montrer quelque chose de plus drôle. BTW: j'ai téléchargé un de mes dessins pour vous, ce n'est pas un Rembrandt mais il vous montrera comment j'ai mis cette idée (vraiment) stupide sur un morceau de papier: -P.
Je n'ai utilisé que des choses que j'avais qui traînaient pour garder ce projet le moins cher possible (pour moi). Le résultat de cette petite aventure est un joli petit "robot suiveur de lumière" pour environ 10-15$ (3$ pour moi:-P)
Donc, si vous êtes intéressé par ATTINY vous-même, lisez la suite.
BTW: désolé pour mon mauvais anglais (je ne suis pas un locuteur natif)
Étape 1: Premiers pas avec ATTiny & Tools & Materials
Ce dont vous aurez besoin pour commencer:
- une puce ATTiny85
- un Arduino UNO ou similaire
- une planche à pain avec un fil de liaison ou un programmeur ATTINY ou créez vous-même un bouclier de programmeur pour Arduino (vérifiez les images ci-jointes, il y a un schéma de avdweb.nl). J'ai aussi fait celui-ci et j'en suis vraiment content. La seule modification que j'ai faite était que j'ai ajouté une prise pour la série ATTinyx4 (voir l'image et les schémas de brochage).
- l'IDE Arduino (obtenez-le ici)
- les fichiers matériels pour l'ArduinoIDE (téléchargez-les et installez-les)
Info-Lien vers le Playground Direct Lien vers les fichiers github que j'ai utilisés
- chargez l'Arduino en tant qu'esquisse ISP sur l'UNO (ce sera votre programmeur)
- suivez cette instruction (https://highlowtech.org/) ou cette instructable (par ardutronix) et essayez le croquis "clignotement" (modifiez le PIN Nr. utilisez l'image ATTINY comme référence ! vous aurez besoin du ATTINY pré-éclairé une LED et une résistance ~ 220Ohm pour cela)
Faites une petite configuration de planche à pain pour tout vérifier. Si vous avez tout fait correctement, la LED clignotera et vous êtes prêt à partir
OUTILS
- Fer à souder- de la soudure- un petit coupe-fil- un dremel ou un autre outil rotatif (juste pour couper le PCB!)- de la colle chaude- une pince à épiler- des fils
MATÉRIAUX
- PCB de prototypage (~4cmx6cm le fera)- 2x LDR- 5x Résistance 10k (2x pour les LDR et 2x pour les transistors BE, 1x LED) - 1x Résistance 330Ohm (1x NEOPIXELS)- 2x LDR- 1x LED (couleur de votre au choix, à la place de la roulette)- 3x NEOPIXEL WS2812- 2x Transistor (BD137 ou similaire)- 2x Diode (1N4001 ou similaire)- 2x micromoteur (par exemple d'un micro-quadcopter Hubsan)- 1x ATTINY85 + en option (recommandé) 8PIN IC Socket- 1x 1s LIPO (j'ai utilisé un 140Ah d'un vieil hélicoptère RC)- quelques pinheads/socks- gaine thermorétractable (boîtier LDR)
Procédons en construisant le matériel…
Étape 2: Matériel
Si vous regardez les schémas que j'ai joints, la configuration matérielle est assez simple. Donc, si vous êtes capable de lire des schémas et d'utiliser un fer à souder, c'est la moitié de l'astuce. Jetez également un œil aux photos, j'ai ajouté quelques notes pour vous.
Je ne fournis pas de plan pour couper le PCB, vous avez la liberté de faire votre propre design (soyez créatif et montrez-nous vos Tiny Bots). Le placement de tous les composants électroniques dépend également de vous. Quelques conseils de mon côté:
Essayez d'aligner les moteurs avec précision (attention à l'angle !) nous n'utilisons que l'arbre moteur au lieu des roues. (cela consommera moins d'énergie) Je recommande de placer les moteurs sous la batterie (poids) et d'utiliser les LDR à l'avant (angle 45 °) couplés à une LED (j'essaie d'utiliser cette combinaison pour éviter les obstacles, plus loin des tests sont nécessaires).
De plus, je recommande de faire un petit cavalier marche/arrêt pour que la batterie ne se perde pas aussi facilement.
Si quelque chose n'est pas clair ou si vous avez des questions, n'hésitez pas à me les poser. Cela ne fera pas grand-chose de faire une thèse de ce petit projet.
Étape 3: Logiciel
Tout d'abord téléchargez et installez ADAFRUIT Neopixel Library
Voici mon code avec quelques descriptions majeures (j'ai également ajouté le fichier de croquis). Je n'ai pas commenté chaque étape car je pense que ce n'est pas nécessaire.
Téléchargez le croquis sur votre ATTiny85 et amusez-vous avec votre nouveau jouet
Idées de fonction "personnalité" + peut-être que des exemples de code sont les bienvenus:-)
S'il y a des questions, n'hésitez pas.
J'espère que vous avez apprécié mon court instructable et le petit voyage dans le monde des ATTINY.
/* ATTINY85-Rata simple robot suiveur de lumière alimenté par ATTINY85. Version 2.0, par Auer Markus */
#comprendre
#comprendre
//moteurs
#define LMOTOR 0 #define RMOTOR 1 //LEDs #define PIXELPIN 2 #define NUMPIXEL 3 //LDRs #define LLDR A2 #define RLDR A3
//autreint emo = 0; flotteur calibre; emostate booléen; vieux millis longs; //définir NeopixelsAdafruit_NeoPixel PIXEL = Adafruit_NeoPixel(NUMPIXEL, PIXELPIN, NEO_GRB + NEO_KHZ800);
void setup()
{ // horloge haut de gamme sinon vous rencontrerez des problèmes de synchronisation (la bibliothèque neopixel est écrite pour 16 MHz) #if défini (_AVR_ATtiny85_) if (F_CPU == 16000000) clock_prescale_set(clock_div_1); #fin si
//PINMODE pinMode(LMOTOR, OUTPUT); pinMode(RMOTOR, SORTIE); pinMode(LLDR, INPUT); pinMode(LLDR, INPUT); //initialise les pixels PIXEL.begin(); PIXEL.show(); retard (500); //startsequence for(int i=0;i
boucle vide()
{ if(lightfollow() == 1) { left(); } else if(lightfollow() == 2) { right(); } else if(lightfollow() == 0) { forward(); } émotion(); }
int suivi de lumière() {
seuil int = 14; résultat int = 0; flotteur à gauche = 0; flotter à droite = 0; échantillons entiers = 1; //lire les LDR pour (int j = 0; j<samples; j++){
gauche = gauche + analogRead(LLDR); droite = droite + (analogRead(RLDR)*calib);
}
//calculer le résultat (de quelle direction vient la lumière ?)
if((gauche/échantillons) > ((droit/échantillons)+seuil)) {résultat = 2;}
else if((gauche/échantillons) < ((droit/échantillons)-treshold)) {résultat = 1;}
else {résultat = 0;}
renvoyer le résultat; } void forward() { //Forward analogWrite(LMOTOR, 230); analogWrite(RMOTOR, 230); PIXEL.setPixelColor(0, PIXEL. Color(0, 0, 255)); PIXEL.setPixelColor(2, PIXEL. Color(0, 0, 255)); PIXEL.show(); }
vide à gauche () {
//LEFT analogWrite(LMOTOR, 150); analogWrite(RMOTOR, 255); PIXEL.setPixelColor(0, PIXEL. Color(0, 0, 255)); //PIXEL.setPixelColor(1, PIXEL. Color(75, 0, 0)); PIXEL.setPixelColor(2, PIXEL. Color(0, 100, 0)); PIXEL.show(); }
annuler à droite () {
//RIGHT analogWrite(LMOTOR, 255); analogWrite(RMOTOR, 150); PIXEL.setPixelColor(0, PIXEL. Color(0, 100, 0)); PIXEL.setPixelColor(2, PIXEL. Color(0, 0, 255)); PIXEL.show(); }
// c'est pour d'autres expériences, en essayant de donner un peu de personnalité à celui-ci:-) je teste ce qui pourrait être capable de faire, mais pas encore de bonnes idées.
void emotion() { int emotimer = 2500; durée int = aléatoire (250, 750); if (millis() - oldmillis > emotimer) { oldmillis = millis(); emo = aléatoire (1, 4); } if (millis() - oldmillis > durée) { emostate = !emostate; } if (emostate == true) { switch (emo) { case 1: PIXEL.setPixelColor(1, PIXEL. Color((255), (255), (255))); PIXEL.show(); Pause; cas 2: PIXEL.setPixelColor(1, PIXEL. Color((255), (0), (0))); PIXEL.show(); Pause; cas 3: PIXEL.setPixelColor(1, PIXEL. Color((0), (255), (0))); PIXEL.show(); Pause; par défaut: PIXEL.setPixelColor(1, PIXEL. Color(random(0, 255), random(0, 255), random(0, 255))); PIXEL.show(); Pause; } } else { PIXEL.setPixelColor(1, PIXEL. Color (25, 0, 0)); PIXEL.show(); } }
Conseillé:
Robot suiveur de lumière : 8 étapes
Robot suiveur de lumière : ce suiveur de lumière est le premier d'une série de robots en cinq parties. je vais commencer par simple à moins compliqué. vous pouvez regarder faire une vidéo sur ma chaîne CLIQUEZ ICI. et vous pouvez directement vous abonner à ma chaîne ICI
Boîte à lumière mystère (lumière de nuit): 4 étapes
Mystery Light Box (Night Light): Et c'est un petit projet amusant qui est facile à réaliser, ce projet est une référence de https://www.instructables.com/id/Arduino-Traffic-L…, mais j'ai déjà beaucoup changé la structure du site d'origine, j'ajoute plus de led et j'utilise la boîte à chaussures pour l'emballer, s
Lumière solaire sans batterie, ou lumière du jour solaire Pourquoi pas ? : 3 étapes
Lumière solaire sans batterie, ou lumière du jour solaire… Pourquoi pas ? : Bienvenue. Désolé pour mon anglaisDaylight? Solaire? Pourquoi? J'ai une pièce légèrement sombre pendant la journée et je dois allumer les lumières lors de l'utilisation.Installer la lumière du soleil pour le jour et la nuit (1 pièce) : (au Chili)-Panneau solaire 20w : 42 $ US-Batterie : 15 $US-Solaire contrôle de charge
Puits de lumière à DEL alimenté à l'énergie solaire - Rénovation : 4 étapes
Puits de lumière à LED alimenté à l'énergie solaire - Rénovation : j'avais un vieux puits de lumière assis dans mon plafond dans l'obscurité. C'était le résultat d'une réparation du toit. Le puits de lumière dans la section du toit a dû être retiré en raison de fuites, et cela fait quelques années maintenant. En parlant aux gens de la réinstallation d'un nouveau puits de lumière, je
Robot suiveur de lumière EBot : 5 étapes (avec photos)
Robot suiveur de lumière EBot : Le robot suiveur de lumière est composé de composants simples et peut avoir un impact important sur les endroits très sombres. Voyons comment le faire maintenant