Aanvulling:
vertaalde programma's: AnalogReadSerial; BareMinium; Blink; DitalReadSerial; Fade; ReadAlalogVoltage.
ik ga rustig verder, leer er veel van, maar hier komen geen reacties.
de vertalingen omvatten de volgende bestanden: het originele xx.ino bestand; xx.bas en xx.hex
het hex bestand is het eigenlijke programma dat ook door Arduino wordt geupload maar helaas niet laat zien.
hieronder de BAS bestanden, het origineel hebben jullie al, en aan een HEX bestand zie je niet veel.
download het gratis Bascom programma van MCSelec.com en je kan zelf het HEX bestand maken.
=============
'(
AnalogReadSerial
Leest de analoge ingang port A0 (= C.0) en geeft het resultaat op de monitor.
sluit de loper van een potmeter aan op A0 en de overige twee op massa en +5V
')
$regfile = "m328def.dat" ' Atmega-328p
$crystal = 16000000 ' 16 Mhz Kristal
$baud = 9600 'communicatiesnelheid terminal
$hwstack = 32 ' default use 32 for the hardware stack
$swstack = 10 'default use 10 for the SW stack
$framesize = 40 'default use 40 for the frame space
Config Adc = Single , Prescaler = Auto , Reference = Avcc 'A-D convertor inschakelen
Do ' begin van het programma
Print "{012}" 'maak het scherm schoon.
Print "waarde is " ; Getadc(0) 'druk waarde af (op beeldscherm)
Waitms 100 ' wacht 1000 ms
Loop ' einde programma, begin opnieuw
End
========================
'(
BareMinimum
het minimale dat nodig is voor het programmeren.
het eerste gedeelte de instellingen en declaraties
ook subroutines moeten worden gedeclareerd.
Tussen do en loop komt het zich herhalende deel van het programma
')
$regfile = "m328pdef.dat" ' Atmega-328p
$crystal = 16000000 ' 16 Mhz Kristal
$baud = 9600 'communicatiesnelheid terminal
$hwstack = 32 ' default use 32 for the hardware stack
$swstack = 10 'default use 10 for the SW stack
$framesize = 40 'default use 40 for the frame space
' hier de declaraties en instellingen
Do ' begin van het programma
' hier de zich steeds herhalende routines
Loop ' begin opnieuw bij do
End ' einde programma
=======================
'(
Blink
laat onboard ledje knipperen 1 seconde aan, een seconde uit.
dit ledje zit aangesloten op digitale poort B5 bij Arduino bekend als D13
')
$regfile = "m328def.dat" ' Atmega-328
$crystal = 16000000 ' 16 Mhz Kristal
Ddrb.5 = 1 ' maak van poort B5 een uitgang
Do ' begin van het programma
Toggle Portb.5 ' verander poort b5 van waarde is hij hoog, dan wordt hij laag en andersom.
Waitms 1000 ' wacht 1 seconde
Loop ' einde programma, begin opnieuw
End
==========================
'(
DigitalReadSerial
leest de waarde van datapootje D2 en presenteert dit op de monitor.
let op, de interne pull-up weerstand is UITgeschakeld, zelf toevoegen!
schakel naar massa met pull-up weerstandje naar +5V
het knopje moet een naam krijgen: ik noem hem: 'knopje'
')
$regfile = "m328pdef.dat" ' Atmega-328p
$crystal = 16000000 ' 16 Mhz Kristal
$baud = 9600 ' communicatiesnelheid terminal
$hwstack = 32 ' default use 32 for the hardware stack
$swstack = 10 ' default use 10 for the SW stack
$framesize = 40 ' default use 40 for the frame space
Ddrd.2 = 0 ' maakt van poort D pootje 2 een ingang
Knopje Alias Pind.2 ' geeft naam: knopje aan de latch van poort D2
Do
If Knopje = 0 Then ' bij ingedrukt knopje ligt de ingang aan massa potentiaal
Print "knopje ingedrukt"
Else
Print "knopje los" ' bij een losgelaten knopje zorgt de pull-up weerstand voor 5V op de ingang
End If
Loop
End
=========================
'(
DigitalReadSerial-2
Leest De Waarde Van Datapootje D2 En Presenteert dit Op De Monitor.
in dit programma wordt de interne pull-up weerstand ingeschakeld
het on-board LEDje wordt ook aangestuurd.
verder is dit programma gelijk aan het origineel
uitsluitend een knopje is vodoende, schakel D2 naar massa.
het knopje moet een naam krijgen: ik noem hem: 'knopje'
hier is nog geen rekening met debounce gehouden.
')
$regfile = "m328pdef.dat" ' Atmega-328p
$crystal = 16000000 ' 16 Mhz Kristal
$baud = 9600 'communicatiesnelheid terminal
$hwstack = 32 ' default use 32 for the hardware stack
$swstack = 10 'default use 10 for the SW stack
$framesize = 40 'default use 40 for the frame space
Ddrb.5 = 1 'maakt van poort D13 een uitgang (LEDje)
Ddrd.2 = 0 'maakt van poort D2 een ingang
Portd.2 = 1 'schakel voor D2 de pull-up weerstand in
Knopje Alias Pind.2 ' geeft naam: knopje aan de latch van poort D2
Do
Print "{012}" ' scherm schoonmaken
If Knopje = 0 Then ' bij ingedrukt knopje ligt de ingang aan massa potentiaal
Print "knopje ingedrukt"
Set Portb.5 ' ledje aan
Else
Print "knopje los" ' bij een losgelaten knopje zorgt de pull-up weerstand voor 5V op de ingang
Reset Portb.5 ' ledje uit
End If
Waitms 100 ' voor wat rust in de tent
Loop
End
================================
' Fade
' het faden van een led op pootje D9 met PWM
' fade van helder naar 0 in stapjes van 5 met pauzes van 30 ms
$regfile = "m328pdef.dat" ' Atmega-328p
$crystal = 16000000 ' 16 Mhz Kristal
$baud = 9600 ' communicatiesnelheid terminal
$hwstack = 32 ' default use 32 for the hardware stack
$swstack = 10 ' default use 10 for the SW stack
$framesize = 40 ' default use 40 for the frame space
Ledje Alias Pwm1a ' PWM poort naam van ledje geven
Config Timer1 = Pwm , Prescale = 1 , Compare A Pwm = Clear Down ' PWM generator instellen
Dim Helder As Byte ' lichtintensiteit van ledje
Do ' begin
For Helder = 0 To 255 Step 5 ' in stapjes van 5 naar donker
Pwm1a = Helder ' lampje aansturen
Waitms 30 ' effe wachte
Next Helder ' volgende stap
For Helder = 255 To 0 Step -5 'terugstappen naar vol licht
Pwm1a = Helder ' lampje instellen
Waitms 30 ' effe wachte
Next Helder ' volgende stapje
Loop ' overnieuw
End
=======================================
tot zo ver deze vertalingen
mocht er geen belangstelling zijn, dan was dit mijn laatste mailing.
groeten, Dré