FORUM D’ENTRAIDE INFORMATIQUE (FEI)
Site d’assistance et de sécurité informatique

Entraide pour le programmation en général (tous langages).
Règles du forum : Entraide concernant la programmation informatique en général, tous langages : recherche ou correction d'un code ou d'une fonction, aide à la réalisation d'un projet...
Pour la programmation web (HTML, CSS, PHP, MySQL...), il est conseillé de s'orienter dans le forum Webmastering.
Merci de lire et de respecter la charte générale du forum.
  • Avatar du membre
Avatar du membre
par misterthymio
#184055
Bonjour, je souhaiterai que l'on m'aide au sujet de la programmation d'un code barre avec exécution d'une tâche( après la lecture du code barre .
J'aimerai ajouter ce dessin (voici le code ci dessous) suivant si cb[2]=32 par exemple ;
var itera = 0
var speed = 256
timer.period[0] = 1000 # 1000ms = 1s

onevent timer0
itera = itera + 1
if itera==1 then
motor.left.target = speed
motor.right.target = speed
end
if itera==4 then
motor.left.target = -speed
motor.right.target = -speed
end
if itera==6 then
motor.left.target = -40
motor.right.target = 40
speed = speed - (speed / 10)
end
if itera==7 then
itera = 0
end

voici mon programme( aseba) :
<!--list of constants-->
<constant value="100" name="BLANC"/>


<!--show keywords state-->
<keywords flag="true"/>


<!--node thymio-II-->
<node nodeId="1" name="thymio-II">
var cb[8]
var noir
var duree
var n
var min
var max
var moy

call sound.system(-1)

timer.period[0]=20

onevent buttons
when button.forward==1 do
motor.left.target=60
motor.right.target=60
end
when button.center==1 do
motor.left.target=0
motor.right.target=0
end

onevent timer0

if prox.ground.reflected[0]<100 then #Capteur de sol
# Il y a une bande noire
call leds.top(0,0,0) # on allume pas
noir=1
# On incrémente (ajout) la duree sur la bande
duree++
end
if prox.ground.reflected[0]>BLANC then
# On n'est pas sur une bande noire
call leds.top(20,32,20) #on allume en blanc
# Fin du code-barres ?
#Arrêt du minuteur et des moteurs
if n==8 then
timer.period[0]=0
motor.right.target=0
motor.left.target=0
callsub affiche
# Sinon on m^émorise la duree sur la bande
elseif noir==1 then
cb[n]=duree
duree=0
n++#signifie incrémenter( ajouter à variable)
end
noir=85
end

sub affiche #sous-routine
# On cherche la plus petite et la plus grande duree
call math.stat(cb, min, max, moy)
# moy sera la moyenne du min et du max
moy=(min+max)/2
# Si la duree est inférieur à la moyenne on éteindra le led
for n in 0:7 do
if cb[n]<=moy then
cb[n]=1
else
cb[n]=32
end
end
call leds.circle(cb[7],cb[6],cb[5],cb[4],cb[3],cb[2],cb[1],cb[0])
Présentation

Hello, Bienvenue sur FEI :) @+ Gabriel.

Bonjour :bonjour: Merci de m'accueillir sur votr[…]

Bonjour à tous, D'abord, désol&eacut[…]

Salutations, chers amis, Les joueurs peuvent profi[…]