Arduino – Calculate VCC
A little known feature of many AVR chips is the ability to measure the internal analog voltage reference. This trick can be used in all sorts of ways such as: Monitoring battery voltage to your Arduino Checking to see if …
Diverse onderwerpen (Arduino)
A little known feature of many AVR chips is the ability to measure the internal analog voltage reference. This trick can be used in all sorts of ways such as: Monitoring battery voltage to your Arduino Checking to see if …
What is PWM Pulse width modulation (PWM), or pulse-duration modulation (PDM), is a method of reducing the average power delivered by an electrical signal, by effectively chopping it up into discrete parts. The average value of voltage (and current) fed to the load is controlled by turning the …
Source: https://www.hobbytronics.co.uk The Arduino core code contains a nice little round robin data buffer where you can keep throwing data at it and the arduino code will read the data and process it in order. However, this data buffer is …
Deze pagina beschrijft hoe je een ATmega328 AU chip kan programmeren met de Aruduino als ISP (In System Programming) Wat heb je nodig? 1) ATmel328P AU chip 2) Arduino + breadboard & jumpwires (hardware) 3) Arduino IDE (software) Pinout Programmeren …
Het volgende voorbeeld laat zien hoe je HEX strings naar een serieel RS232 apparaat stuurt en dan het “antwoord” uit kan lezen in HEX strings. C++ / Arduino
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
#include <SoftwareSerial.h> byte command[2] = {0xAA, 0x41}; byte response[5]; SoftwareSerial rs232device(10, 11, SERIAL_8N1); // TX, RX. void setup() { Serial.begin(9600); rs232device.begin(9600); } void loop() { rs232device.write(command, sizeof(command)); rs232device.readBytes(response, 5); Serial.print(response[0], HEX);Serial.print(" "); Serial.print(response[1], HEX);Serial.print(" "); Serial.print(response[2], HEX);Serial.print(" "); Serial.print(response[3], HEX);Serial.print(" "); Serial.println(response[4], HEX); delay(500); } |
Python / Raspberry Pi
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 |
#!/usr/bin/env python import serial import time #------------------------------------------------------------------------------- def ByteToHex( byteStr ): """ Convert a byte string to it's hex string representation e.g. for output. """ # Uses list comprehension which is a fractionally faster implementation than # the alternative, more readable, implementation below # # hex = [] # for aChar in byteStr: # hex.append( "%02X " % ord( aChar ) ) # # return ''.join( hex ).strip() return ''.join( [ "%02X " % ord( x ) for x in byteStr ] ).strip() #------------------------------------------------------------------------------- def HexToByte( hexStr ): """ Convert a string hex byte values into a byte string. The Hex Byte values may or may not be space separated. """ # The list comprehension implementation is fractionally slower in this case # # hexStr = ''.join( hexStr.split(" ") ) # return ''.join( ["%c" % chr( int ( hexStr[i:i+2],16 ) ) \ # for i in range(0, len( hexStr ), 2) ] ) bytes = [] hexStr = ''.join( hexStr.split(" ") ) for i in range(0, len(hexStr), 2): bytes.append( chr( int (hexStr[i:i+2], 16 ) ) ) return ''.join( bytes ) #------------------------------------------------------------------------------- # USB D- = RXD TTL STICK # USB D+ = TXD TTL STICK ### POORT INSTELLINGEN ser = serial.Serial() ser.port = "/dev/ttyUSB0" ser.baudrate = 9600 ser.parity=serial.PARITY_NONE ser.stopbits=serial.STOPBITS_ONE ser.bytesize=serial.EIGHTBITS ser.timeout=1 try: ser.open() print("Connected to: " + ser.portstr) except Exception, e: print "error open serial port: " + str(e) exit() while 1: ### METHODE #1 ser.write([0xAA, 0x41]) ### METHODE #2 #ser.write(serial.to_bytes([0xAA,0x41])) ### METHODE #3 #ser.write("\xAA\x41") ### METHODE #4 #ser.write(chr(0xAA)) #ser.write(chr(0x41)) ### METHODE #5 #msg = bytearray([0xAA, 0x41]) #ser.write(msg) #data = ser.read(8) ### AANTAL BYTES LEZEN data = ser.readline() ## HELE LIJN LEZEN #data = ser.readall() ### ALLES LEZEN print "SIZE: ", len(data) print "RAW: " + data print "HEX1: " + ByteToHex(data) print "HEX2: " + data.encode('hex') time.sleep(2) |
1 2 3 4 |
SIZE: 7 RAW: WAWA HEX1: 57 41 57 41 00 00 00 HEX2: 57415741000000 |
ATMEGA328 Minimale onderdelen voor een ATMEGA 328P: Bron All you need apart from the programmer and the chip is a couple of decoupling caps, and some way of connecting the programming signals to the breadboard. So: 1 largish electrolytic cap …
AVR Microcontroller – ATMEGA minimale onderdelen Lees meer »
Dit voorbeeld laat zien hoe je met een USBTinyISP eenvoudig een bootloader kan zetten op een ATmega chip van een arduino. Hardware Drivers Aansluiten op de Arduino Let op: bovenstaande foto is een voorbeeld, controleer altijd de pinout! Bootloader erop …
Arduino – Bootloader op ATmega chip zetten (USBTinyISP) Lees meer »
Het komt wel eens voor na installeren van andere/overige usb software de Arduino niet meer gevonden wordt op de COM poort, je krijgt dan ene code 52 foutmelding, hier is een methode om deze foutmelding op te heffen. De foutmelding …
Website S4A is a Scratch modification that allows for simple programming of the Arduinoopen source hardware platform. It provides new blocks for managing sensors and actuators connected to Arduino. There is also a sensors report board similar to the PicoBoard one. The main aim …
Arduino – Visueel programmeren met Scratch4arduino Lees meer »
Je kan een Arduino gebruiken om een (AVR) microcontroller (zonder bootloader) te programmeren met ISP (In-System-Programmer) Wat heb je nodig? 1) Arduino UNO (Micro of Nano) 2) Arduino IDE De software voor de arduino om deze als ISP te programmeren …