Voici mon mini robot tout en SMD (composants de surface)
il est composé d'un ATTiny13 SOIC
2 transistors SMD PNP 600 mA max
1 capteur IR S471F
1 led IR 2mm CQY37N
3 résitances 10K SMD
2 résistances 6,8K SMD
2 condensateurs 100nF SMD
1 condensateur tantale 22ou 47 µF SMD (pour donner un peut de réserve aux moteurs)
2 micro moteurs ( genre moteurs mini hélicoptère)
1 Batterie LiPo ( genre batterie mini hélicoptère)
2 bouchons de médicaments pour les roues
Les schéma et circuit imprimé sont réalisés avec Kicad
Mon lien
Voici des photos du projet:







Voci le code en BASCOM AVR:
' Roule-Robot (Code Name R-R - Nom de Code R-R)
' 8-pins ATTiny13 AVR risk processor soic 5mm packaged !!
' processeur risk ATTiny13 en boitier soic 5mm un must !!
' outputs have a 10K pull up to 5V and are active low
'Programmation des Bytes fusibles: No Memory look, Enable Serial Programming,
'Watchdog Off Divide clock by 8 Off, Int RC Oscillator 4,8 MHz Start-Up14CK+65ms
'BOD disable External Reset Enable
$prog &HFF , &H79 , &HFF , &H00 'fuse bytes.
$regfile = "attiny13.dat"
$hwstack = 16
$swstack = 16
$framesize = 16
'les sortie sont maintenues a 5v par des résistance de 10K et actives à 0V
Dim T As Byte
Dim Nb As Byte
'B0 et B2 do aren't used - B0 et B2 ne sont pas utilisées
Ddrb.0 = 0 'not used
Ddrb.2 = 0 'pas utilisée
'Input - Entrée
Ddrb.1 = 0 'IS471F IR sensor
'outputs - sorties motors control - commande des moteurs
Ddrb.3 = 1 'left motor - gauche
Ddrb.4 = 1 'right motor - droit
'***************** StartUp Démarrage *****************
'stopped for 3 seconds à l'arrêt pendant 3 secondes
Portb.3 = 1
Portb.4 = 1
Wait 3
Do
'PWM to control the motors slowly MLI pour commander les moteurs moins vite
'
Nb = 0
For T = 1 To 80
Portb.3 = 0 'P3 on - marche
Portb.4 = 0 'P4 on - marche
Waitms 3 '3 miliseconds
'To move right must be balanced engines you need to find the value of yours
'Pour avancer droit il faut équilibrer un des moteurs
'vous devez trouver la valeur des votres
Portb.4 = 1 'P4 off - arrêt
Waitus 20 '20µs
Portb.3 = 1
Portb.4 = 1 ' off - arrêt
Waitms 4
'obstacle detection by IR sensor - obstacle détecté par le capteur IR ?
If Pinb.1 = 0 Then Gosub Droite 'first pass premier passage
If Pinb.1 = 0 And Nb = 2 Then Gosub Gauche 'second pass second passage ?
Next T
Wait 1
Loop
End 'Fin End program
'***********************Sous Programmes ************************
'********** obstacle detected - obstacle détecté **********
Droite:
Nb = 2 'for the opposite direction to the second pass
' pour la direction opposée au second passage
For T = 1 To 25 ' no - non
Portb.3 = 0 'we try to right
Waitms 3 'on essaie à droite
Portb.4 = 1
Waitms 2
Next T
Portb.3 = 1
Portb.4 = 1
Wait 1
Return
Gauche:
For T = 1 To 30
Portb.3 = 1 'we ty to left
Waitms 2 'on essaie à gauche
Portb.4 = 0
Waitms 3
Next T
Nb = 0
Portb.3 = 1
Portb.4 = 1
Wait 1
Return
La Batterie LiPo pèse 2 gr et fait 70mA
Je ne suis pas décus, j'avais peur que les micro-moteurs ne soint pas assez puissants mais si " il roule -Roule Robot- !! ".
Bien sur il lui faut un terrain relativement plat mais même sur une toile cirée sans bosse , il bosse.
Le détecteur IR détecte à 5 cm et comme il reste 2 ports libres et de la place dans la mémoire,
on peut ajouter des phares par exemple
Voici une Vidéo

A+ Mic*